第二讲 密码学基础(一)课件

上传人:我*** 文档编号:144947029 上传时间:2020-09-14 格式:PPT 页数:77 大小:885.50KB
返回 下载 相关 举报
第二讲 密码学基础(一)课件_第1页
第1页 / 共77页
第二讲 密码学基础(一)课件_第2页
第2页 / 共77页
第二讲 密码学基础(一)课件_第3页
第3页 / 共77页
第二讲 密码学基础(一)课件_第4页
第4页 / 共77页
第二讲 密码学基础(一)课件_第5页
第5页 / 共77页
点击查看更多>>
资源描述

《第二讲 密码学基础(一)课件》由会员分享,可在线阅读,更多相关《第二讲 密码学基础(一)课件(77页珍藏版)》请在金锄头文库上搜索。

1、密码学基础,目 录 密码学的起源、发展和现状 密码学基本概念 常规加密的现代技术,密码学发展阶段,1949年之前 密码学是一门艺术 19491975年 密码学成为科学 1976年以后 密码学的新方向公钥密码学,第1阶段古典密码,密码学还不是科学,而是艺术 出现一些密码算法和加密设备 密码算法的基本手段出现,针对的是字符 简单的密码分析手段出现 主要特点:数据的安全基于算法的保密,第1阶段古典密码,Phaistos圆盘,一种直径约为160mm的Cretan-Mnoan粘土圆盘,始于公元前17世纪。表面有明显字间空格的字母,至今还没有破解。,20世纪早期密码机,第1阶段古典密码,1883年Kerc

2、hoffs第一次明确提出了编码的原则:加密算法应建立在算法的公开不影响明文和密钥的安全。 这一原则已得到普遍承认,成为判定密码强度的衡量标准,实际上也成为传统密码和现代密码的分界线。,计算机使得基于复杂计算的密码成为可能 相关技术的发展 1949年Shannon的“The Communication Theory of Secret Systems” 1967年David Kahn的The Codebreakers 1971-73年IBM Watson实验室的Horst Feistel等几篇技术报告 主要特点:数据的安全基于密钥而不是算法的保密,第2阶段 19491975,1976年:Diff

