




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、信息安全与管理1信息安全与管理第四讲 密码学 信息安全与管理2一、密码学概述 密码体制:1)传统密码体制 2)现代密码体制传统密码体制:对称密码体制(单钥体制)现代密码体制:非对称密码体制(公钥密码体制、双钥体制)按照对明文的处理方式分为:分组密码算法和序列密码算法。分组密码算法:把明文分成等长的组分别加密序列密码算法:是一个比特一个比特地处理,用已知的密钥随机序列与明文按位异或。第四章 传统密码学 信息安全与管理3二、加密和解密 第四章 传统密码学加密解密明文P密文C原 始 明 文ME(P)=C.D(C)=PD(E(P)=P明文Plaintext 密文Cipher text加密Encrypt
2、ion 解密Decryption密钥key信息安全与管理4二、加密和解密 第四章 传统密码学密码就是一组含有参数k的变换E。设已知信息m,通过变换E得到密文c。即 c=Ek(m) 这个过程称之为加密,参数k称为密钥。解密算法D是加密算法E的逆运算,解密算法也是含参数k的变换。DK(EK(M)=M.加密解密明文P密文C原始明文P密钥K密钥KEK(P)=CDK(C)=P.信息安全与管理5二、加密和解密 第四章 传统密码学 DK2 (EK1(P)=P 双钥密码体制加密解密明文P密文C原始明文P加密密钥K1解密密钥K2EK1(P)=CDK2(C)=P信息安全与管理6定义: (密码体制)它是一个五元组(
3、P,C,K,E,D)满足条件: (1)P是可能明文的有限集;(明文空间) (2)C是可能密文的有限集;(密文空间) (3)K是一切可能密钥构成的有限集;(密钥空间) *(4)任意k K,有一个加密算法 和相应的解密算法 ,使得 和 分别为加密解密函数,满足dk(ek(x)=x, 这里 x P。二、加密和解密 第四章 传统密码学 EekCPek:PCdk:DdkDdk信息安全与管理7二、加密和解密 第四章 传统密码学加密通信的模型信源加密机解密机接收者安全信道密钥源窃听者xyxk1密钥源k2不安全信道密码分析信息安全与管理81*.Alice要将明文在不安全信道上发给Bob,设X=x1 x2 xn
4、 , 其中xi P, Alice用加密算法ek作yi=ek(xi) 1 i n 结果的密文是 Y=y1y2.yn ,在信道上发送, Bob收到后解密:xi=dk(yi) 得到明文X=x1 x2 xn .。2*.加密函数ek必须是单射函数,就是一对一的函数。3*.好的密钥算法是唯密钥而保密的。4*.若Alice和Bob在一次通信中使用相同的密钥,那么这个加密体制为对称的,否则称为非对称的。二、加密和解密 第四章 传统密码学信息安全与管理91、对称算法:加密密钥能够从解密密钥中推算出来,反之也成立。2、对多数对称算法,加/解密密钥是相同的又称之为秘密密钥算法或单密钥算法3、对称算法有两类:序列密码
5、(流密码)和分组密码。4、序列密码算法:已知的密钥随机序列与明文按位异或。 加密: 解密:二、加密和解密对称算法 iiiKCP第四章 传统密码学iiiKPC信息安全与管理10对于一个序列如果对所有的i总有Ki+p=Ki,则序列是以p为周期的,满足条件的最小的p称为序列的周期。密钥流发生器产生的序列周期应该足够的长,如250。基于移位寄存器的序列密码应用十分广泛。一个反馈移位寄存器由两部分组成:移位寄存器和反馈函数。移位寄存器的长度用位表示,如果是n位长,称为n位移位寄存器。移位寄存器每次向右移动一位,新的最左边的位根据反馈函数计算得到,移位寄存器输出的位是最低位。 图4.6 反馈移位寄存器第四
6、章 传统密码学二、加密和解密对称算法 信息安全与管理11最简单的反馈移位寄存器是线形反馈移位寄存器,反馈函数是寄存器中某些位简单异或。 产生好的序列密码的主要途径之一是利用移位寄存器产生伪随机序列,典型方法有:(1)反馈移位寄存器:采用非线性反馈函数产生大周期的非线性序列(2)利用线性移位寄存器序列加非线性前馈函数,产生前馈序列(3)钟控序列,利用一个寄存器序列作为时钟控制另一寄存器序列(或自己控制自己)来产生钟控序列,这种序列具有大的线性复杂度。二、加密和解密对称算法 第四章 传统密码学信息安全与管理125、分组密钥:将明文分成固定长度的组(块),如64比特一组,用同一密钥和算法对每一块加密
7、,输出也是固定长度的密文。著名的分组密码包括出自IBM被美国政府正式采纳的数据加密算法(Data Encryption Algorithm,DEA)、由中国学者Xuejia Lai和 James L. Massey 在苏黎世的ETH开发的国际数据加密算法IDEA(International Data Encryption Algorithm)、比利时Joan Daemen 和 Vincent Rijmen 提交,被美国国家标准和技术研究所(US National Institute of Standards and Technology,NIST)选为美国高级加密标准(AES)的Rijndae
8、l。二、加密和解密对称密钥、公开密钥算法第四章 传统密码学信息安全与管理13 公开密钥算法中用作加密的密钥不同于用作解密的密钥,而且解密密钥不能根据加密密钥计算出来(至少在合理假定的长时间内),所以加密密钥能够公开,每个人都能用加密密钥加密信息,但只有解密密钥的拥有者才能解密信息。在公开密钥算法系统中,加密密钥叫做公开密钥(简称公钥),解密密钥叫做秘密密钥(私有密钥,简称私钥)。公开密钥算法主要用于加密/解密、数字签名、密钥交换。自从1976年公钥密码的思想提出以来,国际上已经出现了许多种公钥密码体制,比较流行的有基于大整数因了分解问题的RSA体制和Rabin体制、基于有限域上的离散对数问题的
9、Differ-Hellman公钥体制和ElGamal体制、基于椭圆曲线上的离散对数问题的Differ-Hellman公钥体制和ElGamal体制。这些密码体制有的只适合于密钥交换,有的只适合于加密/解密。二、加密和解密 公开密钥算法 第四章 传统密码学信息安全与管理14n对传输中的数据可以在通信的不同层次来实现,即:n链路加密:对两个节点之间的单独通信线路上数据进行加密保护。n 侧重于通信链路上而非信源和信宿n端到端加密:为网络提供从源到目的的传输加密保护。三、密码分析 信息安全与管理15三、密码分析密码体制评价 第四章 传统密码学保密强度:与数据的重要性有关 密钥的长度:安全、保管、记忆算法
10、的复杂度:开销大小差错的传播性:不应使差错导致通信失败加密后信息长度的增加程度:信息安全与管理16密码学:对信息进行编码实现隐蔽信息的一门学问。密码分析学:研究分析破译密码的学问。两者相互对立、促进。1、常用的密码分析攻击有四类常用的密码分析攻击有四类 : 加密算法:公开加密算法:公开 。 攻击目标:获得密钥攻击目标:获得密钥K唯密文攻击(ciphertext only attacks)。已知:截获部分密文已知明文攻击(know plaintext attacks)。已知:截获部分密文;若干明文密文对。选择明文攻击(chosen plaintext attacks)。已知:截获部分密文;自主选
11、择的明文密文对。选择密文攻击暂时接近密码机,可选择密文串,并构造出相应的明文。三、密码分析 第四章 传统密码学信息安全与管理172、一个安全的密钥体制应具有如下几条性质:(1)从密文恢复明文应该是难的,即使分析者知道明文空间(2)从密文计算出明文部分信息应该是难得。(3)从密文探测出简单却有用的事实应该是难的,如相同的信息被发送了两次。3、从敌手对密码体制攻击的效果看,可能达到的结果: 完全攻破 部分攻破 密文识别三、密码分析 第四章 传统密码学信息安全与管理18三、密码分析 第四章 传统密码学4、算法的安全性、算法的安全性 密码算法具有不同的安全等级 :以下情况可能是安全的. .破译算法的代
12、价大于加密数据的价值 . .破译算法所需的时间大于加密数据保密的时间 . .用单密钥加密的数据量小于破译算法需要的数据量 Shannon理论:仅当密钥至少和明文一样长时才无条件安全。如果不论密码分析者有多少密文,都没有足够的信息恢复出明文,那么这个算法就是无条件保密的,只有一次一密乱码本,才是无条件安全的。所有其它的密码系统在唯密文攻击中都是可破的 (蛮力攻击 )。信息安全与管理19三、密码分析 第四章 传统密码学密码学更关心在计算上不可破译的密码系统。如果一个算法用(现在或将来)可得到的资源(公开数据 )都不能破译,这个算法则被认为在计算上是安全的。 可以用不同方式衡量攻击方法的复杂性:数据
13、复杂性。用作攻击输入所需的数据量。处理复杂性。完成攻击所需要的时间,这个经常叫做工作因素。存储需求。进行攻击所需要的存储量。作为一个法则,攻击的复杂性取这三个因数的最小化,有些攻击包括这三种复杂性的折中:存储需求越大,攻击可能越快。 信息安全与管理20四、密码协议 第四章 传统密码学1、协议:两个或两个以上的参与者为完成某项特定的任务而采取的一系列步骤。2、密码学待解决的各种问题围绕着:机密性、完整性、认证性、匿名性、公平性。3、密码协议(安全协议):使用密码学完成某项特定的任务并满足安全需求的协议。 如:消息认证协议、数字签名协议等(1)密钥建立协议:在两个或多个实体之间建立会话密钥(2)认
14、证协议:防止假冒攻击将认证和密钥建立协议结合在一起,是网络通信中最普遍应用的安全协议。信息安全与管理21五、传统密码学 第四章 传统密码学1、移位法 :将明文字母互相换位,明文的字母不变,但顺序被打乱了。 例如:线路加密法 明文以固定的宽度水平写出,密文按垂直方向读出。明文:COMPUTERSYSTEMSECURITYCOMPUTERSYSTEMSECURITY密文:CTSETOETCYMREUPSMRUYSI信息安全与管理22五、传统密码学 第四章 传统密码学2、代替法 :代替密码就是明文中每一个字符被替换成密文中的另外一个字符,代替后的各字母保持原来位置。对密文进行逆替换就可恢复出明文。有
15、四种类型的代替密码:(1)单表(简单)代替密码:就是明文的一个字符用相应的一个密文字符代替。加密过程中是从明文字母表到密文字母表的一一映射。例:恺撒(Caesar)密码。(2)同音代替密码:它与简单代替密码系统相似,唯一的不同是单个字符明文可以映射成密文的几个字符之一同音代替的密文并不唯一。(3)多字母组代替密码:字符块被成组加密,例如“ABA”可能对应“RTQ”,ABB可能对应“SLL”等。例:Playfair密码。(4)多表代替密码:由多个单字母密码构成,每个密钥加密对应位置的明文。 例:维吉尼亚密码。信息安全与管理23五、传统密码学 第四章 传统密码学3、凯撒(Caesar)密码 令26
16、个字母分别对应于025,a=1,b=2y=25,z=0。凯撒加密变换实际上是c (m + k) mod 26其中m是明文对应的数据,c是与明文对应的密文数据,k是加密用的参数,叫密钥。比如明文:data security 对应数据序列:4,1,20,1,19,5,3,21,18,9,20,25k=5时,得密文序列9,6,25,6,24,10,8,0,23,14,25,4密文:ifyxjhzwnyd缺点:容易破解密码。信息安全与管理24置换密码:1*. 置换的表示: 2*密钥空间K很大,|k|=26! 41026,破译者穷举搜索是不行的,然而,可由统计的方式破译它。3*移位密码体制是替换密码体制
17、的一个特例,它仅含26个置换做为密钥空间五、传统密码学 第四章 传统密码学移位密码:如凯撒(Caesar)密码 。仿射密码:如果选取k1,k2两个参数,其中 k1 与 26 互素,令c(k1m + k2)mod 26。这种变换称为仿射变换。 (0 1 2 3 .23 24 250 1 2 3 .23 24 25)信息安全与管理25五、传统密码学 第四章 传统密码学4、Playfair密码(英国曾用)密钥由25个英文字母(J与I相同)组成的5阶方阵。 每一对明文字母 m1和m2,都根据下面的6条规则进行加密。(1)明文字母 m1和m2同行。密文是其右边字母。(2)明文字母 m1和m2同列。密文是
18、其下边字母。(3)明文字母 m1和m2不同行、不同列。密文是长方形的另两个顶点。(4)明文字母 m1和m2相同。在m1和m2之间加一个无效字母。(5)明文有奇数个字母,末尾加一个无效字母。(6)I、J看成是相同字母。信息安全与管理26五、传统密码学 第四章 传统密码学例:25个字母组成5阶方阵如下(J与I相同):HARPS (1)明文字母 m1和m2同行。密文是其右边字母。ICODB (3) m1和m2不同行、不同列。密文是长方形的另两个顶点。EFGKLMNQTUVWXYZ例:明文:CO MP UT ER 密文:OD TH MU GH利用规则: 1 3 1 3信息安全与管理27五、传统密码学
19、第四章 传统密码学5、维吉尼亚(、维吉尼亚(Vigenere)密码密码典型的多表密码,即一个明文字母可表示为多个密文字母。:例如:明文为System,密钥为dog,加密过程如下:明文:S y s t e m密钥:d o g d o g密文:V m g w r s在这个例子中,每三个字母中的第一、第二、第三个字母分别移动(mod 26)3个,14个和6个位置。信息安全与管理28五、传统密码学 第四章 传统密码学优点:能抵抗简单的字母频率分析攻击。优点:能抵抗简单的字母频率分析攻击。设密钥设密钥k=kk=k1 1k k2 2kkn n,明文明文M=mM=m1 1m m2 2mmn n,加密变换加密
20、变换E Ek k(M)=c(M)=c1 1c c2 2ccn n。其中其中c ci i( m( mi i + k + ki i) mod 26) mod 26,i=1,2ni=1,2n。 多表密码加密算法结果将使得对单表置换用的简单多表密码加密算法结果将使得对单表置换用的简单频率分析方法失效。频率分析方法失效。信息安全与管理29五、传统密码学 第四章 传统密码学6、一次一密密码、一次一密密码一次一密密码,由AT&T公司的Gilbert Vernam在1917年提出。发方和收方各保存一份一次一密乱码本,它是一个大的不重复的真随机密钥字母集。发方用乱码本中的某一页密钥加密明文。加密方法:明文字符和
21、乱码本密钥字符的模26加法。每个密钥仅对一个消息使用一次。发方对所发的消息加密,然后销毁乱码本中用过的一页。收方有一个同样的乱码本,并依次使用乱码本上的每个密钥去解密密文的每个字符,然后销毁乱码本中用过的一页。信息安全与管理30六、单表密码分析 第四章 传统密码学英语26个字母中,各字母出现的频率不同而稳定,经过大量统计,可以给出了各字母出现的频率值。英文明文字母按出现概率大小分组表:1 e 0.12 t a o i n s h r 0.05-0.13 d l 0.03-0.054 c u m w f g y p b 0.01-0.035 v k j x q z 0.01信息安全与管理31六、
22、单表密码分析 第四章 传统密码学字母、三字母组合是分析单表密码的有力手段 。英语单词以e、s、t、d双结尾的超过一半;以t、a、s、w 为起始字母的约为一半。某些常用用法也会提供有价值的线索,如信的开头写Dear ;源程序的某一位置是版权声明;电子资金传送报头格式。 单表密码的弱点:明文和密文字母之间的一一代替关系。这使得明文中的一些固有特性和规律(比如语言的各种统计特性)必然反映到密文中去。信息安全与管理32一、 DES算法概述现代与古典密码学采用的基本思想相同:替换与变位。古典:算法简单,长密钥。现代:算法复杂。P盒和S盒4.3 分组密码 数据加密标准 P盒盒 用用 P盒构成的盒构成的 S
23、盒盒P盒 实质上是用硬件实现变位 ,改变输入序列S盒实质上是用硬件实现若干比特的替换译译码码器器编编码码器器信息安全与管理33一、 DES算法概述发明人:IBM公司W. Tuchman 和 C. Meyer 1971-72年研制。产生:美国商业部的国家标准局NBS1973年5月到1974年8月两次发布通告,公开征求用于电子计算机的加密算法。经评选从一大批算法中采纳了IBM的LUCIFER方案。标准化:于1976年11月被美国政府采用,DES随后被美国国家标准局和美国国家标准协会(American National Standard Institute, ANSI) 承认。1977年1月以数据加
24、密标准DES(Data Encryption Standard)的名称正式向社会公布。 于1977年7月15日生效。DES的发展:如衍生出可抗差分分析攻击的变形DES以及密钥长度为128比特的三重DES等。 数据加密标准信息安全与管理34一、 DES算法概述在1977年,人们估计要耗资两千万美元才能建成一个专门计算机用于DES的解密,而且需要12个小时的破解才能得到结果。 1997年开始,RSA公司发起了一个称作“向DES挑战”的竞技赛。1997年1月,用了96天时间,成功地破解了用DES加密的一段信息;一年之后,在第二届赛事上,这一记录41天 ;1998年7月, “第2-2届DES挑战赛(D
25、ES Challenge II-2)” 把破解DES的时间缩短到了只需56个小时; “第三届DES挑战赛(DES Challenge III)”把破解DES的时间缩短到了只需22.5小时 。数据加密标准信息安全与管理35一、 DES算法概述数据加密标准个 人 攻击小 组 攻击院 、 校网 络 攻击大公司军 事 情报机构40(bits) 数周数日数小时数毫秒数微秒56数百年数十年数年数小时数秒钟64数千年数百年数十年数日数分钟80不可能不可能不可能数百年数百年128不可能不可能不可能不可能数千年信息安全与管理36一、 DES算法概述数据加密标准上表中攻击者配有如下计算机资源的攻击能力 攻击者类型
26、所配有的计算机资源每秒处理的密钥数个人攻击1台高性能桌式计算机及其软件217-224小组攻击16台高性能桌式计算机及其软件221-224院、校网络攻击256台高性能桌式计算机及其软件225-228大公司配有价值1百万美元的硬件243 军事情报机构配有价值1百万美元的硬件及先进的攻击技术255 信息安全与管理37二、数据加密标准(DES) 数据加密标准 64位码64位码初始变换逆初始变换乘积变换16次迭代明文密文输入输出IPIP-1信息安全与管理38二、数据加密标准(DES) 数据加密标准利用传统的换位和置换加密。假定信息空间由0,1组成的字符串,信息被分成64比特的块,密钥是56比特。经过DE
27、S加密的密文也是64比特的块。明文:m=m1m2m64 mi = 0,1 i = 1,2,64密钥:k=k1k2k64 ki = 0,1 i = 1,2,64 其中k8,k16,k64是奇偶校验位,起作用的仅为56位。 加密算法加密算法:Ek(m) = IP-1T16T15T1IP(m) 其中IP为初始置换,IP-1是IP的逆,Ti,i = 1,2,16是一系列的变换。 解密算法解密算法:Ek-1 (c) = IP-1T1T2T16IP (c) 信息安全与管理39n中间各级算法说明nKi :每级密钥不同 二、数据加密标准(DES) 数据加密标准Li-1LiRi-1Ri Li-1 f(Ri-1
28、, Ki) 信息安全与管理40二、数据加密标准(DES) 数据加密标准加密函数加密函数(A,Ki)A(32位)加密时A=Ri-1扩展置换E48位结果48位Ki+选择函数组(S1S8)32位结果(A,Ki)置换运算P32位信息安全与管理41二、数据加密标准(DES) 数据加密标准左32位右32位Li-1Ri-1扩展置换E48位(明文)64位密钥作第i次迭代的计算机子密钥Ki密钥程序表48位(密钥)8组6位码S1S2S8模2加选择函数Si输入:6位输出:4位+乘积变换中的一次迭代乘积变换中的一次迭代信息安全与管理42二、数据加密标准(DES) 数据加密标准32位置换运算P32位加密函数输出32位L
29、iRi左32位右32位Ri-1Li-1模2加+.+信息安全与管理43二、数据加密标准(DES) 数据加密标准扩展置换扩展置换Er1(i)r2(i)r3(i)r4(i) r5(i)r6(i)r7(i)r8(i)r29(i)r30(i)r31(i)r32(i)r32(i)r1(i)r2(i)r3(i)r4(i) r5(i)r4(i)r5(i)r6(i)r7(i)r8(i) r9(i)r28(i)r29(i)r30(i)r31(i)r32(i) r1(i)把R(i)视为由8个4位二进制的块组成把它们再扩充为8个6位二进制的块(左右各增加一列)用E(R(i))表示这个变换,称为选择函数E。信息安全与管
30、理44二、数据加密标准(DES) 数据加密标准A32位32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 1312 13 14 15 16 1716 17 18 19 20 2120 21 22 23 24 2524 25 26 27 28 2928 29 30 31 32 1选择运算E选择运算E的结果48位扩展置换扩展置换E信息安全与管理45二、数据加密标准(DES) 数据加密标准使用密钥使用密钥在第i+1次迭代中,用48位二进制的密钥(由56位密钥生成,下边会介绍)K(i+1)=k1(i+1)k2(i+1)k48(i+1)与E(R(i))按位相加(逻辑异或),输出仍
31、是48位,共8行,每行6位。Z 1 :r32(i)+ k1(i+1) r1(i) +k2(i+1) r5(i) +k6(i+1)Z 2 :r4(i)+ k7(i+1) r5(i) +k8(i+1) r9(i) +k12(i+1)Z 8 :r28(i)+ k43(i+1) r29(i) +k44(i+1) r1(i) +k48(i+1)作为8个Si选择函数选择函数的输入信息安全与管理46二、数据加密标准(DES) 数据加密标准S1,S2.S8选择函数选择函数其功能是把6bit数据变为4bit数据。Si(i=1,2.8)的功能表: S1: 14,4,13,1,2,15,11,8,3,10,6,12
32、,5,9,0,7,0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8,4,1,14,8,13,6,2,11,15,12,9,7,3,10,5,0,15,12,8,2,4,9,1,7,5,11,3,14,10,0,6,13,S2: 15,1,8,14,6,11,3,4,9,7,2,13,12,0,5,10,3,13,4,7,15,2,8,14,12,0,1,10,6,9,11,5,0,14,7,11,10,4,13,1,5,8,12,6,9,3,2,15,13,8,10,1,3,15,4,2,11,6,7,12,0,5,14,9,信息安全与管理47数据加密标准S6:12,
33、1,10,15,9,2,6,8,0,13,3,4,14,7,5,11,10,15,4,2,7,12,9,5,6,1,13,14,0,11,3,8,9,14,15,5,2,8,12,3,7,0,4,10,1,13,11,6,4,3,2,12,9,5,15,10,11,14,1,7,6,0,8,13,S7:4,11,2,14,15,0,8,13,3,12,9,7,5,10,6,1,13,0,11,7,4,9,1,10,14,3,5,12,2,15,8,6,1,4,11,13,12,3,7,14,10,15,6,8,0,5,9,2,6,11,13,8,1,4,10,7,9,5,0,15,14,2,3
34、,12,S8:13,2,8,4,6,15,11,1,10,9,3,14,5,0,12,7,1,15,13,8,10,3,7,4,12,5,6,11,0,14,9,2,7,11,4,1,9,12,14,2,0,6,10,13,15,3,5,8,2,1,14,7,4,10,8,13,15,12,9,0,3,5,6,11,S3:10,0,9,14,6,3,15,5,1,13,12,7,11,4,2,8,13,7,0,9,3,4,6,10,2,8,5,14,12,11,15,1,13,6,4,9,8,15,3,0,11,1,2,12,5,10,14,7,1,10,13,0,6,9,8,7,4,15,1
35、4,3,11,5,2,12,S4:7,13,14,3,0,6,9,10,1,2,8,5,11,12,4,15,13,8,11,5,6,15,0,3,4,7,2,12,1,10,14,9,10,6,9,0,12,11,7,13,15,1,3,14,5,2,8,4,3,15,0,6,10,1,13,8,9,4,5,11,12,7,2,14,S5:2,12,4,1,7,10,11,6,8,5,3,15,13,0,14,9,14,11,2,12,4,7,13,1,5,0,15,10,3,9,8,6,4,2,1,11,10,13,7,8,15,9,12,5,6,3,0,14,11,8,12,7,1,14
36、,2,13,6,15,0,9,10,4,5,3,信息安全与管理48数据加密标准S 盒是DES 的最敏感部分,其原理至今未公开。人们担心S 盒隐藏陷门,使得只有他们才可以破译算法,但研究中并没有找到弱点。美国国家安全局透露了S 盒的几条设计准则:1 所有的S 盒都不是它输入的线性仿射函数。就是没有一个线性方程能将四个输出比特表示成六个比特输入的函数。2 改变S 盒的1 位输入,输出至少改变2 位。这意味着S 盒是经过精心设计的,它最大程度上增大了扩散量。3 S 盒的任意一位输出保持不变时,0 和1 个数之差极小。即如果保持一位不变而改变其它五位,那么其输出0 和1 的个数不应相差太多。信息安全与
37、管理49二、数据加密标准(DES) 数据加密标准使用选择函数使用选择函数S将以上第将以上第j个个(1j6)二进制的块(记为二进制的块(记为Z j=zj1 zj2 zj3 zj4 zj5 zj6)输入第输入第j个选择函数个选择函数Sj。各选择函数各选择函数Sj的功能是把的功能是把6位数位数变换成变换成4位数,做法是以位数,做法是以zj1zj6为行号,为行号,zj2 zj3 zj4 zj5为列号,为列号,查找查找Sj,行列交叉处即是要输出的行列交叉处即是要输出的4位数。位数。在此以在此以S1为例说明其功能,我们可以看到:在为例说明其功能,我们可以看到:在S1中,共有中,共有4行行数据,命名为数据,
38、命名为0,1、2、3行;每行有行;每行有16列,命名为列,命名为0、1、2、3,.,14、15列。现设输入为:列。现设输入为: D101100令:列令:列0110行行10坐标为(坐标为(2,6),然后在),然后在S1表中查得对应的数为表中查得对应的数为2,以,以4位二进制表示为位二进制表示为0010,此即选择函数,此即选择函数S1的输出。的输出。信息安全与管理50二、数据加密标准(DES) 数据加密标准 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 150 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 71 0 15 7 4 14 2 13 1
39、 10 6 12 11 9 5 3 82 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 03 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13S11 0 1 1 0 0 1020 0 1 0输入6位输出4位使用选择函数使用选择函数S的例子的例子信息安全与管理51二、数据加密标准(DES) 数据加密标准8个选择函数的输出(32位)位)16 7 20 2129 12 28 17 1 15 23 26 5 18 31 10 2 8 24 1432 27 3 919 13 30 622 11 4 25置换P加密函数的结果X(32位)位)置换置换P(单
40、单纯换位表)纯换位表)信息安全与管理52二、数据加密标准(DES) 数据加密标准迭代迭代把L(i)与X(i)按位相加,形成R(i+1),且令R(i)为L(i+1),即得到经第i+1次迭代加密后的输出L(i+1)R(i+1),其中L(i+1)= R(i)R(i+1)= L(i) f(R(i),K(i+1)) (*)(i=0,1,2,15)信息安全与管理53数据加密标准64位密钥置换选择1C0(28位)D0(28位)循环左移循环左移C1(28位)D1(28位)置换选择2K1(48位)(56位位)循环左移循环左移Ci(28位)Di(28位)置换选择2Ki(48位)(56位位)16个子密钥的生成算法个
41、子密钥的生成算法循环左移:1 1 9 12 1 10 23 2 11 24 2 12 25 2 13 26 2 14 27 2 15 28 2 16 1信息安全与管理54二、数据加密标准(DES) 数据加密标准置换选择置换选择1密钥计算的目的在于产生加密和解密时所需要的密钥计算的目的在于产生加密和解密时所需要的16个子密钥,记作个子密钥,记作K(i)。初始密钥初始密钥Key值为值为64位,但位,但DES算法规定,其中第算法规定,其中第8、16、.64位是奇偶校位是奇偶校验位,不参与验位,不参与DES运算。故运算。故Key 实际可用位数便只实际可用位数便只有有56位。即:经过子密钥换位表位。即:
42、经过子密钥换位表PC-1的变换后,的变换后,Key 的位数由的位数由64 位变成了位变成了56位,此位,此56位分为位分为C0、D0两部分,各两部分,各28位。位。信息安全与管理55二、数据加密标准(DES) 数据加密标准57 49 41 33 25 17 9 1 58 50 42 34 26 1810 2 59 51 43 35 2719 11 3 60 52 44 3663 55 47 39 31 33 15 7 62 54 46 38 30 2214 6 61 53 45 37 2921 13 5 28 20 12 4不考虑各字节第8位密钥(64位)C0(28位)D0(28位)密钥置换选
43、择密钥置换选择1信息安全与管理56二、数据加密标准(DES) 数据加密标准循环移位规则:循环移位规则:轮数:轮数:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16位数:位数:1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1密钥置换选择密钥置换选择25656位分为位分为C C0 0、D D0 0两部分,然后分别进行第两部分,然后分别进行第1次循环左移,得次循环左移,得到到C1、D1,将将C1(28位)、位)、D1(28位)合并得到位)合并得到56位,位,再经过子密钥换位表再经过子密钥换位表PC-2,便得到了密钥便得到了密钥K1(48位)。位)。 子密钥换
44、位表子密钥换位表PC-2给出了选择及选择后的次序,可以看出给出了选择及选择后的次序,可以看出去掉了第去掉了第9、18、22、25、35、38、43、54位。位。信息安全与管理57二、数据加密标准(DES) 数据加密标准Ci(28位)Di(28位)14 17 11 24 1 5 3 28 15 6 21 1023 19 12 4 26 816 7 27 20 13 241 52 31 37 47 5530 40 51 45 33 4844 49 39 56 34 5346 42 50 36 29 32Ki(48位)密钥置换密钥置换2去掉第9,18,22,25,35,38,43,54位,56位变成
45、48位信息安全与管理58二、数据加密标准(DES) 数据加密标准L0R0 IP(明文)L1R0 R1 L0(R0,K1)L2R1 R2 L1(R1,K2)L16R15 R16 L15(R15,K16)密文 IP-1(R16L16)加密过程加密过程:L0R0 IP()LnRn-1Rn Ln-1(Rn-1,Kn) IP-1(R16L16)解密过程解密过程:R16L16 IP()Rn-1LnLn-1Rn(Ln,Kn) IP-1(L0R0)信息安全与管理59二、数据加密标准(DES) 数据加密标准DES算法1. 处理密钥:1.1 从用户处获得64位密钥Key.(每第8位为校验位,为使密钥有正确的奇偶校
46、验,每个密钥要有奇数个”1”位.(本文如未特指,均指二进制位)1.2 具体过程:1.2.1 对密钥实施变换, 经过子密钥换位表PC-1的变换后,Key 的位数由64 位变成了56位。1.2.2 把变换后的密钥等分成两部分,前28位记为C0, 后28位记为D0。信息安全与管理60二、数据加密标准(DES) 数据加密标准1.2.3 计算子密钥(共16个), 从i=1开始。1.2.3.1 分别对Ci-1、Di-1作循环左移来生成Ci、Di(共16次)。1.2.3.2 串联Ci、Di,得到一个56位数,然后对此数作子密钥换位表PC-2变换以产生48位子密钥Ki。(P53 表4.6)1.2.3.3 按以
47、上方法计算出16个子密钥。 2对64位数据块的处理:21 把数据分成64位的数据块,不够64位的以适当方式填补。22对数据块利用初始变换IP表作变换。23 将变换后的数据块等分成前后两部分,前32位记为L0,后32位记为R0。 信息安全与管理61二、数据加密标准(DES) 数据加密标准24 用16个子密钥对数据加密。241 利用扩展置换E,扩展32位的成48位242 用ER (i-1)与子密钥K(i)作按位异或运算。243 把所得的48位数分成8个6位数。1-6位为Z 1,7-12位为Z 2,43-48位为Z 8。244 用S密箱里的值替换Z j。从j=1开始。S密箱里的值为4位数,共8个S密
48、箱2441 取出Z j的第1和第6位串联起来成一个2位数,记为m.。m即是Sj密箱里用来替换Z j的数所在的列数。2442 取出Z j的第2至第5位串联起来成一个4位数,记为n。n即是Sj密箱里用来替换Z j的数所在的行数。信息安全与管理62二、数据加密标准(DES) 数据加密标准2443 用S密箱里坐标(n,m)的值替换。245八个选择函数Sj(1j8)的输出拼接为32位二进制数据区组,把它作为P盒置换的输入,得到输出246 把得到的结果与L(i-1)作异或运算。把计算结果賦给R(i)。247 把R(i-1)的值賦给L(i),完成第1轮乘积变换。248 从241循环执行,直到K(16)也被用
49、到。216轮25 把R(16)和L(16) 顺序串联起来得到一个64位数。对这个数实施22变换的逆变换IP-1。信息安全与管理63二、数据加密标准(DES)数据加密标准+K1+K2+KnDES设计原理重复交替使用选择函数S和置换运算P两种变换使用 Feistel密码结构(1967年)信息安全与管理64DES算法的脆弱性DES的半公开性:S盒的原理至今保密,所以不能算作真正的公开加密算法。1)函数构造与作用域:加密强度取决于函数f的复杂度 (S、P)和f的执行次数。n64位固定分组,短组模式,易造成密文重复组块n有限的函数作用域 ASCII码 0127n子密钥只参与异或简单的运算,有可能损害变换
50、精度。2)迭代问题无法证明迭代16次最好 迭代在有限的作用域中存在封闭性;迭代次数多不仅费时,还可能被一次简单的变换所代替。信息安全与管理65DES算法的脆弱性3)S盒中的重复因子及密钥多值问题S盒设计中利用重复因子,导致S盒对不同输入可能产生相同输出,使加密、解密变换的密钥具有多值性。子密钥长度48位,只影响32位输出,因此加密强度达不到256,实际只有232x16=236S盒是精心设计的,它有利于设计者破译密码。提高加密强度(如增加密钥长度),系统开销呈指数增长,除提高硬件、并行处理外,算法本身和软件技术无法提高加密强度。信息安全与管理66多重DES及IDEAn二重DES (二个密钥,长度
51、112位) :n加密:C=Ek2Ek1(P)n解密:P=Dk1Dk2(C)n要防止中途攻击n三重DES(二个密钥)n加密: C=Ek1Dk2 Ek1(P)n解密: P=Dk1Ek2 Dk1(C)vIDEA加密算法 1992年,瑞士的Lai和Massey 128位密钥,8轮,快速,软硬件实现。信息安全与管理67三、高级加密标准(AES) NIST(国家标准技术研究所)1997年9月12日发出征集高级加密标准的通知 。1998年8月首次选出15个候选者,1999年3月遴选出5个,包括:E2、MARS、RC6、Rijndael、Twofish。2000年10月2日,美国商务部部长宣布比利时的Rijn
52、dael算法成为新的AES。选择的基本条件:公开;分组单钥,分组长度128;密钥可为128,192,256;可软硬件实现。优劣标准:安全性;计算效率;内存要求;简便灵活。此外:适应性;减少专利纠纷;分散目标减少攻击。AES被开发用于替代DES,但NIST预测Triple DES仍将在近期作为一种实用的算法,单DES将逐步退出。 信息安全与管理68分组密码运行模式数据加密标准ECB(电码本)模式: 各明文组独立地以同一密钥加密;传送短数据信息安全与管理69nECB模式的主要特点:1.每次加密数据长度为64位;2.数据块重新排序不需要检测;3.相同的明文块(使用相同的密钥)产生相同的密文块,这使得
53、算法容易遭受字典攻击;4.一个错误仅仅会对一个密文块产生影响.分组密码运行模式信息安全与管理70分组密码运行模式 CBC(密码分组链接)模式: Cn=EkCn-1Pn;初始向量V1; 用途:传送数据分组;认证。信息安全与管理71nCBC模式的主要特点:1.一次加密64位数据;2.当相同的明文使用相同的密钥和初始向量的时候CBC模式总是产生相同的密文;3.链操作使得密文块要依赖当前和以前处理过的明文块,所以,密文块不能进行重新排列;4.可以使用不同的初始化向量来避免相同的明文产生相同的密文,一定程度上抵抗字典攻击;5.一个错误发生后,会对当前以及以后的密文都产生影响 ;n6.不得实时解密,当实时
54、性比较高的时候不合适。分组密码运行模式信息安全与管理72分组密码运行模式nCFB(密码反馈)模式:利用CFB、OFB模式,可将DES转换为流密码。流密码无需填充消息,实时运行。流密码中明文和密文长度相同。如对字符加密,只要密钥长度8bit。 Cn=Pn SSj(E(C n-1)信息安全与管理73分组密码运行模式nCFB模式的主要特点是:1.每次加密的数据(j位)不超过64位;2.当使用相同的密钥和初始向量的时候,相同明文使用CFB模式加密输出相同的密文;3.链操作的方法使得密文数据依赖当前和以前所有的数据,所以j位数据都组织在一起,顺序不能打乱重排。4.可以使用不同的初始化变量使相同的明文产生
55、不同的密文,防止字典攻击;5.CFB模式的强度依赖于密钥的长度k,最大值是(j=k)的情况;6.当j的取值比较小的时候,相同的明文一般需要更多的循环来完成加密,这可能会导致过大的开销;7.j的位数应该为8的整数倍;8.一旦某位数据出错,会影响到目前和其后的加密数据.信息安全与管理74分组密码运行模式 OFB(输出反馈)模式:用分组密码产生一个随机密钥流,将此密钥流和明文流进行异或可得密文流。仍然需要一个初始向量(IV)信息安全与管理75分组密码运行模式nOFB模式的特点如下:1.每次加密的数据(j位)不超过64位;2.当使用相同的密钥和初始向量的时候,相同明文使用CFB模式加密输出相同的密文,
56、需要注意的是,在OFB模式相同的密钥和开始变量产生相同的密钥流,所以,为了安全原因,一个特定的开始变量对一个给定的密钥应该只使用一次;3.因为没有使用链操作,所以使得OFB模式更容易受到攻击;4.可以使用不同的初始变量,使得产生不同的密钥流,从而使得相同的明文使用相同密钥产生不同的密文;5.当j的取值比较小的时候,相同的明文一般需要更多的循环来完成加密,这可能会导致过大的开销;6.j的位数应该为8的整数倍;7.OFB模式不会进行错误传播,某位密文发生错误,只会影响该位对应的明文,而不会影响别的位;8.OFB模式不是自同步的,如果加密和解密两个操作失去同步,那么系统需要重新初始化;9.每次重新同
57、步的时候,应该使用不同的初始化向量。这样可以避免产生相同的比特流,从而避免“已知明文”攻击. 信息安全与管理76一、RSA算法概述 传统密码体制的缺陷传统密码体制的缺陷:密钥管理的麻烦:密钥管理的麻烦:n个用户保存个用户保存n*(n-1)/2个密钥。个密钥。不能提供法律证据不能提供法律证据 :不仅要保密还要解决证实问题。 1976年,美国学者Diffie和Hellman发表了著名论文密码学的新方向,提出了建立“公开密钥密码体制”:若用户A有加密密钥ka(公开),不同于解秘密钥ka(保密),要求ka的公开不影响ka的安全。若B要向A保密送去明文m,可查A的公开密钥ka,若用ka加密得密文c,A收
58、到c后,用只有A自己才掌握的解密密钥ka对x进行解密得到m。公开密钥算法 信息安全与管理77一、 RSA算法概述 公钥密码(双钥密码、非对称密码),是1976年由Diffie和Hellman在其“密码学新方向”一文中提出的单向陷门函数是满足下列条件的函数f:(1)给定x,计算y=f(x)是容易的;(2)给定y, 计算x使y=f(x)是非常困难的,无实际意义。(3)存在,已知 时,对给定的任何y,若相应的x存在,则计算x使y=f(x)是容易的。注:1*. 仅满足(1)、(2)两条的称为单向函数;第(3)条称为陷门性, 称为陷门信息。第五章 密码学的应用 信息安全与管理78一、 RSA算法概述 2
59、*. 当用陷门函数f作为加密函数时,可将f公开,这相当于公开加密密钥。此时加密密钥便称为公开密钥,记为Pk。 f函数的设计者将 保密,用作解密密钥,此时 称为秘密钥匙,记为Sk。由于加密函数是公开的,任何人都可以将信息x加密成y=f(x),然后送给函数的设计者(可以通过不安全信道传送);由于设计者拥有Sk,他自然可以解出x=f-1(y)。 3*.单向陷门函数的第(2)条性质表明窃听者由截获的密文y=f(x)推测x是不可行的。第五章 密码学的应用信息安全与管理79Diffie-Hellman 密钥交换算法密钥交换算法 Diffie 和Hellman 并没有给出公钥密码实例,也既没能找出一个真正带
60、陷门陷门的单向函数。然而,他们给出单向函数的实例,并且基于此提出D-H密钥交换算法。这个算法是基于有限域中计算离散对数的困难性问题之上的:对任意正整数x,计算gx 是容易的;但是已知g和y求x使y= gx,是计算上几乎不可能的。这称为有限域上的离散对数问题。公钥密码学中使最广泛的有限域为素域FP 。D-H密钥交换算法拥有美国和加拿大的专利。第五章 密码学的应用信息安全与管理80D-H密钥交换协议:A和B协商一个大素数p和大整数g,1gp,g最好是FP中的本原元,即gx mod p可生成1p-1中的各整数,例:2是11的本原元。p和g公开。当A和B按如下步骤进行保密通信:(1)A取大的随机数x,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 甘肃林业职业技术学院《证券投资模拟》2023-2024学年第二学期期末试卷
- 西藏大学《文档数据库》2023-2024学年第二学期期末试卷
- 河北工程大学科信学院《变频器原理及应用》2023-2024学年第二学期期末试卷
- 温州职业技术学院《电竞赛事运营》2023-2024学年第二学期期末试卷
- 安康学院《小学生品德发展与道德教育》2023-2024学年第二学期期末试卷
- 湖南大众传媒职业技术学院《嵌入式系统原理及应用》2023-2024学年第二学期期末试卷
- 天津滨海职业学院《手球》2023-2024学年第二学期期末试卷
- 镇江市高等专科学校《机制设计理论及应用》2023-2024学年第二学期期末试卷
- 广西蓝天航空职业学院《传播与策划》2023-2024学年第二学期期末试卷
- 济宁医学院《大气科学概论》2023-2024学年第二学期期末试卷
- 国有建筑施工企业提质增效探讨
- 儿科社区获得性肺炎护理
- 2025年生猪屠宰兽医卫生检疫人员考试题(附答案)
- 2025届云南省楚雄市重点名校初三一模物理试题(海淀一模)试卷含解析
- 记叙文阅读理解解析(课件)-部编版语文五年级下册阅读理解
- 科技型中小企业金融服务实践路径
- 2024北京海淀区高一(下)期末英语试题和答案
- 2025年行政执法证资格考试必刷经典题库及答案(共130题)
- 2025年乙肝知识试题及答案
- 七下18《井岗翠竹》公开课一等奖创新教案
- 职业卫生基础-第三次形考作业-国开(SC)-参考资料
评论
0/150
提交评论