密码学基础知识点标注版ppt课件

上传人:博****1 文档编号:567701622 上传时间:2024-07-22 格式:PPT 页数:95 大小:1.17MB
返回 下载 相关 举报
密码学基础知识点标注版ppt课件_第1页
第1页 / 共95页
密码学基础知识点标注版ppt课件_第2页
第2页 / 共95页
密码学基础知识点标注版ppt课件_第3页
第3页 / 共95页
密码学基础知识点标注版ppt课件_第4页
第4页 / 共95页
密码学基础知识点标注版ppt课件_第5页
第5页 / 共95页
点击查看更多>>
资源描述

《密码学基础知识点标注版ppt课件》由会员分享,可在线阅读,更多相关《密码学基础知识点标注版ppt课件(95页珍藏版)》请在金锄头文库上搜索。

1、密码学基础密码学基础1课程内容课程内容2密码技术密码技术知识体知识域知识子域密码学基础密码学基础非对称密码算法非对称密码算法密码学基本概念密码学基本概念对称密码算法对称密码算法哈希函数、消息鉴别码哈希函数、消息鉴别码和数字签名和数字签名密码学发展简史密码学发展简史密码学应用密码学应用2知识子域:密码学发展简史知识子域:密码学发展简史v了解密码学的发展阶段及各阶段特点v了解每一阶段密码应用状况33密码学发展密码学发展v第一个阶段是从古代到19世纪末古典密码v第二个阶段从20世纪初到1949年近代密码v第三个阶段从C.E.Shannon(香农) 于1949年发表的划时代论文“The Communi

2、cation Theory of Secret Systems ”开始现代密码v第四个阶段从1976年W. Diffie和M. Hellman发表论文“New Directions in Cryptography”开始公钥密码44古典密码古典密码v安全性在于保持算法本身的保密性种类多、应用范围小、算法简单种类多、应用范围小、算法简单不适合较大的或者人员变动较大的组织用户无法了解算法的安全性v主要分类代替密码(Substitution Cipher)置换密码(Transposition Cipher)替代密码与置换密码的组合v举例凯撒密码55近代密码近代密码v时间20世纪初到1949年v主要标志

3、用机械/机电计算代替手工计算机械密码/机电密码效率较古典密码学提升算法保密v举例ENIGMA66现代密码现代密码v时间19491975年v重要事件1949年,Shannon发表论文“The Communication Theory of Secret Systems”1967年,David Kahn专著The Code breakers1971年1973年,IBM Watson实验室的Horst Feistel等人发表的几篇技术报告特点:基于数学、算法公开和密钥保密、对称密码7密码学从此开始成为一门科学。密码学从此开始成为一门科学。7公钥密码公钥密码v时间1976年以后v重要事件1976年,D

4、iffie & Hellman的“New Directions in Cryptography”提出了非对称密钥密码1977年,Rivest,Shamir & Adleman提出了RSA公钥算法90年代,逐步出现椭圆曲线等其他公钥算法特点:非对称、解决密钥传递问题8公钥密码使得发送端和接收端无密钥传输的保密公钥密码使得发送端和接收端无密钥传输的保密通信成为可能!通信成为可能!8知识子域:密码学基本概念知识子域:密码学基本概念v理解密码通信模型,理解密码学加密、解密、算法、密钥等概念v理解科克霍夫原则,理解算法复杂程度和密钥长度是影响密码系统安全性的基本因素v理解古典密码的特点及算法类型v掌握密

