第2讲-对称密码分析课件.ppt

上传人(卖家):三亚风情 文档编号:2950740 上传时间:2022-06-14 格式:PPT 页数:66 大小:3.23MB
下载 相关 举报
第2讲-对称密码分析课件.ppt_第1页
第1页 / 共66页
第2讲-对称密码分析课件.ppt_第2页
第2页 / 共66页
第2讲-对称密码分析课件.ppt_第3页
第3页 / 共66页
第2讲-对称密码分析课件.ppt_第4页
第4页 / 共66页
第2讲-对称密码分析课件.ppt_第5页
第5页 / 共66页
点击查看更多>>
资源描述

1、网络与信息安全技术网络与信息安全技术第二讲第二讲对称密码对称密码华中科技大学软件工程硕士课程华中科技大学软件工程硕士课程主要内容 对称分组密码对称分组密码-DESDES-AESAES 流密码流密码 随机数随机数1. 分组密码 定义:-将一个明文分组作为整体加密, 通常得到与之等长的密文分组; 除加密外的用途:-构造伪随机数生成器、流密码系统、消息认证码(MAC) 分组密码的设计原理 代换结构扩散 定义: 将明文的统计特性散布到密文中去, 使得明文的每一位影响密文中多位的值,使明文和密文之间的统计关系变得尽可能复杂, 以挫败推导出密钥的企图; 结果: 明文的统计特性将被散布到密文中, 单字母、双

2、字母、多字母在密文中出现的频率比在明文中出现的频率更接近于相等; 方式: 在分组密码中, 对数据重复执行某个置换, 可获得扩散; 定义定义:使密文和密钥之间的统计关系变得尽:使密文和密钥之间的统计关系变得尽可能复杂可能复杂, , 以阻止攻击者发现密钥。以阻止攻击者发现密钥。 方式方式:使用复杂的非线性代换算法可以混淆:使用复杂的非线性代换算法可以混淆的效果。的效果。 扩散和混淆成功地实现了分组密码的本质属性, 因而成为设计现代分组密码的基础.混 淆 Feistel密码结构Feistel解密结构 Feistel解密过程本质上和加密过程是一样的, 算法使用密文作为输入,但使用子密钥Ki的次序与加密

3、过程相反,即第1轮使用Kn, 第2轮使用Kn-1, , 最后一轮使用K1. 这一特性保证了解密和加密可采用同一算法和硬件结构.2 数据加密标准DES 数据加密标准(data encryption standard, DES), 最为广泛使用和流行, 美国IBM公司研制, Lucifer密码(128位密钥)的一种发展和修改(56位密钥); 设计目标-用于加密保护静态存储和传输信道中的数据, 安全使用1015年. DES的参数 密钥:56比特,明文:64位,密文:64位DES加密算法框图初始置换IP和IP-1DES加密算法的轮结构扩展置换32位扩展到48位基本方法:32位输入被4位4位地分成8组,

4、 然后每组从相邻地两组中取得位置最远地一位而变成6位.目的:使S盒的输出在下一轮中尽可能影响更多的数据位F中的代换由8个S盒组成, 每个S盒的输入长为6比特、输出长为4比特, 每个S盒给出了4个代换(由一个表的4行给出)S-Box-iS-盒的构造P-盒置换子密钥的产生DES的解密 DES的解密算法和加密算法完全相同,只是各子密钥的使用顺序相反, 即为 k16,k15,k14,k2,k1. 算法也是循环右移产生每一圈的子密钥,每次右移动的位数为 弱密钥,半弱密钥,互补密钥,总共64个 DES的4种运行模式, 这些模式也可用于其他分组密码; ECB,CBC,OFB,CFBDES的运行模式电码本(E

5、CB)模式 相同明文相同密文 密文块损坏仅对应明文块损坏 适合于传输短信息密码分组链接(CBC)模式相同明文不同密文密文块损坏两明文块损坏加密长消息非常合适; 保密性和认证密码反馈(CFB)模式 分组密码 流密码 一个单元损坏影响多个单元 分组密码 流密码 一个单元损坏只影响对应单元输出反馈(OFB)模式计数器(CTR)模式计数器模式的主要特点 可以并行实现,适用于高速网络可以并行实现,适用于高速网络 可以随机访问加密的数据分组可以随机访问加密的数据分组 为了提高DES的安全性,并利用现有DES的软硬件资源,可将DES算法在多密钥下多重使用. 最简单的形式是二重DES二重DES算法21 KKC

