📅  最后修改于: 2021-01-12 04:42:41             🧑  作者: Mango
分组密码的基本方案描述如下-
分组密码采用一个明文比特块并生成一个通常大小相同的密文比特块。在给定的方案中,块的大小是固定的。块大小的选择不会直接影响加密方案的强度。密码的强度取决于密钥长度。
尽管可接受任何大小的块,但是在选择块的大小时要牢记以下几个方面。
避免非常小的块大小-假设块大小为m位。那么,可能的明文比特组合为2 m 。如果攻击者发现与某些先前发送的密文块相对应的纯文本块,则攻击者可以通过建立使用该加密密钥发送的纯文本/密文对的字典来发起一种“字典式攻击”。较大的块大小使攻击更加困难,因为字典需要更大。
块大小不要太小–块大小太大时,密码将变得无效。此类明文在加密之前需要先填充。
8位的倍数-首选的块大小是8的倍数,因为大多数计算机处理器以8位的倍数处理数据,因此易于实现。
固定大小的块密码处理块(例如64位)。明文的长度通常不是块大小的倍数。例如,一个150位的明文提供了两个64位的块,每个块具有22个平衡的第三块。最后一个比特块需要填充冗余信息,以使最终块的长度等于方案的块大小。在我们的示例中,剩余的22位需要添加其他42个冗余位以提供完整的块。将比特添加到最后一个块的过程称为padding 。
太多的填充会使系统效率低下。同样,如果总是使用相同的位进行填充,则填充有时会导致系统不安全。
有大量正在使用的分组密码方案。其中许多是众所周知的。下面列出了最流行和最著名的分组密码。
数字加密标准(DES) -1990年代流行的分组密码。现在,由于其较小的密钥大小,它现在被视为“破损”分组密码。
三重DES-这是基于重复DES应用的变体方案。它仍然是受人尊敬的分组密码,但是与可用的新的更快的分组密码相比效率低下。
先进的加密标准(AES) -这是一种基于Rijndael加密算法的较新的分组密码,赢得了AES设计竞赛。
IDEA-这是一个足够强大的块密码,块大小为64,密钥大小为128位。许多应用程序都使用IDEA加密,包括早期版本的Pretty Good Privacy(PGP)协议。由于专利问题,IDEA方案的使用受到限制。
Twofish-这种分组密码方案使用128位的分组大小和可变长度的密钥。它是AES决赛选手之一。它基于较早的块密码Blowfish,块大小为64位。
蛇-块密码为128位,密钥长度为128位,192位或256位,也是AES竞赛的决赛入围者。它比其他分组密码更慢,但设计更安全。
在接下来的部分中,我们将首先讨论分组密码模型,然后讨论最有影响力的两个现代分组密码DES和AES。