《对称密钥密码》PPT课件.ppt
《《对称密钥密码》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《对称密钥密码》PPT课件.ppt(45页珍藏版)》请在三一办公上搜索。
1、对称密钥密码,1,2 对称密钥密码,对称密钥密码,2,对称密钥密码,流密码(Stream Ciphers)根据一次一密获得密钥相对较短密钥被扩展为更长的密钥流(keystream)Keystream被用做一次一密的密钥只用到了混淆分组密码(Block cipher)根据电码本密码获得分组密码密钥决定电码本每个密钥生成一个不同的电码本混淆和扩散都得到利用,对称密钥密码,3,流密码 Stream Ciphers,对称密钥密码,4,流密码,现在已不如分组密码流行本节讨论一种流密码A5/1基于线性移位寄存器(硬件实现)用于GSM移动通信系统,对称密钥密码,5,流密码原理,流密码使用n比特长的密钥K,并
2、将其扩展为更长的密钥流。将密钥流与明文做异或运算,得到密文C。密钥流的使用方法与一次一密中的密钥相同。解密时将密文与密钥做异或运算得到明文。函数可表示为StreamCipher(K)=SK是密钥,S是和一次一密中对等的密钥流,对称密钥密码,6,A5/1 原理1,A5/1 使用3个线性移位寄存器(LFSR)寄存器X:19 bits(x0,x1,x2,x18)寄存器Y:22 bits(y0,y1,y2,y21)寄存器Z:23 bits(z0,z1,z2,z22)三个寄存器共有64 bits密钥K采用64 bits。初始时密钥K被载入3个寄存器,对称密钥密码,7,A5/1 原理2,对每一步做:m=m
3、ajor(x8,y10,z10)Major(多数)函数定义:major(0,1,0)=0 and major(1,1,0)=1 如果 x8=m 那么 X寄存器 进行移位运算 t=x13 x16 x17 x18xi=xi1 for i=18,17,1 and x0=t如果 y10=m 那么 Y寄存器进行移位运算t=y20 y21yi=yi1 for i=21,20,1 and y0=t如果 z10=m 那么 Z寄存器进行移位运算t=z7 z20 z21 z22zi=zi1 for i=22,21,1 and z0=t密钥流比特最后由 x18 y21 z22 产生,对称密钥密码,8,A5/1原理3
4、,每次运算获得一个比特密钥用于初始化三个寄存器每个寄存器是否进行移位操作由M(x8,y10,z10)决定密钥流比特由三个最右端比特进行XOR运算获得,X,Y,Z,对称密钥密码,9,A5/1实例,在这种情况下,m=maj(x8,y10,z10)=maj(1,0,1)=1 寄存器 X 进行移位,Y不进行移位,Z进行移位密钥流比特由最右端比特进行XOR操作而得此例,密钥流比特是 0 1 0=1最后用密钥流和明文做XOR运算进行加密和解密,X,Y,Z,对称密钥密码,10,流密码总结,密钥流的产生看似很复杂,但用硬件实现很简单产生速度与计算机时钟速度相当(可与语音同步)从一个64位密钥可产生无穷多密钥流
5、最终会产生密钥流循环!,对称密钥密码,11,流密码总结,因为过去基于软件的密码系统不能产生高速比特流,流密码曾十分辉煌,当今,基于软件的密码系统的出现,使分组密码成为主流密码流的未来?密码学家Shamir:“密码流已步入死亡-the death of stream ciphers”-2004或许太夸张但分组密码是现今主流,对称密钥密码,12,分组密码 Block Ciphers,对称密钥密码,13,(Iterated)分组密码(迭代),密文和明文均是固定长度的分组(block)通过若干轮使用轮函数(round function)迭代产生密文轮函数的输入由前一轮的输出和密钥组成分别设计一个安全的
6、分组密码或者一个高速的算法不难,但既安全又高效的算法则非常困难通常用软件实现,对称密钥密码,14,Feistel 密码(Cipher),Feistel 密码 是分组密码的一种(分组)原则,不是一种特殊的密码将明文分解成右半部分和左半部分:明文=(L0,R0)对于每一轮 i=1,2,.,n,计算:Li=Ri1 Ri=Li1 F(Ri1,Ki)此处 F 是 轮函数,Ki是第i轮的 子密钥(subkey)密文=(Ln,Rn),对称密钥密码,15,Feistel 密码解密,解密:密文=(Ln,Rn)对每轮 i=n,n1,1,计算Ri1=LiLi1=Ri F(Ri1,Ki)此处 F 是 轮函数,Ki是第
7、i轮的 子密钥 subkey 明文=(L0,R0)此算法对所有函数F都适用但只对特定函数来说是安全的优点在于所有安全性问题可以转化为轮函数F的问题,对称密钥密码,16,DES密码,20世纪70年代提出DES(Data Encryption Standard)根据IBM公司提出Feistel密码之一的Lucifer密码设计 当时,密码技术除被政府和军方所研究及掌握,民间及商业对此尚无研究但计算机的发展,数据加密对商业至关重要美国标准局(NBS)提出了对密码算法的征集获胜者将成为美国政府及实际上的产业界标准因参与者不多,最终由唯一IBM提出的Lucifer算法获得,对称密钥密码,17,DES密码,
8、由于技术力量不足,NBS求助于政府密码机构NSA(National Security Agency)由于NSA专门负责政府及军方高级敏感信息加密研究,开始不愿参与民间密码开发 后被怀疑在DES中植入后门,使NSA很容易破解DESLucifer算法经过修改成为DES主要修改为将密钥长度由128位减为64位,并且64位中有8位势用来校验奇偶性的,实际密钥长度由为56。破译难度降低了272倍,难怪被指动过手脚,对称密钥密码,18,DES密码归纳,DES是16轮的Feistel结构密码DES的分组长度是64位 DES使用56位密钥DES每一轮使用48位的子密钥,每个子密钥是由56位的密钥的子集构成的D
9、ES竟是住了时间的考验,其遭受攻击只是因为密钥过短,而不是存在比穷举更为有效的攻击方法,对称密钥密码,19,DES的分析,DES是一种Feistel原理的密码系统(将明文分为两部分,然后迭代)64位为一个分段56位长的密钥经过16论迭代每步迭代采用48位长的子密钥(?)每步迭代很简单安全性主要取决于“S盒”每个S盒将6位映射为4位,对称密钥密码,20,L,R,扩展,移位,移位,密钥,密钥,S盒,压缩,L,R,28,28,28,28,28,28,48,32,48,32,32,32,32,DES的一轮,48,32,Ki,P置换,对称密钥密码,21,DES的扩展组合,输入32位(图中L、R)0 1
10、2 3 4 5 6 7 8 9 10 11 12 13 14 151616 17 18 19 20 21 22 23 24 25 26 27 28 29 30 3116输出48位(经过扩展)31 0 1 2 3 4 3 4 5 6 7 812 7 8 9 10 11 12 11 12 13 14 15 161215 16 17 18 19 20 19 20 21 22 23 241223 24 25 26 27 28 27 28 29 30 31 012,对称密钥密码,22,DES的S盒,8个S盒每个S盒将6位输入映射到4位输出下图为1号S盒输入bits(0,5)确定列数 输入bits(1,2
11、,3,4)确定行数|0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111-00|1110 0100 1101 0001 0010 1111 1011 1000 0011 1010 0110 1100 0101 1001 0000 011101|0000 1111 0111 0100 1110 0010 1101 0001 1010 0110 1100 1011 1001 0101 0011 100010|0100 0001 1110 1000 1101 0110 0010 1011 111
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 对称密钥密码 对称 密钥 密码 PPT 课件

链接地址:https://www.31ppt.com/p-5582637.html