6、EEP12 KKPDDC二重DES所用密钥长度为112比特,强度极大地增加二重DES的中间相遇攻击 如果已知一个明文密文对(P,C), 攻击的实施可如下进行:1. 用256个所有可能的K1对P加密,将加密结果存入一表并对表按X排序;2. 用256个所有可能的K2对C解密,在上述表中查找与C解密结果相匹配的项,如果找到,则记下相应的K1和K2。3. 再用一新的明文密文对(P,C)检验上面找到的K1和K2,用K1和K2对P两次加密,若结果等于C,就可确定K1和K2是所要找的密钥。如果有那么21 KKCEEP12 KKXEPDC两个密钥的三重DES121 KKKCEDEP三个密钥的三重DES321

7、KKKCEDEPAES的历史 1997年NIST宣布征集AES算法-要求: 与三重DES比,要快且至少一样安全,分组128位,密钥128/192/256位 1998年确定第一轮15个候选者 1999年确定第二轮五个候选者: MARS, RC6, Rijndael, Serpent, Twofish 2000年底Rijndael胜出AES算法- Rijndael简介 不属于Feistel结构 加密、解密相似但不对称 支持128数据块大小 支持128/192/256密钥长度 有较好的数学理论作为基础 结构简单、速度快AES算法结构 主要有四个基本运算:-字节代换-行移位-列混淆-轮密钥加Rijnd

8、ael加解密结构AddRoundKey()For(i=1;iNr;+i) ByteSub();ShiftRow();MixColumn();AddRoundKey() ByteSub();ShiftRow();AddRoundKey() I_AddRoundKey()I_ShiftRow();I_ByteSub();For(i=1;iNr;+i) I_AddRoundKey()I_MixColumn();I_ShiftRow();I_ByteSub();I_AddRoundKey() I_AddRoundKey()For(i=1;iNr;+i) I_ShiftRow();I_ByteSub()

9、;I_AddRoundKey() I_MixColumn();I_ShiftRow();I_ByteSub();I_AddRoundKey()AES算法过程的动画演示其他的分组密码 IDEA算法 Blowfish算法 RC5算法 .流密码 将明文划分为bit或byte的编码单位,分别与密钥流作用进行加密,解密时以同步产生的同样的密钥流实现。流密码 安全强度完全依赖于密钥流生成器生成序列的随机性和不可预测性。-加密关键:密钥流生成器的设计-解密关键:保持收发两端密钥流的精确同步流密码的特点 优点: 速度更快,需要编写的代码更少 缺点: 不能重复使用密钥 使用场合-流密码: 需要对数据流进行加解密

10、的应用,如数据通信或网页浏览器/Web链接-分组密码: 处理成块的数据,如文件传输、电子邮件、数据库设计流密码需要考虑的因素 加密序列的周期要足够长 密钥流应该尽可能接近于一个真正的随机数流的特征流密码的实现方式 LSFR方式 DES方式 RC4 量子密码,混沌密码LSFR流密码常见的两种密钥流产生器移位寄存器是流密码产生密钥流的一个主要组成部分. GF(2)上一个n级反馈移位寄存器由n个二元存储器与一个反馈函数f(a1,a2,an)组成, 如图所示. 线性反馈移位寄存器GF(2)上的n级反馈移位寄存器图 是一个3级反馈移位寄存器, 其初始状态为(a1,a2,a3)=(1,0,1), 输出见表