3、ie (y1, y2,ym),Z/(26)为同余类环 在这个环上的可逆矩阵Amxm,是指行列式detAmxm的值 Z*/(26),它为Z/(26)中全体可逆元的集合。 Z*/(26)= a Z/(26)|(a,26)=1,Z*/(26)=1,3,5,7,9,11,15,17,19,21,23,25,设m为固定的正整数,P=C=(Z/(26)m, K是由1,2,.,m的所有置换构成,对一个密钥K,定义 e (x1, x2,., xm)=(x(1),.,x(m) 和 d (y1, y2,., ym)=(y(1),.,y(m) 这里1为的逆置换 注:这里的加密与解密仅仅用了置换,无代数运算 例子:

4、设m=6,取密钥 而,若给定的明文是:cryptography 首先找分成6个字母长的明文组:crypto|graphy 求得的密文是:YTCOPRAHGYPR,对上面例子决定的置换 对应:,通过多个加密阶段的组合,能使密码分析变得极为困难 对置换和替代都适合,转子机,具有连线的三转子机器(用编号的触点表示),目 录 密码学的起源、发展和现状 密码学基本概念 常规加密的现代技术,安全密码的特性,Shannon特性(1949) 所需的保密程度决定了用于加密和解密过程的相应的工作量 密钥的组或加密算法应该不受其复杂性的影响 处理的实现应尽可能简单 编码中的错误不应传播及影响后面的消息 加密后正文的

5、尺寸不应大于明文的尺寸,Feistel加密过程,输入: 长为2w比特的明文分组 密钥k 输出: 长为2w比特的密文分组,Feistel网络的特点,明文分组分为:L0,R0,数据的这两部分通过n次循环处理后,再结合起来生成密文分组 每i次循环都以上一循环产生的Li-1和Ri-1和K产生的子密钥Ki作为输入。一般说来,子密钥Ki与K不同,相互之间也不同,它是用子密钥生成算法从密钥生成的,Feistel网络的特点,所有循环的结构都相同,置换在数据的左半部分进行,其方法是先对数据的右半部分应用循环函数F,然后对函数输出结果和数据的左半部分取异或(XOR) 循环函数对每次循环都有相同的通用结构,但由循环

6、子密钥Ki来区分 在置换之后,执行由数据两部分互换构成的交换,Feistel网络的特点,解密过程与加密过程基本相同。规则如下:用密文作为算法的输入,但以相反顺序使用子密钥Ki 意味着加密和解密不需要用两种不同的方法。,Feistel结构定义,加密: Li = Ri-1; Ri = Li-1F(Ri-1,Ki) 解密: Ri-1 = Li Li-1 = RiF(Ri-1,Ki) = RiF(Li,Ki),Feistel网络的设计特点,分组大小:较大的分组意味着较强的安全性,但会降低加密解密速度。64位的分组大小是合理的折中,几乎所有的分组设计中都使用它 密钥大小:较大的密钥意味着较强的安全性,但

7、会降低加密解密速度。现代算法中最常用的是128位密钥 循环次数:本质是单一循环的不足,多重循环能够加强安全性。典型的循环次数为16 子密钥生成算法:较大的复杂性会增大密钥分析的难度 循环函数:较大的复杂性意味着给密码分析带来更大的难度,Feistel网络的实现,快速软件加/解密:常将加密嵌入到应用程序中,以预防硬件实现的方式,因此速度很重要 分析的简易性:算法表示简洁清晰,则易于分析算法中加密技术的缺陷,安全密码的特性,Shannon特性(1949) 所需的保密程度决定了用于加密和解密过程的相应的工作量 密钥的组或加密算法应该不受其复杂性的影响 处理的实现应尽可能简单 编码中的错误不应传播及影

8、响后面的消息 加密后正文的尺寸不应大于明文的尺寸。,安全密码的特性,混乱与扩散 信息的理论测试 单一距离,分组密码的一般设计原理,分组密码是将明文消息编码表示后的数字(简称明文数字)序列,划分成长度为n的组(可看成长度为n的矢量),每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)序列,两个基本设计方法,Shannon称之为理想密码系统中,密文的所有统计特性都与所使用的密钥独立 扩散(Diffusion):明文的统计结构被扩散消失到密文的长程统计特性 ,使得明文和密文之间的统计关系尽量复杂 混乱(confusion):使得密文的统计特性与密钥的取值之间的关系尽量复杂,软件实现的设计原则

9、,使用子块和简单的运算 密码运算在子块上进行,要求子块的长度能自然地适应软件编程,如8、16、32比特等。 应尽量避免按比特置换,在子块上所进行的密码运算尽量采用易于软件实现的运算。 最好是用处理器的基本运算,如加法、乘法、移位等。,硬件实现的设计原则,加密和解密的相似性,即加密和解密过程的不同应仅仅在密钥使用方式上,以便采用同样的器件来实现加密和解密,以节省费用和体积。 尽量采用标准的组件结构,以便能适应于在超大规模集成电路中实现。,简化的DES,Simplified DES方案,简称S-DES方案。 加密算法涉及五个函数: (1) 初始置换IP(initial permutation) (

10、2) 复合函数fk1,它是由密钥K确定的,具有置换和替代的运算。 (3) 转换函数SW (4) 复合函数fk2 (5) 初始置换IP的逆置换IP-1,加密算法的数学表示,加密算法的数学表示 IP-1*fk2*SW*fk1*IP 也可写为 密文=IP-1(fk2(SW(fk1(IP(明文) 其中 K1=P8(移位(P10(密钥K) K2=P8(移位(移位(P10(密钥K) 解密算法的数学表示 明文=IP-1(fk1(SW(fk2(IP(密文),S-DES的密钥生成,设10bit的密钥为(k1,k2,k3,k4,k5,k6,k7, k8,k9,k10) 置换P10是这样定义的 P10(k1,k2,k10)=(k3,k5,k2,k7,k4,k10,k1,k9,k8,k6) 相当于 P10= LS-1为循环左移,在这里实现左移2位 P8=,S-DES的密钥生成,按照上述条件,若K选为(1010000010), 产生的两个子密钥分别为 K1=(1 0 1 0 0 1 0 0) K2=(0 1 0 0 0 0 1 1),S-DES的密钥生成,初始置换用IP函数: IP= 1 2 3 4 5 6 7 8 2 6 3 1 4 8 5 7末端算法的置换为IP的逆置换: IP-1= 1 2 3 4 5 6 7 8 4 1 3 5 7 2 8 6 易见 IP-1(IP(X)=X,S-DES的加密运算,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号