html5-img
1 / 26

2.2 IDEA

2.2 IDEA. 1990 年 Xuejia Lai (来学加) & J.L.Massey 提出 PES ( Proposed Encryption Standard) ,其后为抵抗差分 分析提高了 PES 密码算法强度成为 IPES ( Improved PES ) 1992 年 IPES 改名为 IDEA ( International Data Encryption Algorithm). IDEA 算法中明文和密文长度为 64 bit , 密钥长度为 128 bit 。

milek
Download Presentation

2.2 IDEA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 2.2 IDEA 1990年Xuejia Lai(来学加)& J.L.Massey提出 PES ( Proposed Encryption Standard),其后为抵抗差分 分析提高了PES密码算法强度成为IPES ( Improved PES ) 1992年IPES改名为IDEA ( International Data Encryption Algorithm).

  2. IDEA算法中明文和密文长度为64 bit , 密钥长度为128 bit。 IDEA算法同时用于加密和解密。设计IDEA的基本思想是混 合使用三种不同代数群中的运算:在群 中的按位异或 运算、在群 模加 运算和在群 模 乘 运算 (注意:这里 是素数,故该群中同样有 个元素)。通 过对两个16位子块连续使用着三种不相容的群运算获得“混淆” 的作用。上述运算用硬件和软件都容易实现。目前软件实现 的IDEA比DES快两倍。

  3. 2.2.1 IDEA加密算法 IDEA输入128位密钥Z,64位明文 ,其中 均为16位。IDEA加密算法中,开头是相同的8轮, 其后是输出变换。第i轮 使用6个16位子密钥 , 把64位输入转换成4个16位的输出,并且成为下一论的输入。 第8轮的输出作为输出变换的输入,使用4个子密钥 产生最终的密文 。所有子密钥都是有128位密钥 K导出的。

  4. 2.2.2密钥扩展方法 IDEA算法中每轮使用6个子密钥 ,共有8轮。 最后产生输出时用4个子密钥 ,总共需要52个 子密钥。IDEA的密钥,生成方法是: (1)秘密选择128位初始密钥K . (2)将K从左到右依次划分成8个16 位 密钥子块分别放入 (3) 重复上一步,直至生成52个16 bit 密钥子块为止.

  5. 2.2.3 IDEA解密算法 解密算法本质上与加密过程相同,输入密文 其中 均为16位,输出64位明文 , 其中 均为16位。只是使用的解密子密钥 是从加 密子密钥 按下面公式计算出来的 = =

  6. 这里 表示 的模 加法的逆 意味着 ,所以 取最后16位, 表示 模 乘 法的逆 ,即 。当 时表示 ,所以 ,当 时,我们先用扩展的Euclidean算 法求出满足 的 。若 > 0,则 否则 。

  7. 2.3 RC5算法 RC5是RSA的 Ron.Rivest于1994年设计的一种新的分 组算法。它的前身RC2、RC4分别是可变密钥长度的分 组和流加密算法。RC5是可变密文长度、可变轮数、可 变密钥长度的分组加密算法。一般表示为RC5-w/r/b, 其中 密文长度为2w,其中w = 16,32,64 bit, 轮数r = 0,1,…,255 密钥长度b = 0,1,…,255 byte

  8. 人们通常选择RC5-32/12/16。一般对w=32推荐 r=12; w=64 推荐r=16。密文长度为2w,而运算只在w位的字上 执行。它有面向字的体系结构。该算法的特点有: l安全性依赖于旋转运算和不同运算的混合,它们 是模加法“+”、按位异或、循环左移x<<<y,每次环 的次数都依赖于输入的数据,事先不能预测. l适合硬件、软件实现,速度非常快.

  9. RC5算法:由密钥扩展算法、加密算法、解密算法组成.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。

  10. 2)利用常数 (大于等于 的最小奇数)和 (大于等于 的最小奇数)获得初始化矩阵S S[0]= ; t = 2r+2 For i=1 to t-1 do S[i]=S[i-1]+ ; 这里 w 16 32 64 B7E1 B7E15163 B7E15162 8AED2A6B 9E37 9E3779B9 9E3779B9 7F4A7C15

  11. 3)把用户密钥混入S中 i=j=0; A=B=0; Do 3max(t,c)遍 A=S[i]=(S[i]+A+B)<<<3 B=L[j]=(L[j]+A+B)<<<(A+B); i=i+1 mod t; j=j+1 mod c;

  12. 加密算法—— 输入放入两个w bit的寄存器A, B中。 A=A+S[0]; B=B+S[1]; For i=1 to r do A=((A B)<<<B)+S[2i]; B=((B A)<<<A)+S[2i+1]; 得到密文为C=( A, B ) 。

  13. 解密算法—— 只将加密算法中模加和左移分别改成模减和右移 For i=r to 1 do B=(B-S[2i+1])>>>A) A A=((A-S[2i])>>>B) B; 最后明文M=(A-S[0] , B-S[1]) ;

  14. 2.4 分组密码运行模式 分组密码有四种运行模式: ECB(Electronic Codebook Mode) CBC(Cipher Block Chaining Mode) OFB(Output Feedback Mode) 和u位反馈(FIPS81) CFB(Cipher Feedback Mode)

  15. ECB(Electronic Codebook Mode) 该模式是直接使用分组加密算法工作方式。密钥为K,输 入t个长度为n的明文块 ,输出t个长度为n的密文块, 其中 。解密时 。这种运行 模式有如下性质:

  16. l在相同密钥K的情况下,相同明文块产生相同的密文。l在相同密钥K的情况下,相同明文块产生相同的密文。 不能隐藏明文的架构(Pattern). l明文块改变只引起密文发生变化,其它密文块不发生 变化。明文块重新排序与其相应的密文块也重新排 序。反之亦然。 l密文块在传输中一位出错,影响且只影响该块解密.

  17. CBC(Cipher Block Chaining Mode) 本模式在加密以前要与前面的密文进行按位加。加 密产生的密文再放入反馈寄存器,准备与下一个明文块 运算。已知初始向量IV和加密密钥K。加密时 , 。解密时 该运行模式有如下性质:

  18. l在相同密钥和初始向量之下,同样的明文块加密l在相同密钥和初始向量之下,同样的明文块加密 产生的密文块不同。故能够掩盖明文的数据架构。 l由于链接机制使密文依赖于以及前面的所有明文。所以密 文的重新排序影响解密,对消息的重发、嵌入、删除敏感 。 l 密文块 传输中一位出错影响 两块正确解密。这 是因为从出错的密文 解密得到随机的 ,而 不是正确解密,它出错的位置与 出错的 位置相同 。

  19. l具有自同步功能。密文块传输中一位出错影响两块正 l具有自同步功能。密文块传输中一位出错影响两块正 确解密。又能正确解密。 l某明文块的变化引起后面的所有密文块随之发生变化。 这个性质可用于消息认证码(Message Authentication Co de 简称MAC)。令 ,定义是MAC。发送者将 信息与MAC一同发送。接受者用同一个密钥重新构造并 检查是否与接受的MAC相等,以此检验收到消息是否完整。

  20. OFB (Output Feedback Mode) 和u位反馈(FIPS81) 该模式把分组加密算法作为密钥流生成器,输出直接放 入反馈寄存器的同时与明文按位加产生密文。该模式的完 全反馈已经正式成为国际标准化组织的标准(ISO-10116)。 密钥K和长为n的初始向量IV,t个长为m的明文块 产生t个长为m的密文块 。加密过程为 ,最左m位)。解密过程为 ,最左m位)。

  21. 美国联邦信息处理标准FIPS81与上面类似,只是先把美国联邦信息处理标准FIPS81与上面类似,只是先把 移位寄存器 向左移m位,再将 的最左m位作为反 馈放入移位寄存器的右端。OFB运行模式的性质有: l通过改变初始向量是相同明文加密产生不同的密文 l 明文块 改变只引起密文块 发生变化,其它密 文块不发生变化。一般用于卫星消息发送。

  22. l将分组加密算法作为一个密钥流发生器,密钥流与明 l将分组加密算法作为一个密钥流发生器,密钥流与明 文、密文无关。所以密钥流可以事先计算。IV不需要保 密。注意如果重新使用原来的密钥时必须改变初始向量。 l对密文篡改问题难于发现。如果密文传输中一位出错, 解密是仅仅是对应的位不对。错误不会传播。 l如果密文丢失一位,则因该模式没有自同步能力而全 部混乱。所以系统要严格保持同步 。

  23. CFB(Cipher Feedback Mode) 某些应用需要以r位明文为一块进行加密并且传输没 有延迟。通常r=1或8。这是使用CFB模式最有利。t个长度 为r的明文块 , 长为n的初始向量为IV,密钥为K。 ,最左r位), 该模式有如下性质: l改变初始向量使得相同的明文加密得到不同的密文。 IV不需要保密 。

  24. l密文不依赖于明文,也依赖于前面众多明文块。密文l密文不依赖于明文,也依赖于前面众多明文块。密文 重新排序影响解密。 l密文块中一位或多位出错,要影响后面 块密文的解 密。直到移出移位寄存时才能恢复正确解密 l与CBC相似,有自同步性,但必须在 块之后才能恢复 l适用于用户数据格式(如长度),可以对字符加密

  25. 2.5多重加密 为了增加密钥的长度,人们建议将一种分组密码进行级 联(Cascade)。在不同的密钥作用下,连续多次对一组明文 进行加密。通常把这种技术叫多重加密(Multiple Encryption)。这里的问题在于选用的加密算法是否成群, 即是否对于任何 存在 ,使得

  26. 对于DES加密算法,一个固定的密钥K定义了从 到 的一个置换。密钥有 个,它可以定义 个置 换。因为由它们生成的群的元素个数至少是 个,所 以它们在合成运算下是不封闭的 。992年Campbell和 Wiener证明了“DES算法不成群”,所以可通过多次使用 DES加密提高安全性。在X9.17,ISO8732标准中都采用 IBM设计的EDE方案。 该方案有2n位密钥。

More Related