目录
高级加密标准AES候选算法之一RC6
作为AES(AdvancedEncryptionStandard)的侯选算法RC6是在RC5的基础上改进的,其目的是为了更好地符合AES的要求。RC5设计简单,运算速度快,使用灵活,易于软硬件实现。RC6不但继承了RC5的这些优点,同时可以抵抗任何已知的攻击,满足AES的安全要求。RC6对RC5的改进主要有两个方面:一是RC6不再使用64位工作寄存器,而是使用4个32位寄存器;二是RC6中增加了32bit的整数乘法,整数乘法是一种非常高效的扩散方法,RC6利用这种乘法计算迭代轮数,所以它的加密轮数与所有明文有关,不像RC5只与较低位的明文有关,这使得RC6具有更快的扩散性,从而具有更可靠的安全性。
(1)密钥扩展算法
RC6的子密钥生成过程与RC5的相同,但子密钥的个数为2r+4。
详见RC5分组加密算法。
(2)加密算法
其中初始的A、B、C、D分别为要加密的四个比特数为w的数据,最终的A、B、C、D分别为加密好的四个比特数为w的数据。
(3)解密算法
其中初始的A、B、C、D分别为已经被加密的四个比特数为w的数据,最终的A、B、C、D分别为解密后的四个比特数为w的数据。