加密算法分组密码和流密码

时间:2015-02-25 10:44:49

标签: encryption block-cipher stream-cipher

流密码和分组密码之间的区别是什么?在分组密码中,数据是在chuck中,而在流密码中逐位加密所以有多少数据作为流密码输入?

1 个答案:

答案 0 :(得分:1)

Stream Cipher中的流引用的是密钥,而不是数据。在分组密码中,密钥一次加密一个数据块(通常为8或16个字节),通常使用Cipher Mode来逐块修改密钥。在流密码中,某些机制用于生成密钥流,然后数据通常仅与密钥流进行异或。密钥流可以是事先已知给发件人和收件人的one-time-pad,或者是具有发件人和收件人已知的初始状态的随机数生成器的输出。即使大多数分组密码也可以在CTR或OFB模式下使用,因此它们有效地成为流密码。

为什么要使用流密码?好吧,最后的操作是一个简单的XOR,非常快。密钥流可以独立计算,甚至可以预先计算。因此,流密码很受欢迎,需要实时加密,例如加密电话。

为什么不使用流密码?好吧,最后的操作是一个简单的XOR,这意味着攻击者可以利用密钥流中的常规模式。必须注意确保密钥流不会重复,使用numbers used once和其他机制来保证唯一性。对于分组密码,这种情况并不那么重要:在CBC模式下,首选随机初始化向量,常量IV不像流密码那样危险。