信息安全Cryptographic Techniques
对称加密算法
Data Encryption Standard(DES)
DES 是一种典型的块加密方法:将固定长度的明文通过一系列复杂的操作变成同样长度的密文,块的长度为64位。同时,DES 使用的密钥来自定义变换过程,因此算法认为只有持有加密所用的密钥的用户才能解密密文。 DES 的密钥表面上是64位的,实际有效密钥长度为56位,其余8位可以用于奇偶校验。
DES 现在已经不被视为一种安全的加密算法,主要原因是它使用的56位密钥过短。
为了提供实用所需的安全性,可以使用 DES 的派生算法 3DES 来进行加密 (虽然3DES 也存在理论上的攻击方法)。
Advanced Encryption Standard(AES)
AES 在密码学中又称 Rijndael 加密法,用来替代原先的 DES,已经被多方分析且广泛使用。
AES 加密过程在一个称为 “体 (state)” 的44字节矩阵上进行,其初值是一个16字节的明文区块 (Rijndael 加密法因支持更大的区块,其矩阵行数可视情况增加)。加密时,各轮 AES 加密循环 (除最后一轮外) 均包含4个步骤。
- AddRoundKey ‐ 矩阵中的每一个字节都与该轮密钥(round key) 做 XOR 运算;每个子密钥由密钥生成方案产生。
- SubBytes ‐ 通过一个非线性的替换函数,用查找表的方式把每个字节替换成对应的字节。