5、码体制的分类和特点v理解密钥管理的重要性,理解密钥生命周期概念,了解密钥产生、分配、使用、更换和注销等过程的管理特点v了解密码协议的概念及类型,了解Diffie-Hellman密钥协商协议的实现原理99v密码编码学和密码分析学v密码通信模型v明文和密文v加密、解密和密钥v密码算法10密码学基本概念密码学基本概念10密码学密码学11研究信息系统安全保密的科学。由两个相互对立、相互斗争,而且又相辅相成、相互促进的分支科学所组成的,密码学密码学分别称为密码编码学密码编码学(Cryptography)和密码分析学(密码分析学(Cryptanalysis)。密码学(密码学(Cryptology)11密码

6、编码学密码编码学 Vs. 密码分析学密码分析学12主要研究对信息进行编码,实现对信息的隐蔽。密码编码学(Cryptography)主要研究加密消息的破译或消息的伪造。密码分析学( Cryptanalysis )12密码编码学密码编码学(1)密码编码学是密码学的一个分支,研究与信息安全(例如:机密性、完整性、可鉴别性)有关的数学技术。(2)密码编码学是包含数据变换的原理、工具和方法的一门学科,这种数据变换的目的是为了隐藏数据的信息内容,阻止对数据的篡改以及防止未经认可使用数据。(3)密码编码学是论述使明文变得不可懂的密文,以及把已加密的消息变换成可懂形式的艺术和技巧。1313密码分析学密码分析学

7、(1)密码分析学是密码学的一个分支,它与另一个分支学科密码编码学是两个相互对立、相互依存、相辅相成、相互促进的学科。(2)密码分析学是企图挫败编码技术以及更一般说来的信息安全服务的数学技术学科。(3)密码分析学是对密码体制、密码体制的输入输出关系进行分析,以便推出机密变量、包括明文在内的敏感数据。有时又称作密码破译学(code breaking)1414密码通信模型密码通信模型1515明文明文 vs.vs.密文密文v 明文(Plaintext) :原始消息,被隐蔽消息,未经加密的消息v 密文(Ciphertext)或密报(Cryptogram):明文经密码变换而成的一种隐蔽形式v 加密员或密码

8、员(Cryptographer):对明文进行加密操作的人员1616加密加密 vs.vs.解密解密加密(Encryption):将明文变换为密文的过程。把可懂的语言变换成(人类/机器)不可懂的语言。解密(Decryption):由密文恢复出原明文的过程。加密的逆过程,即把不可懂的语言变换成可懂的语言。17加密算法密钥密文明文解密算法密钥密文明文加密和解密算法的操作通常都是在一组密钥的控制加密和解密算法的操作通常都是在一组密钥的控制下进行的下进行的,分别称为分别称为加密密钥加密密钥(Encryption Key) 和和解密密钥解密密钥(Decryption Key)。17密码算法密码算法v密码算法

9、(Cryptography Algorithm):用于加密和解密操作的数学函数。v加密算法(Encryption Algorithm):发送者对明文进行加密操作时所采用的一组规则。v解密算法(Decryption Algorithm):接收者对密文进行解密操作时所采用的一组规则。1818科克霍夫原则科克霍夫原则:算法公开、密钥保密、一般是商用领域算法公开、密钥保密、一般是商用领域Auguste Kerckhoff在1883年发表著作,探讨寻找一种新的、满足电报通信要求的密码编码体制。他认为,密码体制应该对外公开,仅需对密钥进行保密;如果一个密码系统需要保密的越多,可能的弱点也越多。19假设假设

10、:密码分析者知道双方使用的密码系统细节,包括明文的统计特性、加解密体制等。在设计一个密码系统时,应遵循科克霍夫原则在设计一个密码系统时,应遵循科克霍夫原则 。科克霍夫(科克霍夫(Kerckhoff)原则:即使密码系统的任)原则:即使密码系统的任何细节已为人悉知,只要密钥未泄漏,它也应是安何细节已为人悉知,只要密钥未泄漏,它也应是安全的。全的。19密码算法安全性密码算法安全性v密钥长度越长,加密数据越不容易被非法解密20摘自应用密码学,P113Bruce Schneier 公开密钥长度建议值公开密钥长度建议值20密码体制密码体制v所谓密码体制,是指由如下五部分组成的系统:1)明文集合P;2)密文

