分组密码的常见示例有哪些?
以下是一些常用的分组密码示例:
CAST分组密码 − CAST分组密码是对DES分组密码的改进,由Carlisle Adams和Stafford Tavares在加拿大提出。密码名称似乎取自发明者的姓名首字母。CAST算法的块大小为64位,密钥大小为64位。
CAST基于Feistel结构来执行替换置换网络。作者定义他们需要Feistel机制,因为它被认为是完善的,并且没有基本的结构缺陷。
Blowfish − Blowfish是由Bruce Schneier提出的64位分组密码。Blowfish设计用于在32位微处理器上快速加密。Blowfish也很安全,并且具有可变的密钥长度,可以扩展到448位。
Blowfish适用于密钥通常不更改的应用程序,例如通信链路或文件加密器。但是,对于像分组交换这样的软件或作为单向哈希函数,它并不合适。
Blowfish并不适合智能卡,智能卡需要更紧凑的密码。在32位微处理器上执行时,Blowfish比DES更快。
IDEA − IDEA代表国际数据加密算法。它是另一种分组密码。它处理64位数据块,密钥长度为128位。它由Xuejia Lai和James Massey提出,并在1990年命名为IDEA,之后根据Biham和Shamir关于差分密码分析的开创性工作,对密码的最初提案进行了修改和改进。
IDEA背后的设计原理是将来自不同代数集的算术运算组合起来。这些算术运算在硬件和软件中都很容易执行。
IDEA具有非常简单的密钥调度。它创建一个128位密钥并将其分成八个16位块。前六个块用于第一轮,其余两个用于第二轮。因此,整个128位密钥向左旋转25步,然后再次分成八个块。
前四个块用作第二轮的剩余子密钥,而最后四个块将用于第三轮。密钥向左移动25位,并获得另一个子密钥。该过程一直持续到算法结束。
RC5 − RC5是由Ron Rivest发明的。它是一种基于对称密钥的分组加密算法。它的主要特点是速度很快,因为它只需要基本的计算机运算。它允许可变的轮数和可变的位大小密钥以提高灵活性。
使用RC5的另一个好处是它需要的内存更少。此功能允许RC5用于多种用途,例如桌面操作、智能卡等。