《第二章-密码学基础ppt课件.ppt》由会员分享,可在线阅读,更多相关《第二章-密码学基础ppt课件.ppt(158页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2022-8-1网络安全网络安全Network SecurityNetwork Security2022-8-1第第2 2章章 密码学基础密码学基础2022-8-1第第2 2章章 密码学基础密码学基础2022-8-1l密码算法分类密码算法分类密码算法密码算法基于密钥保密性基于密钥保密性基于算法保密性基于算法保密性基于保密的内容基于保密的内容对称密码算法对称密码算法非对称密码算法非对称密码算法分组密码算法分组密码算法流密码算法流密码算法明文处理方法明文处理方法密码算法密码算法对称密码学:对称密码学: DESAES非对称密码学:非对称密码学:RSAECC5 数据加密数据加密(Encryption)
2、是指将明文信息是指将明文信息(Plaintext)采取数学方法进行函数转换成密文采取数学方法进行函数转换成密文(Ciphertext),只有,只有特定接受方才能将其解密特定接受方才能将其解密(Decryption)还原成明文的还原成明文的过程。过程。 q 明文明文(Plaintext) : 加密前的原始信息;加密前的原始信息;q 密文密文(Ciphertext) :明文被加密后的信息;:明文被加密后的信息;q 密钥密钥(Key): 控制加密算法和解密算法得以实控制加密算法和解密算法得以实现的关键信息,分为加密密钥和解密密钥;现的关键信息,分为加密密钥和解密密钥;q 加密加密(Encryptio
3、n):将明文通过数学算法转换:将明文通过数学算法转换成密文的过程;成密文的过程;q 解密解密(Decryption):将密文还原成明文的过程。:将密文还原成明文的过程。67q 数据保密;数据保密;q 身份验证;身份验证;q 保持数据完整性;保持数据完整性;q 确认事件的发生。确认事件的发生。传统密码学传统密码学1. 置换密码(permutation cipher),又称换位密码(transposition cipher):将明文字母互相换位,明文的字母不变,但顺序被打乱了。例如:线路加密法 明文以固定的宽度水平写出,密文按垂直方向读出。明文:COMPUTER SYSTEMS ECURITYCO
4、MPUTERSYSTEMSECURITY密文:CTSETOETCYMREUPSMRUYSI2 2、代替法、代替法 :代替密码就是明文中每一个字符被:代替密码就是明文中每一个字符被替换成密文中的另外一个字符,代替后的各字替换成密文中的另外一个字符,代替后的各字母保持原来位置。对密文进行逆替换就可恢复母保持原来位置。对密文进行逆替换就可恢复出明文。出明文。 凯撒密码凯撒密码就是单表代替密码,它的每一个明文就是单表代替密码,它的每一个明文字符都由其右边第字符都由其右边第3 3个(模个(模2626)字符代替()字符代替(A A由由D D代替,代替,B B由由E E代替代替,W,W由由Z Z代替代替,X
5、,X由由A A代替,代替,Y Y由由B B代代替,替,Z Z由由C C代替)。代替)。明文明文 abcdefghijklm密文密文 DEFGHIJKLMNOP明文明文 nopqrstuvwxyz密文密文 QRSTUVW XYZABC 若明文若明文m=Casear cipher is a shift substitution 则密文则密文C=E(m)=FDVHDU FLSHU LV D VKLIW VXEVWLWXWLRQCAESAR密码的加法变换密码的加法变换 c (P + k) mod 26其中其中P是明文对应的数据,是明文对应的数据,c是与明文对应的密文数是与明文对应的密文数据,据,k是加
6、密用的参数,叫密钥。是加密用的参数,叫密钥。例如:明文:例如:明文:data security 对应数据序列:对应数据序列:4,1,20,1,19,5,3,21,18,9,20,25,当,当k=5时,密文序列是多少?时,密文序列是多少?得密文序列:得密文序列:9,6,25,6,24,10,8,0,23,14,25,4密文:密文:ifyxjhzwnyd缺点:容易破解密码,可以使用统计攻击缺点:容易破解密码,可以使用统计攻击 练习:明文P:I am a network manager 密钥k=413密码的分类密码的分类密码体制从原理上分为:密码体制从原理上分为:1)传统密码体制)传统密码体制 :对
7、称密码体制(单钥体制):对称密码体制(单钥体制)2)现代密码体制:非对称密码体制(公钥密码体制、双)现代密码体制:非对称密码体制(公钥密码体制、双钥体制)钥体制)按照对明文的处理方式分为:分组密码算法和序列密码按照对明文的处理方式分为:分组密码算法和序列密码算法(流密码)。算法(流密码)。分组密码算法:把明文分成等长的组分别加密,例分组密码算法:把明文分成等长的组分别加密,例DES序列密码算法:是一个比特一个比特地处理,用已知的序列密码算法:是一个比特一个比特地处理,用已知的密钥随机序列与明文按位异或密钥随机序列与明文按位异或,例例RC414加密算法加密算法解密算法解密算法密钥密钥网络信道网络
8、信道明文明文明文明文密文密文加密密钥加密密钥解密密钥解密密钥两者相等两者相等 DES DES算法概述算法概述 为了建立适用于计算机系统的商用密码,美国商业部的国家标为了建立适用于计算机系统的商用密码,美国商业部的国家标准局准局NBSNBS于于19731973年年5 5月和月和19741974年年8 8月两次发布通告,向社会征求密码月两次发布通告,向社会征求密码算法。算法。 在征得的算法中,由在征得的算法中,由IBMIBM公司提出的算法公司提出的算法luciferlucifer中选。中选。 于于19761976年年1111月被美国政府采用,月被美国政府采用,DESDES随后被美国国家标准局和随后
9、被美国国家标准局和美国国家标准协会美国国家标准协会(American National Standard Institute(American National Standard Institute,ANSI) ANSI) 承认。承认。 19771977年年1 1月以数据加密标准月以数据加密标准DESDES(Data Encryption StandardData Encryption Standard)的名称正式向社会公布。的名称正式向社会公布。DES算法概述算法概述个人个人攻击攻击小组小组攻击攻击院 、 校院 、 校网 络 攻网 络 攻击击大公司大公司军 事 情军 事 情报机构报机构404
10、0(bitsbits)数周数周数日数日数小时数小时数毫秒数毫秒数微秒数微秒5656数百年数百年数十年数十年数年数年数小时数小时数秒钟数秒钟6464数千年数千年数百年数百年数十年数十年数日数日数分钟数分钟8080不可能不可能不可能不可能不可能不可能数百年数百年数百年数百年128128不可能不可能不可能不可能不可能不可能不可能不可能数千年数千年 M.Matsui M.Matsui 提出的线性分析方法,利用提出的线性分析方法,利用243243个已知明文,成功个已知明文,成功地破译了地破译了1616圈圈DESDES算法,到目前为止,这是最有效的破译方法。算法,到目前为止,这是最有效的破译方法。从从19
11、971997年开始,年开始,RSARSA公司发起了一个称作公司发起了一个称作“向向DESDES挑战挑战”的竞技赛。的竞技赛。在首届挑战赛上,罗克在首届挑战赛上,罗克维瑟用了维瑟用了9696天时间破解了用天时间破解了用DESDES加密的一加密的一段信息。段信息。19991999年年1212月月2222日,日,RSARSA公司发起公司发起“第三届第三届DESDES挑战赛(挑战赛(DES DES Challenge IIIChallenge III)”。20002000年年1 1月月1919日,由电子边疆基金会组织研制的日,由电子边疆基金会组织研制的2525万美元的万美元的DESDES解解密机以密机
12、以22.522.5小时的战绩,成功地破解了小时的战绩,成功地破解了DESDES加密算法。加密算法。DESDES已逐渐已逐渐完成了它的历史使命。完成了它的历史使命。明文64 bit码初始变换轮乘积变换逆初始变换密文bit码输出输出算法算法数据加密标准DESDES是一种明文分组为64比特,有效密钥56比特,输出密文64比特的,具有16轮迭代的分组对称密码算法,DES由初始置换,16轮迭代,初始逆置换组成。 2022-8-1DES1DES的基本运算 初始置换IP和初始逆置换IP-1 2.一轮一轮DES代换算法说明代换算法说明 DES结构f 函数为: f(R, K)=P(S(K E(R),如图3-6所
13、示: (1) E-扩展运算E-扩展运算是扩位运算,将32比特扩展为48比特,用方阵形式可以容易地看出其扩位其中粗方框中的为原始输入数据。 (2) S-盒运算S-盒运算由8个S-盒函数构成,其中,每一个S-盒函数都是6比特的输入,4比特的输出。 的值就是对应表si中(h1h6)2行和(h2h3h4h5)2列上的值。 2022-8-1S1:l14,4,13,1,2,15,11,8,3,10,6,12,5,9,0,7,l0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8,l4,1,14,8,13,6,2,11,15,12,9,7,3,10,5,0,l15,12,8,2,4,9
14、,1,7,5,11,3,14,10,0,6,13,lS8:l13,2,8,4,6,15,11,1,10,9,3,14,5,0,12,7,l1,15,13,8,10,3,7,4,12,5,6,11,0,14,9,2,l7,11,4,1,9,12,14,2,0,6,10,13,15,3,5,8,l2,1,14,7,4,10,8,13,15,12,9,0,3,5,6,11,2022-8-1l在在DES算法中,算法中,S盒变换是将每个盒变换是将每个s盒的盒的6位输入变换为位输入变换为4位输出,假位输出,假设设s盒盒2的的6位输入为位输入为111010,写出其输出。,写出其输出。S215 1 8 14
15、6 11 3 4 9 7 2 13 12 0 5 103 13 4 7 15 2 8 14 12 0 1 10 6 9 11 50 14 7 11 10 4 13 1 5 8 12 6 9 3 2 1513 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9l假设输入假设输入A=a1a2a3a4a5a6则则a2a3a4a5=k,a1a6=h,在在s盒的盒的h行行k列找列找到一个数到一个数B,B在在015之间,则用二进制表示之间,则用二进制表示B=b1b2b3b4,就是就是s1的的输出;输出;根据以上算法,根据以上算法,B在在S盒的盒的2行行13列,顺着表找到数字列,顺着表找到
16、数字9,用二进制表,用二进制表示为示为1001,即输出为,即输出为10012022-8-1(3)P-置换P-置换是对8个S-盒的输出进行变换,可以扩散单个P-盒的效果,如表3-5所示。3子密钥生成器密钥(64bit)PC-1K1C0置换选择1(去奇偶校验、置换56bit)D0LS1LS1C1D1LS2LS2C2D2PC-2置换选择228bit28bit56bitK2PC-256bitLS16LS16C16D16K16PC-256bit48bit48bit48bitl64比特的密钥K,经过PC-1后,生成56比特的串。其下标如表所示:2022-8-1l该比特串分为长度相等的比特串C0和D0。然后
17、C0和D0分别循环左移1位,得到C1和D1。C1和D1合并起来生成C1D1。C1D1经过PC-2变换后即生成48比特的K1。K1的下标列表为:2022-8-1lC1、D1分别循环左移LS2位,再合并,经过PC-2,生成子密钥K2依次类推直至生成子密钥K16。l注意:Lsi (I =1,2,.16)的数值是不同的。具体见下表:2022-8-1DESDES算法的解密过算法的解密过程是一样的,区程是一样的,区别仅仅在于第一别仅仅在于第一次迭代时用子密次迭代时用子密钥钥K K(1515),第二),第二次次K K(1414)、)、.,最后一次用最后一次用K K(0 0),算法本身),算法本身并没有任何变
18、化。并没有任何变化。DES的安全性分析 ( 1 ) S-盒的设计准则S盒的设计准则还没有完全公开,人们仍然不知道S盒的构造中是否使用了进一步的设计准则。 ( 2 ) 56位有效密钥太短 这是最致命的缺陷。 ( 3 ) 弱密钥和半弱密钥 ( 4 ) 代数结构存在互补对称性 对称加密的优点: 算法效率高,尤其是硬件实现的情况 很强的保密性对称加密的缺点: 密钥管理麻烦: 有N个用户,n(n-1)/2个密钥量。 假设n=1000,则需要49995000个密钥。三重DES为了增强DES算法的安全性,人们提出了许多DES的改进方案。其中,称为三重DES的多重加密算法是DES的一个重要的改进算法。 DES
19、解密DES加密DES加密DES加密DES解密DES解密明文M密文CK1K2K3加密38加密算法加密算法解密算法解密算法公开密钥公开密钥网络信道网络信道明文明文明文明文密文密文私有密钥私有密钥公钥公钥私钥私钥 公钥公钥私钥私钥不可相互推导不可相互推导不相等不相等Q:公钥加密和数字公钥加密和数字签名的区别签名的区别RSARSA密码是由密码是由Rivest, ShamirRivest, Shamir和和AdlemanAdleman三位学者于三位学者于19771977年联合提出的双密钥(公钥)密码系统,年联合提出的双密钥(公钥)密码系统,RSARSA是由他们的名字的首字母命名。是由他们的名字的首字母命
20、名。是迄今理论上最为是迄今理论上最为成熟完善的一种公钥密码体制。成熟完善的一种公钥密码体制。 RSARSA密码基于计算复杂性原理获得加密强度,密码基于计算复杂性原理获得加密强度,但其缺点是系统的安全取决于所用的两个大素数,但其缺点是系统的安全取决于所用的两个大素数,如果能找出一种快速方法分解这两个大素数,系统如果能找出一种快速方法分解这两个大素数,系统很容易被攻破。很容易被攻破。RSA密码体制密码体制RSA的算法描述(1)密钥的生成 1. 选择两个大素数 p,q,(p,q为互异素数,需要保密), 2. 计算n = pq, (n) = (p1)(q1) 3. 选择整数 e 使 (n),e) =1
21、, 1e (n) 4. 计算d,使d = e1mod (n), 得到:公钥 为e,n; 私钥为d(2)加密(用e,n): 明文:M BoblStep 1:Bob选择选择Ep(a,b)的元素的元素G,使得使得G的阶的阶n是一个大是一个大素数素数,秘密选择整数秘密选择整数k.计算计算P=kG,公开公开(p,a,b,G,P),保,保密密k。其中。其中KbkG为为Bob公钥,公钥,Kbk为为Bob私钥私钥lStep 2:将消息:将消息m编码为编码为x-y形式的点形式的点PmlStep 3:Alice随机选择一个正整数随机选择一个正整数r,对,对Pm产生密文产生密文CmrG,PmrKblStep 4:B
22、ob解密解密lCm-Kb(rG)l=Pm+rKb-krGl=Pm+r(kG)-rkG=Pm2022-8-1ECC加密加密/解密实现(续)解密实现(续)lAlice-Bob(示例)示例)lStep 1:Bob选择选择E88331(3,45),G(4,11), Bob私钥私钥KbK=3, Bob公布公钥公布公钥Kb(413,1808) lStep 2: Pm=(5,1734) lStep 3:Alice随机选择一个正整数随机选择一个正整数r=8,对,对Pm产生密文产生密文:CmrG,PmrKb=(5415,6321),(6626,3576)lStep 4:Bob解密解密lKb(rG)=3(5415
23、,6321)=(673,146)lCm -Kb(rG)=(6626,3576)-(673,146)=(5,1734)2022-8-1序列密码序列密码l按位处理消息按位处理消息l一般具有一个伪随机密钥流发生器一般具有一个伪随机密钥流发生器l对明文按位进行异或运算对明文按位进行异或运算 (XOR)l以随机的以随机的密钥流密钥流来破坏消息的统计特征来破坏消息的统计特征lCi = Mi XOR StreamKeyi 2022-8-1序列密码(续)序列密码(续)同步流密码原理同步流密码原理密钥流生成器密钥流生成器密钥流生成器密钥流生成器加密变换加密变换解密变换解密变换安全信道安全信道公开信道公开信道种子
24、密钥种子密钥k种子密钥种子密钥k密钥流密钥流Ki密钥流密钥流Ki明文明文m密文密文c密文密文c明文明文m2022-8-1序列密码(续)序列密码(续)自同步流密码原理自同步流密码原理密钥流生成器密钥流生成器密钥流生成器密钥流生成器加密变换加密变换解密变换解密变换安全信道安全信道公开信道公开信道种子密钥种子密钥k种子密钥种子密钥k密钥流密钥流Ki密钥流密钥流Ki明文明文m密文密文c密文密文c明文明文m2022-8-1序列密码:序列密码:RC4lRC: “RC” is Rons Code or Rivest Cipherl1987年年Ron Rivest 为为RSA公司所设计的流密码公司所设计的流密
25、码算法算法l可变密钥长度的、面向字节操作的流密码:可变密钥长度的、面向字节操作的流密码:82048位可变位可变l1994年算法才公开年算法才公开l在在SSL/TLS和和IEEE 802.11无线网络中有广泛应无线网络中有广泛应用:用:WEP协议协议2022-8-1序列密码:序列密码:RC4(续)(续)l用从用从1到到256个字节的可变长度个字节的可变长度密钥初始化矢量密钥初始化矢量S:0.255 ,S0,S1,S255lS 形成了算法的内部状态形成了算法的内部状态l密钥流字节密钥流字节K由由S中中255个元素按照一定方式选出一个元个元素按照一定方式选出一个元素来生成素来生成l每生成一个每生成一
26、个K,S中的元素就被重新置换一次中的元素就被重新置换一次RC4初始化初始化2022-8-1序列密码:序列密码:RC4(续)(续)l初始化初始化Sl初始条件:密钥种子初始条件:密钥种子 Key ,密钥初始化向量密钥初始化向量Sl初始化初始化S:S中元素被置为按升序从中元素被置为按升序从0到到255:lS0=0,S1=1,S255=255l建立一个临时矢量建立一个临时矢量Kl如果密钥种子如果密钥种子Key的长度为的长度为256字节,则将字节,则将Key赋值给赋值给K;l否则将否则将K的值赋给的值赋给K的前的前N个元素(个元素(N为密钥长度),为密钥长度),l循环重复用循环重复用Key的值赋给的值赋
27、给K剩下的元素剩下的元素,直到直到K的所有元素都被赋值的所有元素都被赋值l然后用然后用K产生产生S的初始置换的初始置换l从从S0到到S255,对每个,对每个Si,根据由,根据由Ki确定的方案,将确定的方案,将Si置换置换为为S中的另外一个字节中的另外一个字节由于对由于对S的操作仅是交换(即置换),因此的操作仅是交换(即置换),因此S仍然包含所有值为仍然包含所有值为0到到255的元素的元素密钥生成密钥生成2022-8-1序列密码:序列密码:RC4(续)(续)Input :Key , N=len(key)Output: S /*密钥流初始值密钥流初始值*/*Array “key” contains
28、 N bytes of key*/*Array “S” always has a permutation of 0,1,255*/for i = 0 to 255Si = iKi = keyi (mod N)next ij = 0for i = 0 to 255j = (j + Si + Ki) mod 256swap(Si, Sj)next i2022-8-1序列密码:序列密码:RC4(续)(续)l密钥流密钥流KeyStramByte的生成是从的生成是从S0到到S255,对每,对每个个Si,根据当前,根据当前S的值,将的值,将Si与与S中另外一个字节置中另外一个字节置换换l当当S255完成置
29、换后,操作继续重复完成置换后,操作继续重复l加密:加密:l将将KeyStreamByte值与下一个明文字节异或值与下一个明文字节异或l解密:解密:l将将KeyStreamByte值与下一个密文字节异或值与下一个密文字节异或加密与解密加密与解密2022-8-1序列密码:序列密码:RC4(续)(续)Input :M, S Output: Cij0for each message byte Mi i = (i + 1) mod 256 j = (j + Si) mod 256 swap(Si, Sj) t = (Si + Sj) mod 256 KeyStreamByte = St Ci = Mi
30、XOR KeyStreamByteNextC=C1|C2|Cn 2022-8-1序列密码:序列密码:RC4(续)(续)l对已知的密码分析很安全对已知的密码分析很安全l有很多攻击分析,但不是很实际有很多攻击分析,但不是很实际l结果非线性结果非线性l绝对不能重复使用密钥绝对不能重复使用密钥l在无线保密协议(在无线保密协议( WEP)中使用,但是有潜在的安全)中使用,但是有潜在的安全问题问题RC4安全性安全性2022-8-1第第2 2章章 密码学基础密码学基础2022-8-1Message AuthenticationlMessage Authentication:报文鉴别(消息认证,:报文鉴别(消
31、息认证,消息鉴别)消息鉴别)lMessage:消息、报文。:消息、报文。lAuthentication: 鉴别、认证。鉴别、认证。l认证:消息的接收者对消息进行的验证认证:消息的接收者对消息进行的验证l真实性:消息确实来自于其真正的发送者,而非真实性:消息确实来自于其真正的发送者,而非假冒;假冒;l完整性:消息的内容没有被篡改。完整性:消息的内容没有被篡改。l是一个证实收到的消息来自可信的源点且未被是一个证实收到的消息来自可信的源点且未被篡改的过程。它也可以验证消息的顺序和及时篡改的过程。它也可以验证消息的顺序和及时性性2022-8-1消息认证概念消息认证概念l三元组(三元组(K,T,V)l密
32、钥生成算法密钥生成算法Kl标签算法标签算法Tl验证算法验证算法V攻击者攻击者信宿信宿信源信源认证编码器认证编码器认证译码器认证译码器信道信道安全信道安全信道密钥源密钥源TVK2022-8-1认证函数认证函数l鉴别编码器和鉴别译码器可抽象为鉴别编码器和鉴别译码器可抽象为认证函数认证函数l认证函数认证函数l产生一个产生一个鉴别标识(鉴别标识(Authentication Identification)l给出合理的给出合理的认证协议认证协议(Authentication Protocol)l接收者完成消息的接收者完成消息的鉴别(鉴别(Authentication)2022-8-1认证函数分类认证函数
33、分类l认证的函数分为三类:认证的函数分为三类:l消息加密函数消息加密函数(Message encryption)l用完整信息的密文作为对信息的认证。用完整信息的密文作为对信息的认证。l消息认证码消息认证码MAC (Message Authentication Code)l是对信源消息的一个编码函数。是对信源消息的一个编码函数。l散列函数散列函数 (Hash Function)l是一个公开的函数,它将任意长的信息映射成一个固是一个公开的函数,它将任意长的信息映射成一个固定长度的信息。定长度的信息。2022-8-1认证函数:加密函数认证函数:加密函数MEKEK(M)DMK提供保密提供保密提供认证提
34、供认证不提供签名不提供签名BobAlice对称加密:保密性与认证对称加密:保密性与认证2022-8-1认证函数:加密函数(续)认证函数:加密函数(续)公钥加密:保密性公钥加密:保密性MEKaEKa(M)DMKa提供保密提供保密不提供认证不提供认证BobAlice2022-8-1认证函数:加密函数(续)认证函数:加密函数(续)公钥加密:认证与签名公钥加密:认证与签名MDKbEKb(M)EMKb提供认证提供认证BobAlice2022-8-1认证函数:加密函数(续)认证函数:加密函数(续)公钥加密:保密、认证与签名公钥加密:保密、认证与签名MDKaEKa(Dkb(M)DKa提供认证提供认证提供保密
35、性提供保密性EKbDkb(M)Dkb(M)EKbMBobAlice2022-8-1认证函数:加密函数(续)认证函数:加密函数(续)公钥加密:保密、认证与签名公钥加密:保密、认证与签名?MEKbEKb(Eka(M)EKb提供认证提供认证提供保密性提供保密性DKaEa(M)Eka(M)DKaMBobAlice2022-8-1认证函数:消息认证码认证函数:消息认证码l消息认证码:消息认证码:l使用一个密钥生成一个使用一个密钥生成一个固定大小的短数据块,并将固定大小的短数据块,并将该数据块加载到消息后面,该数据块加载到消息后面,称称MAC(或密码校验(或密码校验和)和)MACCk(M)lMAC函数类似
36、于加密函数,函数类似于加密函数,但不需要可逆性但不需要可逆性。因。因此在数学上比加密算法被攻击的弱点要少此在数学上比加密算法被攻击的弱点要少2022-8-1认证函数:消息认证码(续)认证函数:消息认证码(续)MAC的基本用法:消息认证的基本用法:消息认证AliceBobM|KCK(M)CKCM比较比较提供认证提供认证2022-8-1认证函数:消息认证码(续)认证函数:消息认证码(续)MAC的基本用法:与明文有关的认证的基本用法:与明文有关的认证M|K1CK(M)CK2CM比较比较EK2MDK1MAliceBob提供认证提供认证提供保密提供保密2022-8-1认证函数:消息认证码(续)认证函数:
37、消息认证码(续)MAC的基本用法:与密文有关的认证的基本用法:与密文有关的认证M|K1CK1(Ek2(M)CCM比较比较EK2K1提供认证提供认证提供保密提供保密MMDK2BobAliceEk2(M)2022-8-1认证函数:认证函数:Hash函数函数lHash Functionl哈希函数、摘要函数哈希函数、摘要函数l输入:任意长度的消息报文输入:任意长度的消息报文 Ml输出:一个固定长度的散列码值输出:一个固定长度的散列码值 H(M)l是报文中所有比特的函数值是报文中所有比特的函数值l单向函数单向函数2022-8-1认证函数:认证函数:Hash函数(续)函数(续)l根据是否使用密钥根据是否使
38、用密钥l带秘密密钥的带秘密密钥的Hash函数函数:消息的散列值由只有通信双方消息的散列值由只有通信双方知道的秘密密钥知道的秘密密钥K来控制。此时,散列值称作来控制。此时,散列值称作MAC。l不带秘密密钥的不带秘密密钥的Hash函数:消息的散列值的产生无需函数:消息的散列值的产生无需使用密钥。此时,散列值称作使用密钥。此时,散列值称作MDC。lHash函数需满足以下条件:函数需满足以下条件:l输入输入x可以为任意长度,输出为固定长度可以为任意长度,输出为固定长度l正向计算容易,反向计算困难正向计算容易,反向计算困难l抗冲突性抗冲突性(无冲突性)无冲突性)2022-8-1认证函数:认证函数:Has
39、h函数(续)函数(续)哈希函数的基本用法(哈希函数的基本用法(a)M|H(M)HKHM比较比较EKMDMBobAlice提供认证提供认证提供保密提供保密EK(M|H(M)2022-8-1认证函数:认证函数:Hash函数(续)函数(续)哈希函数的基本用法(哈希函数的基本用法(b)M|KEK(H(M)HHM比较比较EDBobAlice提供认证提供认证K2022-8-1认证函数:认证函数:Hash函数(续)函数(续)哈希函数的基本用法(哈希函数的基本用法(c)M|KbDKb(H(M)HHM比较比较DEBobAlice提供提供认证认证Kb2022-8-1认证函数:认证函数:Hash函数(续)函数(续)
40、哈希函数的基本用法哈希函数的基本用法(d)M|KDKb(H(M)HHM比较比较EDBobAlice提供认证提供认证提供保密提供保密KMMDKbEKbEk(M|DKb(H(M)2022-8-1认证函数:认证函数:Hash函数(续)函数(续)哈希函数的基本用法(哈希函数的基本用法(e)M|H(M|S)|HM比较比较BobAlice提供认证提供认证SS|H2022-8-1认证函数:认证函数:Hash函数(续)函数(续)哈希函数的基本用法(哈希函数的基本用法(f)M|H(M|S)|KHM比较比较EKMDMBobAlice提供认证提供认证提供保密提供保密EK(M|H(M|S)SS|H2022-8-1第第
41、2 2章章 密码学基础密码学基础2022-8-1数字签名数字签名l数字签名:数字签名:Digital Signaturel传统签名的基本特点传统签名的基本特点l签名是可信的:能与被签的文件在物理上不可分割签名是可信的:能与被签的文件在物理上不可分割l签名是不可抵赖的:签名者不能否认自己的签名签名是不可抵赖的:签名者不能否认自己的签名l签名不能被伪造:除了合法者外,其他任何人不能伪造其签名签名不能被伪造:除了合法者外,其他任何人不能伪造其签名l签名是不可复制的:对一个消息的签名不能通过复制的方式变为另签名是不可复制的:对一个消息的签名不能通过复制的方式变为另外一个消息的签名外一个消息的签名l签名
42、是不可改变的:经签名的消息不能被篡改签名是不可改变的:经签名的消息不能被篡改l容易被验证容易被验证l数字签名是传统签名的数字签名是传统签名的数字化数字化l能与所签文件能与所签文件“绑定绑定”l签名者不能否认自己的签名签名者不能否认自己的签名l容易被自动验证容易被自动验证l签名不能被伪造签名不能被伪造2022-8-1数字签名(续)数字签名(续)l五元组五元组(P,A,K,S,V)lP是所有消息组成的有限集是所有消息组成的有限集lA是所有可能的签名组成的有限集是所有可能的签名组成的有限集lK是所有可能的密钥组成的有限集是所有可能的密钥组成的有限集lS签名算法签名算法lD验证算法验证算法:0,1:(
43、 ),( , )1,( , )0kkkkkSPAVPAySx V x yV x y否则2022-8-1数字签名(续)数字签名(续)l可分为两类:可分为两类:l直接数字签名方案(直接数字签名方案(direct digital signature);l基于仲裁的数字签名方案(基于仲裁的数字签名方案(arbitrated digital signature)。 2022-8-1直接数字签名直接数字签名Sa(M)Eb(Sa(M)M,Sa(H(M)Eb(M,Sa(H(M)MMSH(M)Ek(H)MDk(H)HHH比较比较Alice (A)Bob (B)直接签名直接签名Alice (A)Bob (B)加密
44、签名加密签名Alice (A)Bob (B)Hash签名签名Alice (A)Bob (B)加密签名加密签名HashHash签名签名2022-8-1仲裁数字签名仲裁数字签名Alice (A)Bob (B)Trent (T)M,Eat(IDa,H(M)Ebt(IDa, M ,Eat(Ida,H(M), T)Alice (A)Bob (B)Trent (T)Eab(M),Eat(IDa,Eab(H(M)Ebt(IDa,Eab( M),Eat(Ida,Eab(H(M), T)Alice (A)Bob (B)Trent (T)Ida,Sa(Ida,Eb(Sa(M)St(IDa,Eb(Sa(M),),
45、T)对称密码明文传送对称密码明文传送对称密码密文传送对称密码密文传送公钥密码密文传送公钥密码密文传送2022-8-1数字签名体制数字签名体制l普通数字签名体制普通数字签名体制l RSA l EIGamal l DSS/DSAl不可否认的数字签名算法不可否认的数字签名算法l群签名算法群签名算法l盲签名算法盲签名算法DSS签名算法我们在后续课程中讲述签名算法我们在后续课程中讲述2022-8-1数字签名体制(续)数字签名体制(续)l盲签名算法盲签名算法Alice (A)Bob (B)t=mkemod ntd=(mke)dmod n2022-8-1第第2 2章章 密码学基础密码学基础2022-8-1身
46、份认证身份认证l身份认证的定义:身份认证的定义:l声称者向验证者出示自己的身份的证明过程声称者向验证者出示自己的身份的证明过程l证实客户的真实身份与其所声称的身份是否相符的过证实客户的真实身份与其所声称的身份是否相符的过程程l身份认证又叫身份鉴别、实体认证、身份识别身份认证又叫身份鉴别、实体认证、身份识别l认证目的:认证目的: 使别的成员(使别的成员(验证者验证者)获得对声称者所声称的事实的)获得对声称者所声称的事实的信任。身份认证是获得系统服务所必须的第一道关卡。信任。身份认证是获得系统服务所必须的第一道关卡。2022-8-1身份认证(续)身份认证(续)l身份认证可以分为身份认证可以分为本地
47、本地和和远程远程两类。两类。l本地:实体在本地环境的初始化鉴别(就是说,本地:实体在本地环境的初始化鉴别(就是说,作为实体个人,和设备物理接触,不和网络中的作为实体个人,和设备物理接触,不和网络中的其他设备通信)。其他设备通信)。l远程:连接远程设备、实体和环境的实体鉴别。远程:连接远程设备、实体和环境的实体鉴别。l实体鉴别可以是单向的也可以是双向的。实体鉴别可以是单向的也可以是双向的。l 单向认证是指通信双方中只有一方向另一方进行单向认证是指通信双方中只有一方向另一方进行鉴别。鉴别。l 双向认证是指通信双方相互进行鉴别。双向认证是指通信双方相互进行鉴别。2022-8-1身份认证(续)身份认证
48、(续)l身份认证系统的组成:身份认证系统的组成:l认证服务器认证服务器l认证系统用户端软件认证系统用户端软件l认证设备认证设备l认证协议认证协议示证者示证者可信第三方可信第三方验证验证者者APAPAP攻击者攻击者2022-8-1身份认证协议身份认证协议l常见的协议常见的协议lPAPlCHAPlKerberoslX.5092022-8-1身份认证依据身份认证依据l主要依据包括三个方面:主要依据包括三个方面:lSomething the user know (所知)所知)l密码、口令等密码、口令等lSomething the user possesses (拥有)(拥有)l身份证、护照、密钥盘等身
49、份证、护照、密钥盘等lSomething the user is (or How he behaves)l指纹、笔迹、声音、虹膜、指纹、笔迹、声音、虹膜、DNA等等2022-8-1身份认证机制身份认证机制l认证机制认证机制l非密码的鉴别机制非密码的鉴别机制l基于密码算法的鉴别基于密码算法的鉴别l采用对称密码算法的机制采用对称密码算法的机制l采用公开密码算法的机制采用公开密码算法的机制l采用密码校验函数的机制采用密码校验函数的机制l零知识证明协议零知识证明协议2022-8-1非密码身份认证非密码身份认证l非密码的鉴别机制非密码的鉴别机制l口令机制口令机制l一次性口令机制一次性口令机制l基于地址的
50、认证机制基于地址的认证机制l基于生物特征的认证机制基于生物特征的认证机制l个人令牌认证机制个人令牌认证机制2022-8-1口令机制:明文口令机制:明文ID OK?用户输入用户输入ID拒绝拒绝查找与该查找与该ID对应的对应的PW身份标识身份标识 注册口令注册口令ID1 PW1ID2 PW2ID3 PW3. .IDn PWn相同?相同?接受接受拒绝拒绝NNYY用户输入用户输入PW明文形式存放的口令表明文形式存放的口令表PWPWID明文口令表明文口令表2022-8-1口令机制:口令机制:Hash保存保存ID OK?用户输入用户输入ID拒绝拒绝查找与该查找与该ID对应的对应的H(PW)身份标识身份标识