如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
IDEA算法中明文和密文长度为64bit,密钥长度为128bit。IDEA算法同时用于加密和解密。设计IDEA的基本思想是混合使用三种不同代数群中的运算:在群中的按位异或运算、在群模加运算和在群模乘运算(注意:这里是素数,故该群中同样有个元素)。通过对两个16位子块连续使用着三种不相容的群运算获得“混淆”的作用。上述运算用硬件和软件都容易实现。目前软件实现的IDEA比DES快两倍。2.2.1IDEA加密算法IDEA输入128位密钥Z,64位明文,其中均为16位。IDEA加密算法中,开头是相同的8轮,其后是输出变换。第i轮使用6个16位子密钥,把64位输入转换成4个16位的输出,并且成为下一论的输入。第8轮的输出作为输出变换的输入,使用4个子密钥产生最终的密文。所有子密钥都是有128位密钥K导出的。2.2.2密钥扩展方法2.2.3IDEA解密算法这里表示的模加法的逆意味着,所以取最后16位,表示模乘法的逆,即。当时表示,所以,当时,我们先用扩展的Euclidean算法求出满足的。若>0,则否则。2.3RC5算法人们通常选择RC5-32/12/16。一般对w=32推荐r=12;w=64推荐r=16。密文长度为2w,而运算只在w位的字上执行。它有面向字的体系结构。该算法的特点有:l安全性依赖于旋转运算和不同运算的混合,它们是模加法“+”、按位异或、循环左移x<<<y,每次环的次数都依赖于输入的数据,事先不能预测.l适合硬件、软件实现,速度非常快.RC5算法:由密钥扩展算法、加密算法、解密算法组成.密钥扩展算法——使用用户密钥得到长为2r+2个字节的扩展密钥,放入密钥表S[0],S[1],…,S[2r+1]。要求密钥扩展函数有单向性,这里介绍它的三个步骤:将b个字节的密钥K[0],K[1],…,K[b-1]拷贝成个字节长的矩阵L[0],L[1],…,L[c-1]。没有被填充的全为0。2)利用常数(大于等于的最小奇数)和(大于等于的最小奇数)获得初始化矩阵SS[0]=;t=2r+2Fori=1tot-1doS[i]=S[i-1]+;这里w163264B7E1B7E15163B7E151628AED2A6B9E379E3779B99E3779B97F4A7C153)把用户密钥混入S中i=j=0;A=B=0;Do3max(t,c)遍A=S[i]=(S[i]+A+B)<<<3B=L[j]=(L[j]+A+B)<<<(A+B);i=i+1modt;j=j+1modc;加密算法——输入放入两个wbit的寄存器A,B中。A=A+S[0];B=B+S[1];Fori=1tordoA=((AB)<<<B)+S[2i];B=((BA)<<<A)+S[2i+1];得到密文为C=(A,B)。解密算法——只将加密算法中模加和左移分别改成模减和右移Fori=rto1doB=(B-S[2i+1])>>>A)AA=((A-S[2i])>>>B)B;最后明文M=(A-S[0],B-S[1]);2.4分组密码运行模式ECB(ElectronicCodebookMode)该模式是直接使用分组加密算法工作方式。密钥为K,输入t个长度为n的明文块,输出t个长度为n的密文块,其中。解密时。这种运行模式有如下性质:CBC(CipherBlockChainingMode)本模式在加密以前要与前面的密文进行按位加。加密产生的密文再放入反馈寄存器,准备与下一个明文块运算。已知初始向量IV和加密密钥K。加密时,。解密时该运行模式有如下性质:l具有自同步功能。密文块传输中一位出错影响两块正确解密。又能正确解密。l某明文块的变化引起后面的所有密文块随之发生变化。这个性质可用于消息认证码(MessageAuthenticationCode简称MAC)。令,定义是MAC。发送者将信息与MAC一同发送。接受者用同一个密钥重新构造并检查是否与接受的MAC相等,以此检验收到消息是否完整。OFB(OutputFeedbackMode)和u位反馈(FIPS81)美国联邦信息处理标准FIPS81与上面类似,只是先把移位寄存器向左移m位,再将的最左m位作为反馈放入移位寄存器的右端。OFB运行模式的性质有:l通过改变初始向量是相同明文加密产生不同的密文l明文块改变只引起密文块发生变化,其它密文块不发生变化。一般用于卫星消息发送。l将分组加密算法作为一个密钥流发生器,密钥流与明文、密