简述RC6加密算法

RC6加密算法隶属于RC系列算法,是Ron Rivest为RSA公司设计的一系列密码算法。在上个世纪末AES算法公开选拔中,RC6加密算法成为最终入选的五个算法之一,今天我们就来了解一下它。

RC6加密算法

要了解RC6加密算法,我们先来了解一下它同系列的“前辈们”。

现在我们用到的RC系列算法包括RC2、RC4、RC5、RC6算法,其中RC4是序列密码算法,其他三种是分组密码算法。

  • RC2算法

该算法设计的目的是用来取代DES算法,它采用密钥长度可变的对明文采取64位分组的分组加密算法,属于Festel网络结构。

  • RC4算法

该算法是一个密钥长度可变的面向字节流的加密算法,以随机置换为基础。该算法执行速度快,每输出1字节的结果仅需要8~16字节的机器指令。

  • RC5算法

该算法是一种分组长度、密钥长度、加密迭代轮数都可变的分组加密算法。该算法主要包含三部分内容:密钥扩展、加密算法和解密算法。

  • RC6算法

RC6秉承了RC5设计简单、广泛使用数据相关的循环移位思想,同时增强了抵抗攻击的能力,改进了RC5中循环移位的位数依赖于寄存器中所有位的不足。

RC6加密算法

RC6加密算法原理

RC6分组长度为128bit,使用了4个寄存器,并使用32bit的整数模乘运算,用于加强扩散特性。RC6更精确的表示是RC6-w/r/b,其中字长为w(bit),r为加密轮数,b为加密密钥,用字节表示的长度。通常令w=32,r=20,b=16(24,32)。

RC6继承了RC5的优点,在加密过程中不需要查表,加上算法中的乘法运算可以用平方代替,所以该算法对内存要求极低,这使得RC6适合在单片机上实现。

对RC6最为有效的攻击是强力攻击,但由于分组长度和密钥都至少是128bit,穷举法并不可行。对20轮的RC6,用线性分析法至少需要2^155个明文,用查分分析法至少需要2^238个明文。

RC6加密算法

RC6加密算法的特点

RC6加密算法秉承了RC5设计简单、广泛使用数据相关的循环移位思想,同时增强了抵抗攻击的能力,改进了RC5中循环移位的位数不依赖于寄存器中所有位的不足。

RC6加密算法新的特色是输入的明文由原先2个区块扩展为4个,另外在运算方面则是使用了整数乘法,而整数乘法的使用则在每一个运算回合中增加了扩散(diffusion)的行为,并且使得即使很少的回合数也有很高的安全性。

同时,RC6加密算法中所用的操作可以在大部分处理器上高效率地实现,提高了加密速度。

RC6加密算法是一种安全、架构完整而目简单的区块加密法。它提供了较好的测试结果和参数方面相当大的弹性,可以抵抗近乎所有已知的攻击。

免责声明:素材源于网络,如有侵权,请联系删稿。

相关推荐

浅析RC5算法和RC6算法的安全性

RC5和RC6都是安全、简单、高效的分组密码算法,且参数可以灵活设置。 RC5算法的安全性分析 RC5最显著的两个特点是算法简单和数据确定移位。从混淆和扩散性出发,逐比特异或部件与(mod 2w)加法部件的组合存在明显漏洞 ...

浅析RC6加密算法

1997年NIST(NationalInstituteofStandardsandTechnology)向全世界招募在21世纪替代DES的高级加密标准AES(AdvancedEncryptionStandard),1999年,NIST宣布有5个加密算法作为最后的候选者接受全世界将近一年的考察 ...

简述Akelarre加密算法

Akelarre加密算法是一种分组密码算法,是由Alvarez G和Montoya F等人于1996年年提出的。我们今天就来简单了解一下Akelarre加密算法。 Akelarre加密算法简介 Akelarre加密算法是一种结构类似于IDEA的分组密码算法,和 ...

简述Skipjack加密算法

Skipjack加密算法是由美国国家安全局(NSA)从1985年开始设计,1990年完成评估,于1993年由美国政府正式对外宣布的。曾几何时,Skipjack算法也被列为“机密”等级,但在1998年Skipjack算法被公开。今天我们就来了解一下S ...

微信扫一扫,分享到朋友圈

简述RC6加密算法