第7章 密码技术.ppt_第1页
第7章 密码技术.ppt_第2页
第7章 密码技术.ppt_第3页
第7章 密码技术.ppt_第4页
第7章 密码技术.ppt_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、7.1 引 论,密码学主要包含两部内容,即编码学和密码分析学。 编码学是通过编码技术改变被保护信息的形式,使得编码后的信息除了指定接收者外其他人无法理解的一门学问,即加密算法的设计和研究。 密码分析,是研究如何攻破一个密码系统,恢复被隐藏的信息之本来面目,也就是密码破译技术。 这两部分内容是矛盾的两方面。 7.1.1密码系统 所谓密码系统应包含5个要素:明文信息空间、密文信息空间、密钥空间、加密变换E和解密变换D。,7.1 引 论,明文:加密前的原始信息。 密文:加密后的信息。 加密:将明文进行数据变换形成密文的过程。 解密:将密文进行数据变换恢复成明文的过程。 密钥:控制加密和解密运算的符号

2、序列。 密码系统要求:使用方便,而且系统的保密不依赖于对加密算法和脱密算法的保密,而只依赖于密钥的保密。因此,当密文和对应的明文被非法截取后,仍不容易确定解密变换。其次,从截取的密文中极难确定其对应的明文。,7.1 引 论,7.1.2密码的功能 密码技术应用于:信息的保密、应用于身份的确认、数据的完整性等诸多领域。 1通信中的数据保护 密码技术应用于通信线路上信息的保护。一方面,防止传输中的信息被非法窃听导致失密,另一方面,防止信息的内容被恶意攻击者非法地篡改,并且在发生此类事件后能迅速发现。 2存储信息的保护 信息用密码技术加密处理后进行存储,保证只有掌握解密密钥的合法用户才能够存取数据,得

3、到正确的明文,在许多用户系统中,保护个人秘密、防止文件被破坏。,7.1 引 论,3通信双方的身份验证 密码技术不仅广泛应用于防止传输中的信息和记录存储的信息不被攻击者非法窃听、浏览和篡改,同时,也可以用于识别通信双方的真实性。 这种对存取数据和发来电文的对方的合法性进行确证的方法叫“验证”。 4非否认性 密码技术还应用于不可否认性服务。它包含对源和目的双方的证明,通常的情况下,不可否认服务是一种数字签名服务。 除此之外,密码技术还广泛地应用于计算机网络安全领域的其它方面。,7.1 引 论,7.1.3密码的分类 一般情况下,密码方法都是一些基本方法的组合。它们通常分为三类:移位法、代替法、代数法

4、 1、移位法是将明文中的字母重新排列,字母本身并不改变,但相对的位置发生了一定的变化。 2、代替法是将明文中的字母用其它字母进行代替,而原来的位置并不产生变化。 3、代数法首先将明文转换成数,或直接将明文信息用二进制数表示作为运算对象,然后再进行特定的运算产生密文。,7.1 引 论,7.1.4密码分析 密码分析学,在密码学中的地位和作用同样是相当重要的,它是密码学发展的主要动力之一,密码分析的结果是检验加密算法的有效性和优劣的尺度。 密码分析人员一般需要凭借经验,通过统计分析等方法,而不是通过逻辑导出。 密码分析学通常采用两种方法:演绎法和归纳法。 近年来,使用计算机进行密码分析从很大程序上提

5、高了破译的能力。,7.2 传统密码学,对一些古典密码系统进行介绍。增加感性认识,为进一步介绍现代密码技术打下基础。 7.2.1换位法 所谓换位法又称为置换法。它是将明文信息中的字符重新进行排列以达到加密目的的方法。 1栅栏加密法 所谓栅栏加密法是将明文按照一定的栅栏深度d,顺序排成栅栏型。然后自左到右自上而下重新组合成新的信息串作为对应的密文。 很显然,对于同样的明文,由于栅栏深度d的不同,可以组成不同的密文。因此,栅栏的深度即为密钥。,7.2 传统密码学,倘若已知密钥d,如何恢复明文信息呢? 我们假设密文中的字符个数为N,密钥(栅栏深度)d表示为d个字符,两个节顶之间的字符个数叫节长i,最后

