分类
AES加密脱密算法是安全高效的AES之关键‖
1999年,美国国家标准与技
168位),三次重复DES算法
术协会(NIST)发布了3DES,3DES
将明文加密为密文,安全性比DE
采用两套或三套不同密钥(112位或
S有了提高。
| DES和3DES的主要缺点 而加密速度很慢,相比之下 点是安全性较差。加密的效 要更长的分组长度,DES和3 | 是实现速度较慢。由于最初的DE ,重复三遍DES加密操作的3DES 率和安全性与分组长度密切相关 DES采用64位的分组长度,显然 | S没有提供高效率的软件代码,因 速度更慢。DES和3DES的另一个缺 ,更高等级的安全性和效率通常需 不满足安全和效率的要求。 |
| 2001年,NIST发布了AE 192位和256位的密钥长度。 能够提供足够的安全性,而 现任何致命缺陷。由此看来 | S,即FIPS 197。AES采用128位 128位密钥长度的AES可能是最常 且比更长的密钥需要较少的处理 ,AES取代DES和3DES以增强安全 | 的分组长度,支持长度为128位、 采用的版本了。128位的密钥长度 时间。到目前为止,AES还没有出 性和效率已是大势所趋。 |
![]() |
| AES加密和脱密算法的输入都是一个1 (state array)的4×4字节矩阵,这个状 脱艿淖詈蠼锥魏螅飧鲎刺罅斜槐浠?br>阵。 | 28位的分组。这个分组被编排为一个称做状态阵列 态阵列在每一层加密或脱密时都进行修改。在加密或 为128位的线性串。128位密钥类似地被变为字节方矩 |
| 密钥经过10层处理后,扩展为10组不 段组成:ByteSub(字节代替)、RowShift( 密钥)。ByteSub阶段使用一张表(即所谓 一个输入字节被映射到惟一的一个输出字 ,算法对第二行执行1字节循环左移,对 左移。在MixColumns阶段中,代替算法作 节。在AddRoundKey阶段中,使用扩展密 利用“异或”(XOR)函数与状态阵列的对 | 同的密钥。一层典型的加密和脱密处理都是由四个阶 行移位)、MixColumns(列混合)和AddRoundKey(加层 的S盒)来执行对分组的字节进行代替。也就是说,每 节。在RowShift阶段中,状态阵列的第一行保持不动 第三行执行2字节循环左移,对第四行执行3字节循环 为作用于一列中所有字节的函数,改变列中的每个字 钥中的一块4× 4字节部分。扩展密钥拿恳桓鲎纸?br>应字节结合。 |
| 不论是加密还是脱密, 都包括所有四个阶段,最后 阶段。 | AES密码总是以AddRoundKey阶段 进行只有三个阶段组成的第10层 | 开始,然后进行9层运算,每一层 操作,第10层操作没有MixColumns |
| 只有AddRoundKey阶段使用密钥。因 AES密码利用四种阶段交替对数据分组进 接着在其他三个阶段对分组进行错乱处理 高效又高度安全。同大多数分组密钥一样 法并不与加密算法完全一样。 | 此,AES密码都是以AddRoundKey阶段开始和结束。 行处理:首先是利用XOR函数进行AddRoundKey操作, ,然后再利用XOR函数加密,如此反复。这种方案既 ,AES的脱密算法逆序使用扩展密钥。不过,脱密算 |
| 目前AES采用软件实现 方式。 | ,随着这种加密方案更广泛地应 | 用,用户将会看到AES硬件的实现 |
