流密码vs分组密码|状态密码vs分组密码
在密码学中,流密码和分组密码是属于对称密钥密码家族的两种加密/解密算法。通常,密码以明文作为输入,并生成密文作为输出。分组密码使用不变的变换加密固定长度的比特块。流密码加密长度可变的比特流,并对每个比特使用不同的变换。
什么是流密码?
流密码属于对称密钥密码家族。流密码使用异或(exclusive or)操作将纯文本比特与伪随机密码比特流相结合。流密码一次加密一个纯文本数字,对连续的数字进行不同的转换。因为每个数字的加密取决于密码引擎的当前状态,所以流密码也称为状态密码。通常,单个位/位用作个位数。一开始就应该避免使用比****更多的顾虑。最广泛使用的流密码是RC4。
什么是分组密码?
分组密码是另一种对称密钥密码。分组密码对固定长度的块(比特组)进行运算。分组密码对块中的所有数字使用固定(不变)变换。例如,当一个x位块纯文本(连同一个密钥)作为输入提供给分组密码引擎时,它生成相应的x位密文块。实际的转换取决于密钥。同样,解密算法以密文的x位块和上述密钥作为输入恢复明文的原始x位块。如果输入消息与块的大小相比太长,它将被分解成块,这些块将使用相同的密钥(单独地)加密。但是,由于使用相同的密钥,明文中的每个重复序列在密码文本中变成相同的重复序列,这可能会引起安全问题。常用的分组密码是DES(数据加密标准)和AES(高级加密标准)。
流密码和分组密码有什么区别?