Stream Cipher 和 Block Cipher 在信息安全方面的比较是什么?

流密码

流密码是一种一次加密一位或一个字节的数字数据流的密码。Stream Cipher 通常在此时加密消息的一个字节,而不是使用块。

例如,经典流密码是自动关键的 Vigenère 密码和 Vernam 密码。在概念情况下,可以使用 Vernam 密码的一次性填充版本,其中密钥流考虑明文比特流。

如果密码密钥流是任意的,那么除了实现密钥流之外,该密码是不可破解的。然而,密钥流应该通过一些独立和安全的渠道提前提供给两个用户。

如果预期的数据流量非常高,这会导致无法克服的后勤问题。比特流生成器应该作为一个算法过程来执行,以便两个用户都可以创建加密比特流。

在这种方法中,比特流生成器是一种密钥控制的算法,应该生成一个加密功能强大的比特流。现在,需要的两个用户只共享生成密钥,并且每个用户都可以创建密钥流。

分组密码

分组密码是一种将明文块视为一个整体并用于创建相同长度的密文块的密码。通常,使用 64 或 128 位的块大小。Block Cipher 获取一条消息并将其划分为固定大小的块,并在瞬间更改消息的一个块。

分组密码在 n 位的明文块上工作以创建 n 位的密文块。可能有几个明文块,并且为了改变加密(即,为了解密),每个都应该创建一个唯一的密文块。这种转换也称为可逆的或非奇异的。

分组密码基于称为伪随机排列 (PRP) 的数学对象。它们是可逆函数,创建一个 n 位值 m 和一个密钥 k 作为输入,并输出一个 n 位值 c。

如果用密钥 k 固定,则 PRP 被视为安全的,结果函数与 n 位值上的随机双射函数相同。分组密码执行安全的 PRP。

它们由能够使用密钥将明文块加密为密文块的加密功能组成。实现逆运算并从密文中获取明文块的解密函数。

流密码和块密码之间的主要区别基于每次加密中处理的信息的大小。流密码从比特流中一次加密一个比特,这导致加密的消息与明文消息具有比特到比特的一致性。

以上是 Stream Cipher 和 Block Cipher 在信息安全方面的比较是什么? 的全部内容, 来源链接: utcz.com/z/297400.html

回到顶部