-3

流密码和分组密码有什么区别?因为在分组密码中数据在卡盘中,而在流密码中逐位加密,所以在流密码中输入了多少数据?

4

1 回答 1

1

Stream Cipher中的流是指密钥,而不是数据。在块密码中,密钥一次加密一个数据块(通常为 8 或 16 个字节),通常使用密码模式在块之间修改密钥。在流密码中,使用某种机制来生成密钥流,然后数据通常只与密钥流进行异或运算。密钥流可以是发送方和接收方事先知道的一次性密码,或者是发送方和接收方都知道初始状态的随机数生成器的输出。甚至大多数分组密码都可以在 CTR 或 OFB 模式下使用,因此它们有效地成为流密码。

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

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

于 2015-02-25T11:01:27.497 回答