6、一个节所含的字符数称为节尾长r,栅栏的顶部结点的个数称为节顶数t,有: t = Ni N = (t1)*i+r 通过上述公式,我们能够计算出必要的参数将密文恢复为明文信息。,7.2 传统密码学,2矩阵换位法 在矩阵换位法中,采用将明文按行依次组成m*n的矩阵,给定一个置换f,f(j1,j2)中j1表示明文中的列号,j2表示置换后对应的列号。对原矩阵进行变换。依次排列得到对应的密文。 在这种加密方法中,只要给定了矩阵的行数m和列数n和置换f,那么就很容易对相应的密文进行解密了。,7.2 传统密码学,3定长置换法 在给定正整数d的情况下,正整数集合Zd =(1,2,3,d),假设f(i) 是Zd上

7、的一个置换函数。 对于明文为P = P1P2PdP2d 密文为 C = E(P)= P(f(1)P(f(2)P(f(d)P(f(d)+1)P(f(d)+2) 举例如下: 设 d = 3,Zd =(1,2,3) f(i) = 2,3,1 若明文P = What do you do? 由于d = 3,所以 P = wha tdo you do? 于是可得密文 C = E(p) = haw dot ouy o?d,7.2 传统密码学,7.2.2替代法 替代法是利用替换字符或字符块来进行加密的算法。由于它是许多密码体制的基础。 l凯撒(Caesar)代替 凯撒密码是每一字母向前推移K位。例如,K =

8、5便有如下的明文与密文的对应关系。 明文:a b c d e 密文:F G H I J 若令26个字母分别对应于025,如下: a b c x y z 0 1 2 23 24 25 则凯撒密码加密交换为 C = m + k mod 26 其中m是明文,C为对应的密文序列。k为加密用的移位数,也称为密钥。mod为模。,7.2 传统密码学,另外,还有一种仿射变换。其形式如下。若选取 k1、k2两个参数,其中 k1、k2与 26互素,令 C = k1*m+k2 mod 26 当k1 = 1时便是凯撒变换。 2维吉尼亚(Vigenere)密码 Vigenere是法国的密码专家,是多表密码的典型代表。

9、设密钥K = k1k2kn, 明文M = mlm2mn Ek (M) = C1C2Cn 其中Ci = (mi+ki) mod 26,7.2 传统密码学,这种加密方法以明文字母在Vigenere方阵中的列与相应的密钥字母在Vigenere方阵中的行的交点处的字母替换该明文字母。如果明文比密钥字长,那么可以将明文分成与密钥字等长的段(最后一段的长若小于密钥字,则用补白的方法添加指定字母补齐),然后重复使用密钥。 明文;how are you 密钥:ENDLANDEN 密文:LBCLRRBSH 下面是实现Vigenere加密算法的程序 如P206,7.3 DES加密算法,现代数据通信中的密码体制,通

10、常以明显的方式公开加密算法,而只对加、解密密钥进行严格的保密。 7.3.1 DES加密标准的提出 美国商务部标准局为了能在政府部门进行信息处理的同时保护电子计算机信息的安全,自1971年开始研究密码的标准化,并于1973年开始征集满足下列条件的密码。 即首先密码的规定严谨明确, 其次,能够通过破译密钥所需的时间与计算量等表示它的安全性。 其三,安全性不依赖于算法的保密性,而只依赖于密钥的保密性。,7.3 DES加密算法,IBM公司研制并提出的方案。1977年作为数据加密标准(DES)公开发表。成为美国的标准加密方式。 7.3.2 DES算法原理 DES算法组成:密钥生成、初始变换、16次循环选

11、代和逆初始变换。算法的输入和输出为64bit码块,密钥为64 bit(其中有8bit奇偶校验,56bit密钥)。 l加密处理 (1) 初始置换IP (2) 初始逆置换IP -1,即最后换位。,7.3 DES加密算法,经过第 n层加密处理后的左右32比特分别为Ln和Rn,则每次迭代算法为: Ln = R(n-1) Rn = L(n+1) f(R(n-1),Kn) 上式中的表示模2加,即逻辑异或运算。Kn为该层输入的密钥,L(n-1)和R(n-l)分别为第n-1层的输出,f(R(n-1),Kn)为以R(n-1)和Kn为变量的函数。 (3) f(R(n-1),Kn)情况 其DES算法中,其它部分都是

12、线性的,只有这个f(R,K)变换是非线性的。所以可以产生强度很高的密码。,7.3 DES加密算法,(4)选择函数 ( S盒) 每个S盒的输入是6比特,输出是4比特。S盒图中备有四种代替表,其行编号为0,1,2,3,根据输人的6比特中的首尾两个比特来选择,然后按照所选定的代替表将输入的6比特中的中间4比特进行代替。 举例说明,当向S1输入一个二进制信息001011时,因开头和末尾合起来为01,即十进制的1,所以选中行编号为l的代替表,又中间4位为0101,即十进制数的5,它表示选择第5列。即输出状态为2,即0010,这4比特即为经过代替之后的输出。,7.3 DES加密算法,2子密钥生成 子密钥生

13、成是DES算法的一个重要组成部分,前面在加密处理部分的16层加密处理每一层都需要一个子密钥Ki,每个子密钥为48比特,所以16层运算共需要1648768比特的密钥。子密钥生成如图7-9 3、解密处理 从图7-7中我们可以清楚地看到Ri和Li是如何在密钥K的作用下进行交换的。在加密处理中下列关系是成立的: 加密: Lj=Rj-1 ; Rj=Lj-1f(Rj-1,Kj) 由此可推出解密: Rj-1=Lj ; Lj-1=Rjf(Rj-1,Kj) 进一步可推出 Lj-1=Rjf(Lj,Kj) 注意:,在加密和解密过程中第16层处理结束时L和R要进行交换。,7.3 DES加密算法,7.3.4 DES算法

14、作用分析 DES算法自1975年3月公开发表,至1977年才被正式定为加密标准。这一期间,设计者曾要求全世界向它攻击,围绕着DES算法在美国也有过一番的讨论。 斯坦福大学的研究小组认为尽管DES算法的S盒的设计不是线性的,然而也不是随机的,可能还存在某些弱点。但尽管如此,目前还没有找到一种有效的攻击方法。 赫尔曼和迪菲提出了对密钥进行穷举搜索,设计一种专用机的设想。建议增长密钥的长度。 DES标准加密算法得到了广泛的认可和应用 。 国际标准化组织(ISO)已放弃将DES算法作为国际标准,并宣布今后不再将任何密码算法做为标准。,7.4 公开密钥系统,传统密钥密码体制是对称密码体制。 公开密钥密码

15、体制是非对称密码体制。 对于非对称密码体制,设明文为X,公开的加密密钥为Ke,秘密的解密密钥为Kd,加密算法为E(Ke,X),解密算法为D(Kd,Y)其中Y为明文用密钥Ke加密后所得的密文。则公开密钥密码体制的算法应满足条件: 1.给出Ke时,E(Ke,X)的计算简单;同样,给出Kd时D(Kd,Y)的计算也应简单。 2.在Kd未知时,即使知道Ke算法E和D以及密文Y的情况下,若要确定明文X,其计算也是不可行的。 3.对于X,E(Ke,X),有D(Kd,E(Ke,X) = X; 4.对于X,D(Kd,X),有E(Ke,D(Kd,X)= X,7.4 公开密钥系统,单向陷门函数来实现非对称密码体制算

16、法。 单向陷门函数就是在单向函数中设置一个陷门。掌握了它,便可实现其逆函数,否则极其困难。 单向陷门函数表示:给出f的定义域中的任意元素x,则f(x)容易计算。当给出f的值域中的任意元素y = f(x),若要求出x = f -1(y)时,只有知道设计f时的某种信息,计算容易,否则难以计算。,7.4 公开密钥系统,7.4.1公开密钥体制的基本原理 公开密钥密码体制核心问题是Kd。Ke和Kd存在一定的关系。解密密钥只能由接收方一人知晓。 举例说明,某用户Ul可以自己选择一对密钥Ke,Kd,并将Ke公布给其他用户,而只对Kd保密,其他用户,如U2,当需要向U1发送信息时,可以利用U1公布的加密密钥,

17、利用众所周知的加密算法和加密后发送,该密文只有合法接收者U2才能解密。 公开密钥密码体制的优点: 1.不需要在数据的接收方和发送方之间建立运送保密密钥的保护通道; 2.简化了密钥的管理。,7.4 公开密钥系统,7.4.2公开密钥密码体制的 协议 公开密钥系统从发信者A向收信者B进行保密通信和数字签名的协议。 设设A的公开钥为aKe,秘密钥为aKd;B的公开钥为bKe,秘密钥为bKd。 1.保密通信 由A向B发送明文M时,要执行下述过程: A用B的公开钥bKe将明文M加密,把密文C送往B C=E (bKe,M) B用自己的秘密钥bKd将C解密,以恢复明文 M=D(bKd,C),7.4 公开密钥系

18、统,2.数字签名 由A向B发信,数字签名过程: A用自己的秘密钥aKd将M签名,把签名文S送往B S=D (aKd,M) B用A的公开钥aKe将S还原,得到明文M,若M的意思是明白的,则可确认是A 发来的信息 M=E(aKe,S) 3.带签名的数字通信 由A向B发信,带签名的数字通信过程: A用自己的秘密钥aKd将M签名,得到签名文S S=D (aKd,M),7.4 公开密钥系统, A用B的公开钥bKe将S加密 C=E(bKe,S) B用自己的秘密钥bKd将C解密,恢复签名文 S=D(bKd,C) B用A的公开钥aKe将S还原,得到明文M,若M的意思是明白的,则可确认是A 发来的信息 M=E(

19、aKe,S) 另外,带签名的数字通信的个步骤内的顺序可以调换. 即: 和 的 C=E(bKe, D (aKd,M) 和 的 M=E(aKe, D(bKd,C) 可以调换为: C=D(aKd, E (bKe,M) M=D(bKd, E(aKe,C),7.4 公开密钥系统,7.4.3 RSA公开密钥码体制 RSA公开密钥密码体制是美国马萨诸塞理工学院的里夫斯特(R.L.Rivest)、沙米尔(Shamir)、艾德勒曼(L.Adleman)于1977年4月发表的论文数字签名和公开密钥码体制中提出的,其算法取三人的名字的字头命名为RSA算法。这种密码体制利用了分解大整数因子的困难度来提高保密性。并得到

20、了较广泛的应用。,7.4 公开密钥系统,7.4.4 DES算法和RSA算法的对比 评价一种密码体制的优劣的标准应当是: a密码的安全性和保密性; b用户使用的方便性; c加密、解密算法的效率; d密钥的生成与管理的简便性。,7.4 公开密钥系统,DES算法和RSA算法的对比 DES算法 RSA算法 密码体制 常规密码体制 公开密钥密码体制 加密算法的基础 代替、换位混合方式 素因数分解 加、解密过程 相同 相同 密钥的分配方法 秘密 公开 密钥长度 56比特 不定,约为数百比特 明文分组长度 64比特 不定,同密钥长度 密文长度 同明文 同明文 数字签名 困难 简单 实现的简易性 可由硬件或软件简单实现 可由硬件研制,并需软件支援 加解密处理速度 硬件2bit/8软件90

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论