11、集合C;3)密钥集合K;4)加密变换集合E及加密算法e;5)解密变换集合D及解密算法d。ek: P-C 和 dk:C-P 分别为加密解密函数满足:dk(ek(m)=m, 这里mP。2121密码体制分类密码体制分类(1)受限制的算法 vs.基于密钥的算法(2)对称密码 vs.非对称密码(3)分组密码 vs.流密码(4)代替密码 vs.置换密码2222受限制的算法受限制的算法 vs.vs.基于密钥的算法基于密钥的算法v受限制的(restricted)算法:算法的保密性基于保持算法的秘密。v基于密钥(key-based)的算法:算法的保密性基于对密钥的保密。2323对称密码算法对称密码算法 vs.v

12、s.非对称密码算法非对称密码算法v对称密码算法(Symmetric cipher):加密密钥和解密密钥相同,或实质上等同,即从一个易于推出另一个,又称传统密码算法(Conventional cipher)、秘密密钥算法或单密钥算法。 DES、3DES、IDEA、AESv非对称密码算法(Asymmetric cipher) :加密密钥和解密密钥不同,从一个很难推出另一个,又叫公钥密码算法(Public-key cipher)。其中,对外公开的密钥,称为公开密钥(public key),简称公钥;必须保密的密钥,称为私有密钥(private key),简称私钥。 RSA、ECC、ElGamal24

13、24非对称密码算法非对称密码算法上述运算中,23和7作为两个密钥,公开一个,另一个作为私钥即可。例如:公钥为7,私钥为23,则即使攻击者知道7、187和密文11,但如果他不知道私钥23,那么他无论如何也算不出明文88。2525分组密码分组密码 vs.vs.流密码流密码v分组密码(Block cipher):将明文分成固定长度的组,用同一密钥和算法对每一块加密,输出也是固定长度的密文。DES、IDEA、RC2、RC5多字母代替算法多字母代替算法v流密码(Stream cipher):又称序列密码,序列密码每次加密一位或一字节的明文。One-time padding、Vigenre、Vernam单

14、字母代替算法2626分组密码模型分组密码模型分组密码是将明文消息编码表示后的数字(简称明文数字)序列,划分成长度为n的组(可看成长度为n的矢量),每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)序列。 2727流密码模型流密码模型2828代替密码代替密码 Vs.Vs.置换密码置换密码v代替密码(Substitution Cipher):就是明文中的每一个字符被替换成密文中的另一个字符。接收者对密文做反向替换就可以恢复出明文。v置换密码(Transposition Cipher):明文的字母保持相同,但顺序被打乱了。2929密钥管理密钥管理v密钥管理:在一种安全策略指导下密钥的产生、

15、存储、分配、删除、归档及应用。v对称密码体制和公钥密码体制的密钥管理策略各有不同。v目的:保护密钥不被泄露;保护密钥不被非授权使用。30密钥重要性:所有的密码技术都依赖于密钥科克霍夫原则:安全性的关键点30密钥生命周期密钥生命周期v密钥生命周期授权使用该密钥的周期v主要阶段产生分配启用/停用更新/替换撤销和销毁31所有密钥都有生命周期。所有密钥都有生命周期。31密钥的产生密钥的产生v在安全环境中产生密钥v密钥长度安全性考虑基于应用的考虑系统成本、计算开销考虑长度的选择与具体的应用有关,如加密数据的重要性、保密期限长短、可能破译者的计算能力等v密钥产生的方式集中式分散式3232密钥管理密钥管理v

16、密钥使用注意内存的密钥泄露私钥不出硬件设备(密码机、USB Key)不同用途使用不同的密钥。v密钥存储硬盘存储或专用硬件存储,现多存储在专用硬件中v密钥更新定期或不定期更换密钥从旧的密钥生成新的密钥重新分配新的密钥3333密钥管理密钥管理v密钥备份可信第三方托管信赖问题智能卡或专用硬件存储审计问题分片保管分片保管恶意收集恢复v密钥撤销不再使用或怀疑泄露的密钥需要撤销声明撤销v密钥销毁物理销毁方式物理销毁方式清除密钥的使用踪迹3434密码协议概念密码协议概念v协议协议指的是双方或多方通过一系列规定的步骤来完成某项任务。v协议的含义至少需要两个参与者通过执行协议必须完成某项任务,协议是完整的有序的

17、过程,每一步骤必须依次执行协议每个步骤是明确的3535密码协议概念密码协议概念v密码协议使用密码的具有安全性功能的协议称为安全协议或密码协议v举例密钥分配协议密钥协商协议实体鉴别协议抛硬币游戏盲签名协议秘密共享协议36算法算法协议协议信息安全信息安全36Diffie-Hellman Diffie-Hellman 密钥协商算法密钥协商算法37公开参数:q 是一个素数,a q , a是q 的一个原根.选择一个私有的 , 满足:计算公开的 : 选择一个私有的 , 满足:计算公开的 : 计算会话密钥 计算会话密钥 EK(m)AliceBob1.第一个发表的公开密钥算法(1976)2.用于通信双方安全地

