现代常规的分组加密算法.ppt
上传人:天马****23 上传时间:2024-09-11 格式:PPT 页数:28 大小:294KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

现代常规的分组加密算法.ppt

现代常规的分组加密算法.ppt

预览

免费试读已结束,剩余 18 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

我们主要考察如下三种加密算法1TRIPLEDES(1)二重DES(DoubleDES)对于二重DES的加密,所用密钥的长度为56×2=112bits这样是否真正能增强DES的强度呢?问题在于下式能否成立:EK2(EK1(P))=EK3(P)(4.1)DES是一个从集合A到集合A的一个映射。其中:映射DES事实上可视为对A的一个作用,作用方式为置换。所有可能的置换数为(264)!。然而,DES对每一个不同的密钥只决定唯一的映射。而密钥数256<107,(4.1)式不能成立。关于DES不是群的详细证明见上面给的文献。注:二重DES很难抵挡住中间相遇攻击法(Meet-in-the-MiddleAttack)E若给出一个已知的明密文对(P,C)做:对256个所有密钥K1做对明文P的加密,得到一张密钥对应于密文X的一张表;类似地对256个所有可能的密钥K2做对密文C的解密,得到相应的“明文”X。做成一张X与K2的对应表。比较两个表就会得到真正使用的密钥对K1,K2。对二重DES的中间相遇攻击的分析(2)带有双密钥的三重DES(TripleDESwithTwoKeys)E到目前为止,还没有人给出攻击三重DES的有效方法。对其密钥空间中密钥进行蛮干搜索,那么由于空间太大为2112=5×1033,这实际上是不可行的。若用差分攻击的方法,相对于单一DES来说复杂性以指数形式增长,要超过1052。注意:1*.Merkle和Hellman设法创造一个条件,想把中间相遇攻击(meet-in-the-middleattack)的方法用于三重DES,但目前也不太成功。2*.虽然对上述带双密钥的三重DES到目前为止还没有好的实际攻击办法,但人们还是放心不下,又建议使用三密钥的三重DES,此时密钥总长为168bits.C=EK3(DK2(EK1(P)))2RC5RC5具有如下的特性:对RC5的系统描述:RC5加密明文块的长度为32,64,128bits。并且对应同样长度的密文。密钥长度为从0到2040bits。一个特定的RC5表示为RC5-w/r/bRivest建议使用的标注RC5为RC5-32/12/16(明文分组长度64,加密轮数12,密钥长度128bits)(2)RC5的密钥扩展对给定的密钥K来说,经过一些复合运算可产生总数为t的字密钥,使得每一轮都分配一对密钥。除此之外的非轮运算部分也要分配一对密钥。总计产生t=2r+2个子密钥,每个密钥的长度为一个字长(wbits)。子密钥可标记在t-字阵列中:s[0],s[1],…,s[t-1]它为w×t矩阵这种阵列的产生图示为:初始化将参数r,w输入,左面标出的t-字阵列是一些伪随机bit,按r,w的规格选入的。然后把b-bits长的密钥K[0,…,b-1]转换成c-字阵列L[0,…,c-1](字的bit数为w,这里c=b×8/w;注意:密钥长度为b个字节)。如果b不是w的整数倍,那么L右端的空位用0填入。下面描述密钥生成的细节:对于给定的参数r和w,开始初始化运算Pw=Odd((e-2)2w)Qw=Odd((Φ-1)2w)这里e=2.718281828459…(自然对数的底)Φ=1.618033988749…(黄金分割比率)并且Odd[x]表示最接近x且可左可右的奇整数。例:Odd[e]=3,Odd[Φ]=1用上述两个常数,按下述方式得到初始化的阵列S:S[0]=PwFori=1tot-1doS[i]=S[i-1]+Qw其中的加法是模2w的加法运算。得到初始化阵列S,然后与最后产生的密钥阵列L做混合,最终得到子密钥阵列。注1*.为了增强复杂性,可对阵列S,L做多次处理:i=j=x=y=0do3×max(t,c)times:{S[i]=(S[i]+X+Y)<<<3;X=S[i];i=(i+1)(modt);L[j]=(L[j]+X+Y)<<<(X+Y);Y=L[j];j=(j+1)(modc);}2*.Rivest声称,这个扩张函数具有单向性。(3)RC5的加密加密运算图:将明文分组为左右A,B;用变量Lei,Rei参与运算程序为:LE0=A+S[0]RE0=B+S[1]fori=1tordoLEi=((LEi-1⊕REi-1)<<<REi-1)+S[2×i];REi=((REi-1⊕LEi)<<<LEi)+S[2×i+1];(4)RC5的解密明文(2w比特)3RC6分组密码简介Procedure:B=B+S[0]D=D+S[1]fori=1tordo{t=(B×(2B+1))<<<㏒2wu=(D×(2D+1))<<<㏒2wA=((A⊕t)<<<u)+S[2i]C=((C⊕u)<<<