收藏 分享(赏)

北邮精品课程-现代密码学课件现代密码学第四讲:分组密码2.ppt

上传人:hskm5268 文档编号:8512415 上传时间:2019-06-30 格式:PPT 页数:30 大小:3.29MB
下载 相关 举报
北邮精品课程-现代密码学课件现代密码学第四讲:分组密码2.ppt_第1页
第1页 / 共30页
北邮精品课程-现代密码学课件现代密码学第四讲:分组密码2.ppt_第2页
第2页 / 共30页
北邮精品课程-现代密码学课件现代密码学第四讲:分组密码2.ppt_第3页
第3页 / 共30页
北邮精品课程-现代密码学课件现代密码学第四讲:分组密码2.ppt_第4页
第4页 / 共30页
北邮精品课程-现代密码学课件现代密码学第四讲:分组密码2.ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、1,分组密码(二),现代密码学第四讲,上讲内容回顾,分组密码定义 分组密码的发展历史 保密系统的安全性分析及分组密码的攻击,本节主要内容,DES算法的整体结构Feistel结构 DES算法的轮函数 DES算法的密钥编排算法 DES的解密变换,DES算法的整体结构Feistel结构,DES是从1975年被美国联邦政府确定为非敏感信息的加密标准,它利用56比特长度的密钥K来加密长度为64比特的明文,得到64比特长的密文. 1997年,由于计算机技术迅速发展,DES的密钥长度已经太短,NIST建议停止使用DES算法作为标准. 目前,二重DES和三重DES仍然广泛使用.,4,DES算法的整体结构Fei

2、stel结构,5,输 入,I P,16轮迭代,I P-1,输出,密 钥 编 排,K1K16,思考:攻击者可以剥离IP置换和逆置换?,DES算法的整体结构Feistel结构,1. 给定明文,通过一个固定的初始置换IP来重排输入明文块P中的比特,得到比特串P0=IP(P)=L0R0,这里L0和R0分别是P0的前32比特和后32比特,6,初始置换IP,DES算法的整体结构Feistel结构,2. 按下述规则进行16次迭代,即1i16这里 是对应比特的模2加,f是一个函数(称为轮函数); 16个长度为48比特的子密钥Ki(1i16)是由密钥k经密钥编排函数计算出来的.,Li-1,Ri-1,f,+,Li

3、-1,Ri-1,ki,第16轮迭代左右两块不交换,DES算法的整体结构Feistel结构,8,初始置换的逆置换IP,3.对比特串R16L16使用逆置换IP-1得到密文C,即C=IP-1 (R16L16)。(注意L16和R16的相反顺序),分组密码的轮函数,函数f以长度为32比特串Ri-1作为第一输入,以长度为48比特串Ki作为第二个输入,产生长度为32比特的输出:,9,分组密码的轮函数,10,Ri-1,Ki,E (Ri-1),B1,B2,B3,B4,B5,B6,B7,B8,S1,S2,S3,S4,S5,S6,S7,S8,C1,C2,C3,C4,C5,C6,C7,C8,f (Ri-1 ,Ki),

4、+,P,E,E扩展,密钥加,S盒代换,P置换,分组密码的轮函数,E扩展:Ri-1根据扩展规则扩展为48比特长度的串;,分组密码的轮函数,密钥加:计算 ,并将结果写成8个比特串,每个6比特,B=B1B2B3B4B5B6B7B8.,分组密码的轮函数,S盒代换:使用8个S盒S1S8. 每个Si是一个固定的4*16阶矩阵,其元素取015之间的整数. 给定长度为6的比特串,如Bj=b1b2b3b4b5b6,Sj(Bj)计算如下:1) b1b6两个比特确定了Sj的行r的二进制表示(0r3),2) b2b3b4b5四个比特确定了Sj的列c的二进制表示(0c15),3) Sj(Bj)定义成长度为4的比特串的值

5、Sj(r,c)。由此可以算出Cj=Sj(Bj),1j8.,13,14,分组密码的轮函数,15,P置换:长度为32比特串C=C1C2C3C4C5C6C7C8, 根据固定置换P(*)进行置换,得到比特串P(C).,DES算法的密钥编排算法,根据密钥K来获得每轮中所使用的子密钥Ki:,16,K,PC-1,C0,D0,C1,D1,C16,D16,LS1,LS1,LS2,LS16,LS2,LS16,PC-2,PC-2,K1,K16,DES算法的密钥编排算法,1. 给定64比特密钥K,根据固定的置换PC-1来处理K得到PC-1(K)=C0D0,其中C0和D0分别由最前和最后28比特组成,DES算法的密钥编

6、排算法,2. 对1i16, DES的每一轮中使用K的56比特中的48个比特,具体选取位置由下表确定,DES算法的密钥编排算法,3. 计算Ci=LSi(Ci-1)和Di=LSi(Di-1),且Ki=PC-2(CiDi),LSi表示循环左移两个或一个位置, 具体地, 如果i=1,2,9,16就移一个位置,否则就移两个位置, PC-2是另一个固定的置换.,DES算法的密钥编排算法,DES的解密变换,DES的解密与加密一样使用相同的算法,它以密文y作为输入,但以相反的顺序使用密钥编排K16,K15,K1, 输出的是明文x,为什么?,课堂练习,设明文为0123456789ABCDEF(16进制),密钥为

7、133457799BBCDFF1,求第一轮加密后的数据流.,课堂练习,应用IP,得到二进制的L0R0为: L0=11001100000000001100110011111111 L1=R0=11110000101010101111000010101010,课堂练习,第1轮,主要知识点小结,DES算法的整体结构Feistel结构 DES算法的轮函数 DES算法的密钥编排算法,作业,1 编程进行16轮迭代的中间值及密文2证明Feistel结构的加解密算法完全相似(除密钥使用顺序不同).,密文:85E813540F0AB405(16进制),作业,3 如果16轮使用的子密钥K16K1,K15K2,K9K8, 则加密所用的子密钥与解密所用的子密钥相同, 对一个明文X加密两次,得到的还是明文X. 弱密钥的定义:若k使得加密函数与解密函数一致,则称k为弱密钥. 证明下列密钥为弱密钥:1) 0x000000000000 2) 0xFFFFFFFFFFFF 3) 0x000000FFFFFF 4) 0xFFFFFF000000,THE END!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 社会民生

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报