资源描述:
《一种新的实用安全加密标准的算法》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、一种新的实用安全加密标准的算法.freelellia算法摘要:介绍了NESSIE标准中的分组密码算法——Camellia算法的加、解密过程,并对其在各种软、硬件平台上的性能进行了比较,结果表明Camellia算法在各种平台上均有着较高的效率。Camellia算法与其它技术相结合将在信息安全领域产生更广泛的应用。关键词:NESSIE分组密码Camellia算法加密继2000年10月美国推出二十一世纪高级数据加密标准AES后,2003年2月欧洲最新一代的安全标准NESSIE(NeesforSignatu
2、res、IntegrityandEncryption)出台。NESSIE是欧洲IST(InformationSocietyTechnologies)委员会计划的一个项目。Camellia算法以其在各种软件和硬件平台上的高效率这一显着特点成为NESSIE标准中两个128比特分组密码算法之一(另一个为美国的AES算法)。Camellia算法由NTT和MitsubishiElectricCorporation联合开发。作为欧洲新一代的加密标准,它具有较强的安全性,能够抵抗差分和线性密码分析等已知的攻击。与
3、AES算法相比,Camellia算法在各种软硬件平台上表现出与之相当的加密速度。除了在各种软件和硬件平台上的高效性这一显着特点,它的另外一个特点是针对小规模硬件平台的设计。整个算法的硬件执行过程包括加密、解密和密钥扩展三部分,只需占用8.12K0.18μmS工艺ASIC的库门逻辑。这在现有128比特分组密码中是最小的。1Camellia算法的组成Camellia算法支持128比特的分组长度,128、192和256比特的密钥与AES的接口相同。本文以128比特密钥为例对Camellia算法进行详细介绍
4、。Camellia算法128比特密钥的加、解密过程共有18轮,采用Feistel结构,加、解密过程完全相同,只是子密钥注入顺序相反。而且密钥扩展过程和加、解密过程使用相同的部件。这使得Camellia算法不论是在软件平台还是硬件平台只需更小的规模和更小的存储即可。(1)Camellia算法所采用的符号列表及其含义B8比特向量128128比特明文组C128128比特密文组K主密钥kellia算法所采用的变换函数·F变换F变换(见式(1))是Camellia算法中最主要的部件之一,.freelell
5、ia算法的F变换在设计时采用1轮的SPN(SubstitutionPermutationNetellia算法的P变换(见式(2))是一个线性变换。为了通信中软、硬件实现的高效性,它适合采用异或运算,并且其安全性能足以抵抗差分和线性密码分析。其在32位处理器、高端智能卡上的应用,跟在8位处理器上一样。·S变换Camellia算法采用的S盒(见式(3))是一个GF(28)上的可逆变换,它加强了算法的安全性并且适用于小硬件设计。众所周知,GF(28)上函数的最大差分概率的最小值被证明为2-6,最大线性概率
6、的最小值推测为2-6。Camellia算法选择GF(28)上能够获得最好的差分和线性概率的可逆函数作S盒,而且S盒每个输出比特具有高阶布尔多项式,使得对Camellia进行高阶差分攻击是困难的。S盒在GF(28)上输入、输出相关函数上的复杂表达式,使得插入攻击对Camellia无效。S:L→L(l'1(8),l'1(8),l'1(8),l'1(8),l'1(8),l'1(8),l'1(8),l'1(8)→*s1(l'1(8)),s2(l'2(8)),s3(l'3(8)),s4('4(8)),s2(l
7、'5(8)),s3(l'6(8)),s4(l'7(8),s1(l'8(l8(8)))其中,s2:y(8)=s1(x(8))=h(g(f(0xC5+x(8))))+0x6Es2:Y(8)=s2(x(8))=s1(x(8))1(3)s3:y(8)=s3(x(8))=s1(x(8))1s4:y(8)=s4(x(8))=s1(x(8))1算法中构造了四个不同的S盒,提高了Camellia算法抵抗阶段差分攻击的安全性。为了在小硬件上设计实现,GF(28)上的元素可以表示成系数为GF(24)上的多项式。这样,在
8、实现S盒时,只需运用子域GF(24)上很少的操作。s1变换中所采用的f、h、g函数分别如(4)、(5)、(6)式所示。(b1,b2,b3,b4,b5,b6,b7,b8)=g(a1,a2,a3,a4,a5,a6,a7,a8)其中,(b8+b7α+b6α2+b5α3)+(b4+b3α+b2α2+b1α3)β=1/((a8+a7α+a6α2+a5α3)+(a4+a3α+a2α2+a1α3))(6)规定(6)式中GF(2的8次方)上运算=1/0,β是GF(2的8次方)上方程x