数据加密规范课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据加密规范课件.ppt》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 加密 规范 课件
- 资源描述:
-
1、数据加密标准数据加密标准(Data Encryption Standard,DES)序列密码和分组密码序列密码和分组密码n一次只对明文中的单个位(有时对字节)运一次只对明文中的单个位(有时对字节)运算的算法称为算的算法称为序列算法(序列算法(stream algorithm)或序列密码(或序列密码(stream cypher)n另一类算法是对明文的一组位进行运算,这另一类算法是对明文的一组位进行运算,这些位称为些位称为分组(分组(block),),相应的算法称为相应的算法称为分组算法(分组算法(block algorithm)或分组密码)或分组密码(block cypher)。)。背景背景发明
2、人:美国发明人:美国IBM公司公司 W.Tuchman 和和 C.Meyer 1971-1972年研制成功年研制成功基础:基础:1967年美国年美国Horst Feistel提出的理论提出的理论产生:美国国家标准局(产生:美国国家标准局(NBS)1973年年5月到月到1974年年8月两次发布通告,月两次发布通告,公开征求用于电子计算机的加密算法。经评选从一大批算法中采纳公开征求用于电子计算机的加密算法。经评选从一大批算法中采纳 了了IBM的的LUCIFER方案方案标准化:标准化:DES算法算法1975年年3月公开发表,月公开发表,1977年年1月月15日由美国国家日由美国国家标准局颁布为数据加
3、密标准(标准局颁布为数据加密标准(Data Encryption Standard),于),于1977年年7月月15日生效日生效背景背景美国国家安全局(美国国家安全局(NSA,National Security Agency)参与了参与了美国国家标准局制定数据加密标准的过程。美国国家标准局制定数据加密标准的过程。NBS接受了接受了NSA的某些建议,对算法做了修改,并将密钥长度从的某些建议,对算法做了修改,并将密钥长度从LUCIFER方方案中的案中的128位压缩到位压缩到56位位1979年,美国银行协会批准使用年,美国银行协会批准使用DES1980年,年,DES成为美国标准化协会成为美国标准化协
4、会(ANSI)标准标准1984年年2月,月,ISO成立的数据加密技术委员会成立的数据加密技术委员会(SC20)在在DES基础上制定数据加密的国际标准工作基础上制定数据加密的国际标准工作DES概述概述分组加密算法:明文和密文为分组加密算法:明文和密文为64位分组长度位分组长度对称算法:加密和解密除密钥编排不同外,使用同一算法对称算法:加密和解密除密钥编排不同外,使用同一算法采用混乱和扩散的组合,每个组合先替代后置换,共采用混乱和扩散的组合,每个组合先替代后置换,共16轮轮只使用了标准的算术和逻辑运算,易于实现只使用了标准的算术和逻辑运算,易于实现密钥长度:密钥长度:56位(位(密钥通常表示位密钥
5、通常表示位64位,但第位,但第8 8位、位、1616位位第第6464位都用作奇偶校验位都用作奇偶校验)产生)产生16个个48位的子密钥位的子密钥Shannonn乘积密码乘积密码 设有两个子密码系统设有两个子密码系统T1和和T2,则先以,则先以T1对明文进行加密,然对明文进行加密,然后再以后再以T2对所得结果进行加密。其中,对所得结果进行加密。其中,T1的密文空间需作的密文空间需作为为T2的的“明文明文”空间。乘积密码可表示成空间。乘积密码可表示成 T=T1T2 利用这两种方法可将简单易于实现的密码组合成复杂的更利用这两种方法可将简单易于实现的密码组合成复杂的更为安全的密码。为安全的密码。扩散(
6、扩散(diffusion)和混乱()和混乱(confusion)n扩散:扩散:就是将明文的统计特性迅速散布到密文中去,实现方式是使得明文的每一位影响密文中多位的值,即密文中每一位受明文中多位影响;将密钥的每位数字尽可能扩散到更多个密文数字中去,以防止对密钥进行逐段破译。根据扩散原则,分组密码应设计成明文的每个比特与密钥的每个比特对密文的每个比特都产生影响。n混乱:混乱:的目的在于使明文和密文之间的统计关系变得尽可能复杂。使用复杂的非线形代换非线形代换算法可得预期的混淆效果。Feistel网络网络 很多分组密码的结构从本质上说都是基于一个称为很多分组密码的结构从本质上说都是基于一个称为Feist
7、el网络网络的结构。的结构。Feistel提出利用乘积密码可提出利用乘积密码可获得简单的代换密码,乘积密码指顺序地执行获得简单的代换密码,乘积密码指顺序地执行多个多个基本密码系统基本密码系统,使得最后结果的密码强度高于每个,使得最后结果的密码强度高于每个基本密码系统产生的结果。基本密码系统产生的结果。Feistel网络网络 一层结构一层结构 取一个长度为取一个长度为n的分组(的分组(n为偶数),然为偶数),然后把它分为长度为后把它分为长度为n/2的两部分:的两部分:L和和R。定义一个迭代的分组密码算法,其第定义一个迭代的分组密码算法,其第i轮轮的输出取决于前一轮的输出:的输出取决于前一轮的输出
8、:nL(i)=R(i-1)nR(i)=L(i-1)f(R(i-1),K(i)K(i)是是i轮的子密钥,轮的子密钥,f是任意轮函数。是任意轮函数。容易看出其逆为:容易看出其逆为:nR(i-1)=L(i)nL(i-1)=R(i)f(R(i-1),K(i)=R(i)f(L(i),K(i)L(i-1)R(i-1)n Feistel网络网络DES工作原理工作原理 基于基于Feistel网络网络n假定信息空间都是由假定信息空间都是由0,1组成的字符串,信息被分组成的字符串,信息被分成成64比特的块,密钥是比特的块,密钥是56比特。经过比特。经过DES加密的密文加密的密文也是也是64比特的块。设用比特的块。
9、设用m表示信息块,表示信息块,k表示密钥,则:表示密钥,则:nm=m1m2m64 mi=0或或1 nk=k1k2k64 ki=0或或1 其中其中k8,k16,k24,k32,k40,k48,k56,k64是奇偶是奇偶校验位,真正起作用的仅为校验位,真正起作用的仅为56位。位。n加密算法:加密算法:Ek(m)=IP-1T16T15T1IP(m)其中其中IP为初始置换,为初始置换,IP-1是是IP的逆,的逆,Ti是一系列是一系列的变换。的变换。n解密算法:解密算法:nm=Ek-1 Ek(m)=IP-1T1T2T16IPEk(m)输入输入64比特明文数据比特明文数据初始置换初始置换IP在密钥控制下在
10、密钥控制下16轮迭代轮迭代初始逆置换初始逆置换IP-1输出输出64比特密文数据比特密文数据DES加密过程加密过程DES加密过程加密过程)(6416,2,1),(16,2,1)64(1616111100LRIPbitikRfLRiRLbitIPRLiiiiii密文输入码令令i表示迭代次数,表示迭代次数,表示逐位模表示逐位模2求和,求和,f为为加密函数加密函数DES解密过程解密过程DES算法实现过程算法实现过程 (1)初始变换初始变换IP移位操作:仅对64比特明文(8*8)进行操作n列经过偶采样和奇采样置换后再对各行进行逆序得到列经过偶采样和奇采样置换后再对各行进行逆序得到IP57 58 59 6
11、0 61 62 63 642014MMIP57 58 59 60 61 62 63 64一轮一轮DESLi-1(32比特)比特)Ri-1(32比特)比特)Li(32比特)比特)48比特寄存器比特寄存器选择扩展运算选择扩展运算E48比特寄存器比特寄存器子密钥子密钥Ki(48比特)比特)32比特寄存器比特寄存器选择压缩运算选择压缩运算S置换运算置换运算PRi(32比特)比特)Li=Ri-1DES算法实现过程算法实现过程 (2)选择扩展运算选择扩展运算n选择运算选择运算E,输入,输入32位数据,产生位数据,产生48位输出。位输出。n设设B(i)=b1(i)b2(i)b64(i)是第是第i+1次迭代的
展开阅读全文