18、协商一个会话密钥3.基于离散对数离散对数计算的困难性,主要是模幂运算:a p mod n 37小结小结v密码发展阶段v密码学基本概念v密码体制分类v密钥管理v密码协议3838知识子域:对称密码算法知识子域:对称密码算法v理解对称密码算法的优缺点和应用场合v理解DES、3DES、AES、IDEA算法的特点3939对称分组加密通信模型对称分组加密通信模型加密目的:Alice和Bob在不安全的信道上进行通信,而破译者Oscar不能理解他们通信的内容。40Alice加密机解密机Bob安全信道密钥源Oscar明文x密文y密钥k明文x密钥k典型算法典型算法DES、3DES、AES、IDEARC5、Twof

19、ish、CAST-256、MARS40数据加密标准(数据加密标准(DESDES)vDES是一种对称密钥算法,密钥长度为56bits(加上奇偶校验,通常写成64bits)。v分组长度 64 bits为一个分组。v基本思想:混乱(Confusion)扩散(Diffusion)v使用标准的算术运算和逻辑运算。 4141扩散扩散 vs.vs.混乱混乱v 扩散(Diffusion) 将每一位明文数字的影响尽可能地散布到多个输出密文数字中去,以更隐蔽明文数字的统计特性v 混乱(Confusion) 使得密文的统计特性与明文、密钥之间的关系尽量复杂化42Shannon称:在理想密码系统中,密文的统计特称:在

20、理想密码系统中,密文的统计特性与所使用的密钥独立。性与所使用的密钥独立。42DESDES征集征集v1973年5月15日,NBS开始公开征集标准加密算法,并公布了它的设计要求:(1) 算法必须提供高度的安全性(2) 算法必须有详细的说明,并易于理解(3) 算法的安全性取决于密钥,不依赖于算法(4) 算法适用于所有用户(5) 算法适用于不同应用场合(6) 算法必须高效、经济(7) 算法必须能被证实有效(8) 算法必须是可出口的4343DESDES的产生和应用的产生和应用v1974年8月,NBS第二次征集,IBM提交LUCIFER算法发明人:IBM公司 W. Tuchman 和 C. Meyer,(

21、1971-1972)基 础:1967年美国Horst Feistel提出的理论v1976年11月,采纳为联邦标准批准用于非军事场合的各种政府机构。1977年1月15日,“数据加密标准”FIPS PUB 46发布。1979年,美国银行协会批准使用DES。1980年,ANSI同意DES作为私人使用的标准,称之为DEA(ANSI X.392)1983年,ISO同意将DES作为国际标准,称之为DEA-14444DES DES 加密过程加密过程 首先把明文分成以64 bit为单位的块m,对于每个m, 执行如下操作 DES(m)=IP-1 T16 T15 . T2 T1 IP(m)IP,IP-1 :初始置

22、换16轮迭代子密钥生成4545DESDES算法流程算法流程46输入输入64比特明文数据比特明文数据初始置换初始置换IP在密钥控制下在密钥控制下16轮迭代轮迭代初始逆置换初始逆置换IP-1输出输出64比特密文数据比特密文数据交换左右交换左右32比特比特明文IPL0R0fR1L0 fL1R0K1fR2L1 fL2R1K2fR16L15 fL16R15K16IP1密文L15R15Initial Permutation46DESDES解密过程解密过程DES解密过程与加密过程完全相似,只不过将16次迭代的子密钥顺序倒过来,即 m = DES-1(c) = IP-1 T1T2.T15 T16 IP(c)可

23、以证明,DES-1 (DES (m) )=m4747DESDES的强度的强度v密钥长度 = 56比特v强力攻击 = 尝试 次v差分密码分析 = 尝试 次v线性密码分析 = 尝试 次(但是后两种攻击是不实用的)48v1976年,耗资年,耗资2000万美元的计算机,可以在一天中找到密钥。万美元的计算机,可以在一天中找到密钥。v1993年,设计年,设计100万美元的计算机,万美元的计算机,3.5小时用穷举法找到密小时用穷举法找到密钥。钥。v1998年,年,EFF宣布破译了宣布破译了DES算法,耗时不到三天时间,使算法,耗时不到三天时间,使用的是用的是25万美元的万美元的“DES破译机破译机”。48三

24、重三重DESDES(3DES3DES )三重DES加密,密钥长度为168比特比特, k=k1k2k349DESDES-1DESmck1k2k1DES-1DESDES-1mck1k2k1双密钥三重双密钥三重DES加密,密钥长度为加密,密钥长度为112比特比特, k=k1k2DESDES-1DESmck1k2k3DES-1DESDES-1mck3k2k149国际数据加密算法(国际数据加密算法(IDEAIDEA)vIDEA国际数据加密算法International Data Encryption Algorithmv 1990年,Xuejia Lai 和James Massey第一版,PES(Pro

25、posed Encryption Standard)为对抗差分攻击,修改算法增加强度,称为IPES。1992年改名IDEA。v“依我看来,该算法是目前已公开的最好和最安全的分组密码算法” 应用密码学,p226。5050IDEAIDEA算法算法vIDEA算法用了三种数学运算:模216异或算法,常用 表示;模216加法,表示为 X+Y=Z mod(216);常用 表示;模216+1 乘法,表示为 X*Y=Z mod(2161);常用 表示;vIDEA 分组分组长度64比特比特 ,分4组,每组长度为16比特,表示为:X1、X2、X3和X4v密钥长度 128比特比特v同一算法既可以加密,也可用于解密。

26、v软件实现IDEA比DES快两倍5151高级数据加密标准(高级数据加密标准(AESAES)v1997年4月15日,NIST征集高级加密标准(Advanced Encryption Standard,AES)算法v目的是确定一个非保密的、可以公开技术细节的、全球免费使用的分组密码算法v对AES的基本要求是比三重DES快、至少与三重DES一样安全数据分组分组长度128比特、密钥长度128/192/256比特v1998年8月12日,指定了15个候选算法。v1999年3月22日(第二次AES会议),候选名单减少为5个(RC6,Rijndael,SERPENT,Twofish和MARS)5252AESA

27、ESv2000年10月2日,NIST宣布获胜者Rijndael算法。v2001年11月,NIST将AES定为联邦信息处理标准FIPS PUB197。用于保护政府部门敏感但不机密的信息(sensitive but not classified)v 2002年5月正式生效。vNIST对AES的评判标准安全性因素,包括:抗攻击能力、数学基础和分析、与其他算法安全性比较成本因素,包括运行速度、存储空间、知识产权5353AESAES特点特点1、数据分组长度128bits;2、密钥长度128/192/256 bits;3、加密过程是在一个44的字节矩阵(state)上实施4、能有效抵抗目前已知的攻击算法线

28、性攻击、差分攻击5454对称密码算法的优缺点对称密码算法的优缺点v 优点:优点: 效率高效率高,算法简单,系统开销小 适合加密大量数据 明文长度与密文长度相等v 缺点: 密钥的共享及交换存在风险密钥的共享及交换存在风险 密钥管理复杂5555知识子域:非对称密码算法知识子域:非对称密码算法v理解非对称密码算法的优缺点和应用场合v理解RSA算法的特点v了解EIGamal、ECC等算法的特点5656公钥密码体制的思想公钥密码体制的思想 v不同于以往的加密技术,公钥密码体制是建立在数学函数基础上的,而不是建立在位方式的操作上的。v与只使用单一密钥的传统加密技术相比,它在加解密时,分别使用了两个不同的密

29、钥:一个可对外界公开,称为“公钥”;一个只有所有者知道,称为“私钥”。v用公钥加密的信息只能用相应的私钥解密,反之亦然。v同时,要想由一个密钥推知另一个密钥,在计算上是不可能的。 5757公钥加密模型公钥加密模型58MaryRick明文密文明文加密操作解密操作公钥私钥加密与解密由加密与解密由不同不同的密钥完成的密钥完成加密加密: X Y: Y = EKU(X) 解密解密: Y X: X = DKR(Y) = DKR(EKU(X)58公钥密码的重要特性公钥密码的重要特性1.加密与解密由不同的密钥完成加密: XY: Y = EKU(X)解密: YX: X = DKR(Y) = DKR(EKU(X)

30、2.知道加密算法,从加密密钥得到解密密钥在计算上是不可行的。3.两个密钥中任何一个都可以用作加密而另一个用作解密(不是必须的)。X = DKR(EKU(X) = EKU(DKR(X)5959常用的公钥密码算法常用的公钥密码算法RSA (Rivest - Shamir Adleman),1977在一个算法中实现签名和加密私钥 : 签名和解密公钥 : 签名检验和加密安全性原理:基于大整数因子分解数学难题安全性原理:基于大整数因子分解数学难题ECC(Elliptic Cure Crytosystem),1985安全性原理:有限域上椭圆曲线有理点群数学难题安全性原理:有限域上椭圆曲线有理点群数学难题更

31、快的具有更小密钥长度的公开密码系统功能同RSA:数字签名,密钥管理,加密6060RSARSA公钥密码体制公钥密码体制v1977年由Ron Rivest、Adi Shamir和Len Adleman发明,1978年正式公布。vRSA是一种分组加密算法。明文和密文在0n-1之间,n是一个正整数。v该算法的数学基础是初等数论中的Euler(欧拉)定理,并建立在大整数因子的困难性之上。v目前应用最广泛的公钥密码算法。6161RSARSA算法操作过程算法操作过程密钥产生1. 取两个大素数 p, q , 保密;2. 计算n=pq,公开n;3. 计算欧拉函数(n) =(p-1)(q-1);4. 任意取一个与

32、(n) 互素的小整数e,即 gcd (e,(n) )=1; 1e(n),公开e,作为公钥用于加密(或签名验证)。5. 寻找d,使得: de 1 mod (n) , 作为私钥保密,即de =k(n) +1。 6262RSA RSA 算法加密算法加密/ /解密过程解密过程1.密钥对(KU, KR):KU=e, n , KR=d, n2.加密过程:把待加密的内容分成k比特的分组,k log2n,并写成数字,设为M:C = Me mod n3.解密过程M = Cd mod n6363RSARSA加密过程举例加密过程举例p=7,q=17, n=7*17=119,(n)=(7-1)(17-1)=9696选

33、e=5, gcd (e, (n) = gcd (5, 96)=1;计算d,使得 ed 1 mod 96 , 即 ed= k*96+1, 取 k=4,则d= 77 公开(e,n)=(5,119),将d 保密,丢弃丢弃p, q。明文:m=19加密: 19 5 66 mod 119 , c= 66解密: 6677 mod 119 =? 6464RSA RSA 算法的安全性和性能算法的安全性和性能攻击方法蛮力攻击:对所有密钥都进行尝试。数学攻击:等效于对两个素数乘积(n)的因子分解。大数的因子分解是数论中的一个难题。运算速度运算速度v软件实现比软件实现比DES DES 慢慢100100倍倍v硬件实现比

34、硬件实现比DESDES慢慢10001000倍倍6565椭圆曲线密码体制椭圆曲线密码体制v椭圆曲线上的离散对数问题椭圆曲线上的离散对数问题点Q和点P是有限域上的椭圆曲线的两个点,在等式mP=P+P+P=Q中,已知m和点P求点Q比较容易,反之已知点Q和点P求m却是相当困难的,这个问题称为椭圆曲线上点群的离散对数问题v椭圆曲线应用到密码学上最早是由Neal Koblitz 和Victor Miller在1985年分别独立提出的 v椭圆曲线密码体制是目前已知的公钥体制中,对每比特所提供加密强度最高的一种体制6666椭圆曲线密码体制椭圆曲线密码体制v椭圆曲线加密基于椭圆曲线的ElGamal公钥密码算法基

35、于椭圆曲线的DSA(ECDSA)v椭圆曲线密钥协商基于椭圆曲线的密钥协商问题,即ECC Diffie-Hellmanv椭圆曲线签密基于椭圆曲线密码体制的签密方案基于椭圆曲线密码体制的(t,n)门限签密方案6767ECC vs. RSAECC vs. RSA68MIPS年表示用每秒完成100万条指令的计算机所需工作的年数68ECCECC应用应用v无线Modem的实现对分组交换数据网加密,实现快速Deffie-Hellman密钥交换vWeb服务器的实现可节省计算时间和带宽v集成电路卡的实现ECC无需协处理器即可在标准卡上实现快速、安全的数字签名,RSA难以实现6969ECCECC特点特点v安全性能

36、更高(160位等同RSA的1024位)v计算量小,处理速度快v存储空间占用小v带宽要求低v应用前景非常好,特别在移动通信、无线设备上的应用。7070EIGamalEIGamal公钥密码体制公钥密码体制vElGamal在1985年提出的既能用于数据加密也能用于数字签名v安全性基于求解离散对数困难问题71 美国美国NIST的数字签名标准的数字签名标准 DSS(Digital Signature Standard)采用)采用ElGamal数字数字签名体制的修改版本而制定。签名体制的修改版本而制定。71基于公钥密码的加密过程基于公钥密码的加密过程72AliceBob72基于公钥密码的鉴别过程基于公钥密

37、码的鉴别过程73AliceBob73公钥密码体制的优缺点公钥密码体制的优缺点v优点:解决密钥传递的问题大大减少密钥持有量(密钥总数大大减少密钥持有量(密钥总数2N,2N,保密密钥保密密钥N N)而对称:而对称:N(N-1)/2N(N-1)/2提供了对称密码技术无法或很难提供的服务(数字签名)v缺点:相对于对称算法计算速度慢 非对称会导致得到的密文变长7474对公钥密码算法的误解对公钥密码算法的误解v公钥密码算法比对称密码算法更安全?任何一种现代密码算法的安全性都依赖于密钥长度、破译密码的工作量,从对抗分析角度,没有一方更优越。v公钥密码算法使得对称密码算法成为了过时技术?公钥密码算法计算速度较

38、慢,通常用于密钥管理和数字签名。对称密码算法将长期存在。v使用公开密钥加密,密钥分配变得非常简单?密钥分配既不简单,也不有效。7575知识子域:哈希函数、消息鉴别码和知识子域:哈希函数、消息鉴别码和数字签名数字签名v理解哈希函数的特点和作用,了解MD5算法、SHA-1算法的原理和应用v理解消息鉴别码的特点和作用,了解MAC、HMAC的原理和应用v理解数字签名的原理和应用,了解DSA和RSA签名方案及区别7676HashHash函数函数vHash函数哈希函数、散列函数、摘要函数是将任意长度的消息映射成一个较短的定长输出报文的函数h = H(M), M是变长的报文,h是定长的散列值v主要算法 MD

39、5、SHA-1等77H能够生成大小固定的输出能够生成大小固定的输出对干任意给定的对干任意给定的x,H(x)的计算相对简单)的计算相对简单77数学性质数学性质v对任意给定的x, H(x) 易于(软硬件实现)计算,且满足:单向性: 对任意给定的码h, 寻求x使得H(x)=h 在计算上是不可行的;弱抗碰撞性: 任意给定分组x, 寻求不等于x的y, 使得H(y)= H(x)在计算上不可行;强抗碰撞性: 寻求对任何的(x, y)对, 使得 H(x)=H(y)在计算上不可行.7878HashHash函数运算结构函数运算结构79bY0nIVfbY1nfbYL-1nCVL-1fCV1nnIV = 初始值初始值

40、CV = 链接值链接值Yi = 第第i 个输入数据块个输入数据块f = 压缩算法压缩算法n = 散列码的长度散列码的长度b = 输入块的长度输入块的长度安全安全Hash函数的一般结构函数的一般结构CVLIV= initial n-bit valueCVi=f(CVi-1, Yi-1) (1 i L)H(M) = CVL79MD5 MD5 算法算法MD: Message Digest,消息摘要v输入:任意长度的消息v输出:128位消息摘要v处理:以512位输入数据块为单位MD5 (RFC 1321) developed by Ron Rivest MD5 (RFC 1321) developed

41、 by Ron Rivest ( (“R R” of the RSA )at MIT in 90 of the RSA )at MIT in 90s.s.8080SHA-1 SHA-1 算法算法vSHA(Secure Hash Algorithm,安全哈希算法 )美国国家标准技术研究所NIST开发联邦信息处理标准,1993年发表(FIPS PUB 180)1995年修订,作为SHA-1(FIPS PUB 180-1)SHA-1基于MD4设计v输入:最大长度为输入:最大长度为264位的消息;位的消息;v输出:输出:160位消息摘要;位消息摘要;v处理:输入以512位数据块为单位处理.8181比较

42、比较SHA1/ MD5SHA1/ MD5v散列值长度MD5 128bits SHA1 160bitsv安全性SHA1看来好些,但是SHA1的设计原则没有公开v速度SHA1慢些 (openssl speed md5/sha1)type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytesmd5 5425.31k 19457.48k 55891.45k 104857.60k 143211.40ksha1 5104.58k 16008.41k 37925.33k 57421.81k 68241.68k8282消息鉴别码消息鉴别码83v在网络通信中,有一些

43、针对消息内容的攻击方法在网络通信中,有一些针对消息内容的攻击方法伪造消息伪造消息窜改消息内容窜改消息内容改变消息顺序改变消息顺序消息重放或者延迟消息重放或者延迟v消息认证:对收到的消息进行验证,证明确实是消息认证:对收到的消息进行验证,证明确实是来自声称的发送方,并且没有被修改过。来自声称的发送方,并且没有被修改过。如果在消息中加入时间及顺序信息,则可以完成对时间如果在消息中加入时间及顺序信息,则可以完成对时间和顺序的认证和顺序的认证作用:消息鉴别、完整性、抗重放攻击。作用:消息鉴别、完整性、抗重放攻击。83消息认证的三种方式消息认证的三种方式vMessage encryption:用整个消息

44、的密文作为认证标识接收方必须能够识别错误vHash function:一个公开函数将任意长度的消息映射到一个固定长度的散列值,作为认证标识vMAC:一个公开函数,加上一个密钥产生一个固定长度的值作为认证标识8484MAC: Message Authentication CodeMAC: Message Authentication Codev使用一个双方共享的秘密密钥生成一个固定大小的小数据块,并加入到消息中,称MAC,或密码校验和(cryptographic checksum)v用户A和用户B,共享密钥K,对于消息M, MAC=CK(M)v如果接收方计算的MAC与收到的MAC匹配,则接收者可

45、以确信消息M未被改变接收者可以确信消息来自所声称的发送者如果消息中含有序列号,则可以保证正确的消息顺序vMAC函数类似于加密函数,但不需要可逆性。因此在数学上比加密算法被攻击的弱点要少8585MACMAC的动机的动机v为了鉴别而加密整个报文不够方便为了鉴别而加密整个报文不够方便对称加密整个报文是个浪费即使同时为了保密,也有另外的办法和体制用非对称加密速度太慢,每秒仅百来笔后来引入了签名体制v鉴别和加密的分离带来灵活性鉴别和加密的分离带来灵活性确实有时只要鉴别而不用(或不能)加密如法律文书、公开信、声明、公告、公证、鉴定等如软件鉴别/防病毒、网络管理报文等8686HMACHMACvHMAC:HA

46、SH值和一个Key结合起来不需要可逆v目标既能使用当前的HASH函数,又可容易升级为新的HASH函数,并能保持散列函数的安全性简单,并易进行密码学分析8787数字签名数字签名v传统签名的基本特点:能与被签的文件在物理上不可分割签名者不能否认自己的签名签名不能被伪造容易被验证v数字签名是传统签名的数字化,基本要求:能与所签文件“绑定”签名者不能否认自己的签名签名不能被伪造容易被验证8888基于基于RSARSA的数字签名的数字签名v初始化:m:签名的消息签名者的私钥:d;公钥:(e,n)v签名:计算m的哈希值H(m).签名值s=(H(m))d mod nv验证:计算H1=se mod n判断H1=

47、H(m)是否成立8989基于基于RSARSA的数字签名(的数字签名(* *发送方)发送方)9090DSSDSS数字签名标准数字签名标准vDSS:数字签名标准DSS(Digital signature standard)NIST提出,1994年12月被正式采用为美国联邦信息处理标准数字签名算法(数字签名算法(Digital signature algorithmDigital signature algorithm, DSA DSA )9191DSADSA特点特点v数字签名算法只能用于签名不能用于加密,也不能用于密钥分配vDSA是ELGamal签名方案的一个变形,所有有关ELGamal签名方案的

48、一些攻击方法也可能对DSA有效v对DSA持反对意见的人怀疑 DSA的安全性,认为DSA的密钥长度太短9292三种算法的比较三种算法的比较1.1.加密加密/ /解密解密2.2.数字签名数字签名( (身份鉴别身份鉴别) )3.3.密钥交换密钥交换93算法算法加加/解密解密数字签名数字签名密钥协商密钥协商RSA/ECC是是是是是是Dieffie-Hellman否否否否是是DSA/DSS否否是是否否93总结总结94v密码学在信息安全中的占有举足轻重的地位理解密码通信模型,理解密码学加密、解密、算法、密钥等概念掌握密码体制的分类和特点理解对称密码算法的优缺点和应用场合理解非对称密码算法的优缺点和应用场合理解哈希函数、消息鉴别码和数字签名的特点和作用94谢谢,请提问题!谢谢,请提问题!95

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

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

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