11、.一个3级反馈移位寄存器表 一个3级反馈移位寄存器的状态和输出 状态状态(a3,a2,a1)输出输出1 0 11 1 01 1 10 1 11 0 11 1 0 101110即输出序列为101110111011,周期为4Geffe序列生成器由3个LFSR组成, 其中LFSR2作为控制生成器使用,当LFSR2输出1时, LFSR2与LFSR1相连接;当LFSR2输出0时, LFSR2与LFSR3相连接Geffe序列生成器Geffe序列生成器图多路复合器表示的Geffe序列生成器Geffe序列的周期实现了极大化, 且0与1之间的分布大体上是平衡的。J-K触发器如图所示,两个输入端分别用J和K表示,

12、其输出ck不仅依赖于输入,还依赖于前一个输出位ck-1,即其中x1和x2分别是J和K端的输入。J-K触发器1211kkcxxcx利用J-K触发器的非线性序列生成器见图利用J-K触发器的非线性序列生成器Pless生成器由8个LFSR、4个J-K触发器和1个循环计数器构成,由循环计数器进行选通控制。Pless生成器钟控序列最基本的模型是用一个LFSR控制另外一个LFSR的移位时钟脉冲,如图所示。钟控序列生成器最简单的钟控序列生成器RC4流密码 Ron Rivest, RSA公司, 1987 可变密钥长度, 面向字节操作的流密码 该密码的周期大于10100, 每输出一字节的结果仅需要8到16条机器周

13、期 SSL/TLS, WEP 1994年公开RC4流密码RC4算法描述 使用28=256个字节构成的S表和两个指针(I和J),总共需要258个字节的存储空间; S表的值S0,S1,S255是0,1,255的一个排列,I和J的初值为0; 把S表和I,J指针的具体取值称为RC4的一个状态: T= 对状态T进行非线性变换,产生出新的状态,并输出密钥序列中的一个字节kRC4算法描述(con.) RC4的下一状态函数定义为: (1) I = 0, J = 0; (2) I = I + 1 mod 256; (3) J = J + SI mod 256; (4) 交换SI和SJ RC4的输出函数定义为:

14、(1) h=SI+SJ mod 256 (2) k=Sh随机数 随机数的用途 会话密钥产生 RSA公钥算法中密钥的产生 认证过程中的临时交互号,作为握手信息避免重放攻击 随机数的基本特点 随机性 均匀分布: 随机数的分布是一致的 独立性: 序列中任何数不能由其它数推导出来 不可预测性 认证或会话密钥之类的应用随机数的源 真随机数难以获得-物理噪声发生器: 离子辐射事件, 闸流管, 但随机性和精确度有问题, 这些设备又很难连接到网络系统中-已经公布好的随机数: 数目太少,敌手也可搞到 伪随机数(相对随机)-使用算法来生成随机数, 算法是确定的, 所以产生的序列并非统计随机的-但可以经受住随机性检

15、测伪随机数的产生伪随机数的产生 线性同余法 Xn+1 = (aXn+c) mod m m 模数 m0 231 a 乘数 0am a=75=16807 c 增量 0 cm X0 种子 0 X0m基于密码的随机数产生 循环加密 DES输出反馈方式 ANSI X.917 伪随机数产生器 Blum Blum Shub(BBS)产生器循环加密DES输出反馈模型ANSI X9.17伪随机数发生器伪随机数发生器 Ri=EDEK1,K2(Vi EDEK1,K2(DTi) Vi+1= EDEK1,K2(Ri EDEK1,K2(DTi)BBS伪随机数产生器 (1)首先选择两个大素数p,q pq 3(mod4) (2)选择s与n互素 通过了“下一位”测试(next-bit test) 不存在多项式时间的算法使得在已知前k位的情况 下预测出第k+1位的概率大于0.5 BBS的安全性同样基于分解n的难度2021mod1() modmod 2iiiiXsnfor iXXnBX

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第2讲-对称密码分析课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|