《02-CISP-2013-密码学基础.ppt》由会员分享,可在线阅读,更多相关《02-CISP-2013-密码学基础.ppt(108页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、密码学基础密码学基础培训机构名称讲师名字课程内容课程内容2密码技术密码技术知识体知识域知识子域密码学基础密码学基础非对称密码算法非对称密码算法密码学基础概念密码学基础概念对称密码算法对称密码算法哈哈希函数和数字签名希函数和数字签名知识子域:密码学基础概念知识子域:密码学基础概念v了解密码学的发展阶段及各阶段特点v理解密码通信模型,理解密码学加密、解密、算法、明文、密文、密钥、密码编码学和密码分析学等概念v了解科克霍夫原则和影响密码系统的安全性的基本因素:复杂程度、密钥长度v掌握密码体制的分类和特点v理解密钥生命周期概念和密钥管理作用,了解密钥产生、分配、使用、更换和注销等过程的管理特点3密码学
2、发展密码学发展v第一个阶段是从古代到19世纪末古典密码(classical cryptography)v第二个阶段从20世纪初到1949年近代密码v第三个阶段从C.E.Shannon(香农)于1949年发表的划时代论文“The Communication Theory of Secret Systems”开始现代密码v第四个阶段从1976年W.Diffie和M.Hellman发表论文“New Directions in Cryptography”开始公钥密码4古典古典密码学密码学1.古典密码体制的安全性在于保持算法本身的保密性,受到算法限制。不适合大规模生产不适合较大的或者人员变动较大的组织用
3、户无法了解算法的安全性2.古典密码主要有以下几种:代替密码(Substitution Cipher)置换密码(Transposition Cipher)代替密码与置换密码的组合5代替密码代替密码 Vs.Vs.置换密码置换密码v凯撒密码6v斯巴达人“天书”密码古典密码学分类古典密码学分类7代替密码置换密码古典密码学多字母代替单字母代替单表代替密码多表代替密码(流密码)(分组密码)Substitution cipherPolygram Substitution cipherTransposition CipherMonoalphabetic Substitution cipherPloyalpha
4、betic Substitution cipherStream cipherBlock cipher举例:密码广播举例:密码广播v代替?置换?v测试:余则成接受广播呼叫所使用的密码本是()A 红楼梦B 朱子家训C 蝴蝶梦 D 康熙字典8近代密码学近代密码学20世纪初到1949年:主要标志是机械密码/机电密码,用机电代替手工。近代密码体制是用机械或电动机械实现的,最著名的就是转轮机(Rotor Machine)。9转轮机转轮机 Germany:ENIGMAGermany:ENIGMA(19191919)转轮密码机ENIGMA,由Arthur Scherbius于1919年发明。在二次世界大战期间
5、,Enigma曾作为德国陆、海、空三军最高级密码机。10转轮机转轮机 UK:TYPEXUK:TYPEX /US:M-209US:M-209英国的TYPEX打字密码机德3轮ENIGMA的改进型在英国通信中使用广泛,且在破译密钥后帮助破解德国信号。11M-209是哈格林对C-36改进后的产品,由Smith-Corna负责为美国陆军生产一次一密乱码本(一次一密乱码本(19171917)12发明者:发明者:Major Joseph Mauborgne和和AT&T公司的公司的Gilbert Vernam在在1917年发明。年发明。应用于:应用于:vv华盛顿华盛顿华盛顿华盛顿 -莫斯科莫斯科莫斯科莫斯科“
6、热热热热线线线线”vv俄罗斯间谍俄罗斯间谍俄罗斯间谍俄罗斯间谍vvCIACIA报文 s e c r e t 18 5 3 17 5 19 OTP +15 8 1 12 19 5 7 13 4 3 24 24 g m d c x xOTP(one-time pad)从理论上是不可破的:v不重复使用乱码本(VENONA)v使用不可预知的随机数(物理源,如放射性衰减)现代密码学现代密码学19491975年:1949年,Shannon的论文“The Communication Theory of Secret Systems”。1967年,David Kahn的专著The Code breakers。
7、1971年1973年,IBM Watson实验室的Horst Feistel等人发表的几篇技术报告。1974年,IBM提交了算法LUCIFER,后来成为了DES。新特点:数据的安全基于密钥而不是算法的保密。13Shannon公钥密码学公钥密码学1976年以后:1976年,Diffie&Hellman的“New Directions in Cryptography”提出了非对称密钥密码。1977年,Rivest,Shamir&Adleman提出了RSA公钥算法。90年代,逐步出现椭圆曲线等其他公钥算法。公钥密码使得发送端和接收端无密钥传输的保密通信成为可能!14Martin-HellmanWhi
8、tfield_Diffie什么是密码学什么是密码学v密码学基本概念v密码体制分类v密钥管理15v密码编码学和密码分析学v密码通信模型v明文和密文v加密和解密v密码算法16密码学基本概念密码学基本概念密码学密码学17研究信息系统安全保密的科学。由两个相互对立、相互斗争,而且又相辅相成、相互促进的分支科学所组成的,分别称为密码编码学(Cryptography)和密码分析学(Cryptanalysis)。密码学(密码学(Cryptology)密码编码学密码编码学 Vs.密码分析学密码分析学18主要研究对信息进行编码,实现对信息的隐蔽。密码编码学(Cryptography)主要研究加密消息的破译或消息
9、的伪造。密码分析学(Cryptanalysis)密码编码学密码编码学(1)密码编码学是密码学的一个分支,研究与信息安全(例如:机密性、完整性、可鉴别性)有关的数学技术。(2)密码编码学是包含数据变换的原理、工具和方法的一门学科,这种数据变换的目的是为了隐藏数据的信息内容,阻止对数据的篡改以及防止未经认可使用数据。(3)密码编码学是论述使明文变得不可懂的密文,以及把已加密的消息变换成可懂形式的艺术和技巧。19密码分析学密码分析学(1)密码分析学是密码学的一个分支,它与另一个分支学科密码编码学是两个相互对立、相互依存、相辅相成、相互促进的学科。(2)密码分析学是企图挫败编码技术以及更一般说来的信息
10、安全服务的数学技术学科。(3)密码分析学是对密码体制、密码体制的输入输出关系进行分析,以便推出机密变量、包括明文在内的敏感数据。有时又称作密码破译学(code breaking)20密码通信模型密码通信模型21明文明文 vs.vs.密文密文v 明文(Plaintext):原始消息,被隐蔽消息,未经加密的消息。v 密文(Ciphertext)或密报(Cryptogram):明文经密码变换而成的一种隐蔽形式。v 加密员或密码员(Cryptographer):对明文进行加密操作的人员。22加密加密 vs.vs.解密解密加密(Encryption):将明文变换为密文的过程。把可懂的语言变换成(人类/机
11、器)不可懂的语言。解密(Decryption):由密文恢复出原明文的过程。加密的逆过程即把不可懂的语言变换成可懂的语言。23加密算法密钥密文明文解密算法密钥密文明文加密和解密算法的操作通常都是在一组密钥的控制下进加密和解密算法的操作通常都是在一组密钥的控制下进行的行的,分别称为分别称为加密密钥加密密钥(Encryption Key)和和解密密钥解密密钥(Decryption Key)。密码算法密码算法v密码算法(Cryptography Algorithm):用于加密和解密操作的数学函数。v加密算法(Encryption Algorithm):发送者对明文进行加密操作时所采用的一组规则。v解密
12、算法(Decryption Algorithm):接收者对密文进行解密操作时所采用的一组规则。24科克霍夫原则科克霍夫原则Auguste Kerckhoff在1883年发表了著作,探讨寻找一种新的、满足电报通信要求的密码编码体制。他认为,密码算法应该对外公开,仅需对密钥进行保密;如果一个密码系统需要保密的越多,可能的弱点也越多。这种观点对于密码研究者和私营部门来说已经是一种常识。但同时,世界上大部分政府、军事部门都会使用不对外公开的算法。25科克霍夫假设假设:密码分析者知道双方使用的密码系统,包括明文的统计特性、加解密体制等,唯一不知道的是密钥。在设计一个密码系统时,目标是在科克霍夫原则的前提
13、下实现安全。密码算法安全性密码算法安全性v密钥长度越长,加密数据越不容易被非法解密26摘自应用密码学,P113Bruce Schneier 公开密钥长度建议值公开密钥长度建议值密码体制密码体制v所谓密码体制,是指由如下五部分组成的系统:1)明文集合P;2)密文集合C;3)密钥集合K;4)加密变换集合E及加密算法e;5)解密变换结合D及解密算法d。ek:P-C 和 dk:C-P 分别为加密解密函数满足:dk(ek(m)=m,这里mP。27密码体制分类密码体制分类(1)受限制的算法 vs.基于密钥的算法(2)对称密码 vs.非对称密码(3)分组密码 vs.流密码(4)代替密码 vs.置换密码28受
14、限制的算法受限制的算法 vs.vs.基于密钥的算法基于密钥的算法v受限制的(restricted)算法:算法的保密性基于保持算法的秘密。v基于密钥(key-based)的算法:算法的保密性基于对密钥的保密。29对称密码算法对称密码算法 vs.vs.非对称密码算法非对称密码算法v对称密码算法(Symmetric cipher):加密密钥和解密密钥相同,或实质上等同,即从一个易于推出另一个。又称传统密码算法(Conventional cipher)、秘密密钥算法或单密钥算法。DES、3DES、IDEA、AESv非对称密码算法(Asymmetric cipher):加密密钥和解密密钥不同,从一个很难
15、推出另一个。又叫公钥密码算法(Public-key cipher)。其中,对外公开的密钥,称为公开密钥(public key),简称公钥;必须保密的密钥,称为私有密钥(private key),简称私钥。RSA、ECC、ElGamal30非对称密码算法非对称密码算法上述运算中,23和7作为两个密钥,公开一个,另一个作为私钥即可。例如:公钥为7,私钥为23,则即使攻击者知道7、187和密文11,但如果他不知道私钥23,那么他无论如何也算不出明文88。数学是多么奇妙啊!31分组密码分组密码 vs.vs.流密码流密码v分组密码(Block cipher):将明文分成固定长度的组,用同一密钥和算法对每
16、一块加密,输出也是固定长度的密文。DES、IDEA、RC2、RC5v序列密码(Stream cipher):又称流密码,序列密码每次加密一位或一字节的明文。One-time padding、Vigenre、Vernam32分组密码模型分组密码模型分组密码是将明文消息编码表示后的数字(简称明文数字)序列,划分成长度为n的组(可看成长度为n的矢量),每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)序列。33流密码模型流密码模型34代替密码代替密码 Vs.Vs.置换密码置换密码v代替密码(Substitution Cipher):就是明文中的每一个字符被替换成密文中的另一个字符。接收者对密
17、文做反向替换就可以恢复出明文。v置换密码(Transposition Cipher):明文的字母保持相同,但顺序被打乱了。35密钥管理密钥管理v密钥管理:在一种安全策略指导下密钥的产生、存储、分配、删除、归档及应用。v对称密码体制和公钥密码体制的密钥管理策略各有不同。v目的:保护密钥不被泄露;保护密钥不被非授权使用。36密钥重要性:所有的密码技术都依赖于密钥科克霍夫原则:安全性的关键点密钥生命周期密钥生命周期v密钥生存周期:授权使用该密钥的周期。v主要阶段:产生、登记、存储、分发、注入、应用、更换和销毁。v原因:1 限制密钥使用时间时间分割2 限制产生密文数量数量分割3 限制密码分析攻击的有效
18、时间4 降低已泄露密钥所造成的损失37所有密钥都有生命周期。密钥的产生密钥的产生v在安全环境中产生密钥。v密钥长度安全性考虑。系统成本、计算开销考虑。长度的选择与具体的应用有关,如加密数据的重要性、保密期限长短、可能破译者的计算能力等。v密钥产生的方式集中式分散式38密钥管理的其他阶段密钥管理的其他阶段v密钥使用注意内存的密钥泄露。私钥不出硬件设备(密码机、USB Key)。不同用途使用不同的密钥。v密钥存储硬盘存储或专用硬件存储,现更多存储在专用硬件中。v密钥更新定期或不定期更换密钥。从旧的密钥生成新的密钥从新分配新的密钥。39密钥管理的其他阶段密钥管理的其他阶段v密钥备份可信第三方托管信赖
19、问题。智能卡或专用硬件存储审计问题。分片保管恶意收集恢复。v密钥撤销不再使用或怀疑泄露的密钥需要撤销。声明撤销。v密钥销毁物理上彻底粉碎。清除密钥的使用踪迹。40密码协议概念密码协议概念v协议协议指的是双方或多方通过一系列规定的步骤来完成某项任务。v协议的含义至少需要两个参与者通过执行协议必须完成某项任务,协议是完整的有序的过程,每一步骤必须依次执行协议每个步骤是明确的41密码协议概念密码协议概念v密码协议使用密码的具有安全性功能的协议称为安全协议或密码协议v举例密钥分配协议密钥协商协议实体鉴别协议抛硬币游戏盲签名协议秘密共享协议42算法算法协议协议信息安全信息安全Diffie-Hellman
20、 Diffie-Hellman 密钥交换算法密钥交换算法43公开参数:q 是一个素数,a q,a是q 的一个原根.选择一个私有的 ,满足:计算公开的 :选择一个私有的 ,满足:计算公开的 :计算会话密钥 计算会话密钥 EK(m)AliceBob1.第一个发表的公开密钥算法(1976)2.用于通信双方安全地协商一个会话密钥3.基于离散对数计算的困难性,主要是模幂运算:a p mod n 小结小结v古典密码v近代密码v现代密码v密码学基本概念v密码体制分类v密钥管理v密码协议44对称对称密码算法密码算法v理解对称分组加密算法的优缺点和应用场合v理解DES、3DES、AES、IDEA的特点和历史背景
21、v了解DES、3DES算法的工作原理45对称分组加密通信模型对称分组加密通信模型加密目的:Alice和Bob在不安全的信道上进行通信,而破译者Oscar不能理解他们通信的内容。46Alice加密机解密机Bob安全信道密钥源Oscar明文x密文y密钥k明文x密钥kv典型算法DES、3DES、AES、IDEARC5、Twofish、CAST-256、MARS数据加密标准(数据加密标准(DESDES)vDES是一种对称密钥算法,密钥长度为56bits(加上奇偶校验,通常写成64bits)。v分组加密算法,64 bits为一个分组。v基本思想:混乱(Confusion)扩散(Diffusion)v使用
22、标准的算术运算和逻辑运算。47扩散扩散 vs.vs.混乱混乱v扩散(Diffusion):将每一位明文数字的影响尽可能地散布到多个输出密文数字中去,以更隐蔽明文数字的统计特性。v混乱(Confusion):使得密文的统计特性与明文、密钥之间的关系尽量复杂化。Shannon称:在理想密码系统中,密文的所有统计特性都与所使用的密钥独立。48DESDES征集征集v1973年5月15日,NBS开始公开征集标准加密算法,并公布了它的设计要求:(1)算法必须提供高度的安全性(2)算法必须有详细的说明,并易于理解(3)算法的安全性取决于密钥,不依赖于算法(4)算法适用于所有用户(5)算法适用于不同应用场合(
23、6)算法必须高效、经济(7)算法必须能被证实有效(8)算法必须是可出口的49DESDES的产生和应用的产生和应用v1974年8月,NBS第二次征集,IBM提交LUCIFER算法发明人:IBM公司 W.Tuchman 和 C.Meyer,(1971-1972)基 础:1967年美国Horst Feistel提出的理论v1976年11月,采纳为联邦标准批准用于非军事场合的各种政府机构。1977年1月15日,“数据加密标准”FIPS PUB 46发布。1979年,美国银行协会批准使用DES。1980年,ANSI同意DES作为私人使用的标准,称之为DEA(ANSI X.392)1983年,ISO同意将
24、DES作为国际标准,称之为DEA-1v1998年12月以后,美国政府不再将DES作为联邦加密标准50DES DES 加密过程加密过程 首先把明文分成以64 bit为单位的块m,对于每个m,执行如下操作 DES(m)=IP-1 T16 T15.T2 T1 IP(m)IP,IP-1 :初始置换16轮迭代子密钥生成51DESDES算法流程算法流程52输入输入64比特明文数据比特明文数据初始置换初始置换IP在密钥控制下在密钥控制下16轮迭代轮迭代初始逆置换初始逆置换IP-1输出输出64比特密文数据比特密文数据交换左右交换左右32比特比特明文IPL0R0fR1L0 fL1R0K1fR2L1 fL2R1K
25、2fR16L15 fL16R15K16IP1密文L15R15Initial PermutationDESDES解密过程解密过程DES解密过程与加密过程完全相似,只不过将16次迭代的子密钥顺序倒过来,即 m=DES-1(c)=IP-1 T1T2.T15 T16 IP(c)可以证明,DES-1(DES(m)=m53DESDES的强度的强度v密钥长度=56比特v强力攻击=尝试 次v差分密码分析=尝试 次v线性密码分析=尝试 次(但是后两种攻击是不实用的)54v1976年,耗资年,耗资2000万美元的计算机,可以在一天中找到密钥。万美元的计算机,可以在一天中找到密钥。v1993年,设计年,设计100万
26、美元的计算机,万美元的计算机,3.5小时用穷举法找到密小时用穷举法找到密钥。钥。v1998年,年,EFF宣布破译了宣布破译了DES算法,耗时不到三天时间,使算法,耗时不到三天时间,使用的是用的是25万美元的万美元的“DES破译机破译机”。三重三重DESDES(3DES3DES )三重DES加密,密钥长度为168比特,k=k1k2k355DESDES-1DESmck1k2k1DES-1DESDES-1mck1k2k1双密钥三重双密钥三重DES加密,密钥长度为加密,密钥长度为112比特比特,k=k1k2DESDES-1DESmck1k2k3DES-1DESDES-1mck3k2k1国际数据加密算法
27、(国际数据加密算法(IDEAIDEA)vIDEA国际数据加密算法International Data Encryption Algorithmv 1990年,Xuejia Lai 和James Massey第一版,PES(Proposed Encryption Standard)v为对抗差分攻击,修改算法增加强度,称为IPES。v1992年改名IDEA。v“依我看来,该算法是目前已公开的最好和最安全的分组密码算法”应用密码学,p226。vPGP中集成了IDEA算法。56IDEAIDEA算法算法vIDEA算法用了三种数学运算:模216异或算法,常用 表示;模216加法,表示为 X+Y=Z mod
28、(216);常用 表示;模216+1 乘法,表示为 X*Y=Z mod(2161);常用 表示;vIDEA 分组长度64比特,分4组,每组长度为16比特,表示为:X1、X2、X3和X4v密钥长度 128比特v同一算法既可以加密,也可用于解密。v软件实现IDEA比DES快两倍v现在还没有资料证明它有什么弱点。57高级数据加密标准(高级数据加密标准(AESAES)v1997年4月15日,NIST征集高级加密标准(Advanced Encryption Standard,AES)算法v目的是确定一个非保密的、可以公开技术细节的、全球免费使用的分组密码算法v对AES的基本要求是比三重DES快、至少与三
29、重DES一样安全数据分组长度128比特、密钥长度128/192/256比特v1998年8月12日,指定了15个候选算法。v1999年3月22日(第二次AES会议),候选名单减少为5个(RC6,Rijndael,SERPENT,Twofish和MARS)58AESAESv2000年10月2日,NIST宣布获胜者Rijndael算法。v2001年11月,NIST将AES定为联邦信息处理标准FIPS PUB197。用于保护政府部门敏感但不机密的信息(sensitive but not classified)v 2002年5月正式生效。vNIST对AES的评判标准安全性因素,包括:抗攻击能力、数学基础
30、和分析、与其他算法安全性比较成本因素,包括运行速度、存储空间、知识产权59AESAES特点特点1、数据分组长度128bits;2、密钥长度128/192/256 bits;3、加密过程是在一个44的字节矩阵(state)上实施4、能有效抵抗目前已知的攻击算法线性攻击、差分攻击60对称密码算法的优缺点对称密码算法的优缺点v 优点:效率高,算法简单,系统开销小 适合加密大量数据 明文长度与密文长度相等v 缺点:需要以安全方式进行密钥交换 密钥管理复杂61小结小结vDES是应用最广泛的对称密码算法(由于计算能力的快速进展,DES已不再被认为是安全的);vIDEA在欧洲应用较多;vAES将是未来最主要
31、,最常用的对称密码算法。62非对称非对称密码算法密码算法v理解非对称密码算法的优缺点和应用场合v理解掌握RSA非对称密码算法原理和特点v了解DiffieHellman、ECC等非对称密码算法的原理和特点63公钥密码体制的思想公钥密码体制的思想 v不同于以往的加密技术,公钥密码体制是建立在数学函数基础上的,而不是建立在位方式的操作上的。v与只使用单一密钥的传统加密技术相比,它在加解密时,分别使用了两个不同的密钥:一个可对外界公开,称为“公钥”;一个只有所有者知道,称为“私钥”。v用公钥加密的信息只能用相应的私钥解密,反之亦然。v同时,要想由一个密钥推知另一个密钥,在计算上是不可能的。64公钥加密
32、模型公钥加密模型65MaryRick明文密文明文加密操作解密操作公钥私钥加密加密与解密由与解密由不同不同的密钥的密钥完成完成加密加密:XY:Y=EKU(X)解密解密:YX:X=DKR(Y)=DKR(EKU(X)公钥密码的重要特性公钥密码的重要特性1.加密与解密由不同的密钥完成加密:XY:Y=EKU(X)解密:YX:X=DKR(Y)=DKR(EKU(X)2.知道加密算法,从加密密钥得到解密密钥在计算上是不可行的。3.两个密钥中任何一个都可以用作加密而另一个用作解密(不是必须的)。X=DKR(EKU(X)=EKU(DKR(X)66常用的公钥密码算法常用的公钥密码算法RSA(Rivest-Shami
33、r Adleman),1977在一个算法中实现签名和加密私钥:签名和解密公钥:签名检验和加密ECC(Elliptic Cure Crytosystem),1985基于有限域上椭圆曲线有理点群的密码系统更快的具有更小密钥长度的公开密码系统功能同RSA:数字签名,密钥管理,加密67RSARSA公钥密码体制公钥密码体制v1977年由Ron Rivest、Adi Shamir和Len Adleman发明,1978年正式公布。vRSA是一种分组加密算法。明文和密文在0n-1之间,n是一个正整数。v该算法的数学基础是初等数论中的Euler(欧拉)定理,并建立在大整数因子的困难性之上。v目前应用最广泛的公钥
34、密码算法。68(Left to Right:Ron R Rivest,Adi S Shamir,Len Adleman)2002年图灵奖获得者-RSA-200269RSARSA算法操作过程算法操作过程密钥产生1.取两个大素数 p,q,保密;2.计算n=pq,公开n;3.计算欧拉函数(n)=(p-1)(q-1);4.任意取一个与(n)互素的小整数e,即 gcd(e,(n)=1;1e(n),公开e,作为公钥用于加密(或签名验证)。5.寻找d,使得:de 1 mod(n),作为私钥保密,即de =k(n)+1。70RSA RSA 算法加密算法加密/解密过程解密过程1.密钥对(KU,KR):KU=e,
35、n,KR=d,n2.加密过程:把待加密的内容分成k比特的分组,k log2n,并写成数字,设为M:C=Me mod n3.解密过程M=Cd mod n71RSARSA加密过程举例加密过程举例p=7,q=17,n=7*17=119,(n)=(7-1)(17-1)=96选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 =?72RSA RSA 算法的安全性和性能算法
36、的安全性和性能攻击方法蛮力攻击:对所有密钥都进行尝试。数学攻击:等效于对两个素数乘积(n)的因子分解。大数的因子分解是数论中的一个难题。73运算速度运算速度vv软件实现比软件实现比软件实现比软件实现比DES DES 慢慢慢慢100100倍倍倍倍vv硬件实现比硬件实现比硬件实现比硬件实现比DESDES慢慢慢慢10001000倍倍倍倍椭圆曲线密码体制椭圆曲线密码体制v椭圆曲线上的离散对数问题点Q和点P是有限域上的椭圆曲线的两个点,在等式mP=P+P+P=Q中,已知m和点P求点Q比较容易,反之已知点Q和点P求m却是相当困难的,这个问题称为椭圆曲线上点群的离散对数问题。v椭圆曲线应用到密码学上最早是由
37、Neal Koblitz 和Victor Miller在1985年分别独立提出的。v椭圆曲线密码体制是目前已知的公钥体制中,对每比特所提供加密强度最高的一种体制。74椭圆曲线密码体制椭圆曲线密码体制v椭圆曲线加密基于椭圆曲线的ElGamal公钥密码算法基于椭圆曲线的DSA(ECDSA)v椭圆曲线密钥协商基于椭圆曲线的密钥协商问题,即ECC Diffie-Hellmanv椭圆曲线签密基于椭圆曲线密码体制的签密方案基于椭圆曲线密码体制的(t,n)门限签密方案75ECC vs.RSAECC vs.RSA76MIPS年表示用每秒完成100万条指令的计算机所需工作的年数ECC vs.RSAECC vs.
38、RSA77ECCECC应用应用v无线Modem的实现对分组交换数据网加密,实现快速Deffie-Hellman密钥交换vWeb服务器的实现可节省计算时间和带宽v集成电路卡的实现ECC无需协处理器即可在标准卡上实现快速、安全的数字签名,RSA难以实现78ECC ECC 的小结的小结v安全性能更高(160位等同RSA的1024位)v计算量小,处理速度快v存储空间占用小v带宽要求低v应用前景非常好,特别在移动通信、无线设备上的应用。79基于公钥密码的加密过程基于公钥密码的加密过程80AliceBob基于公钥密码的鉴别过程基于公钥密码的鉴别过程81AliceBob公钥密码体制的优缺点公钥密码体制的优缺
39、点v优点:解决密钥传递的问题大大减少密钥持有量提供了对称密码技术无法或很难提供的服务(数字签名)v缺点:计算复杂、耗用资源大 非对称会导致得到的密文变长82对公钥密码算法的误解对公钥密码算法的误解v公钥密码算法比对称密码算法更安全?任何一种现代密码算法的安全性都依赖于密钥长度、破译密码的工作量,从对抗分析角度,没有一方更优越。v公钥密码算法使得对称密码算法成为了过时技术?公钥密码算法计算速度较慢,通常用于密钥管理和数字签名。对称密码算法将长期存在。v使用公开密钥加密,密钥分配变得非常简单?密钥分配既不简单,也不有效。83小结小结v RSA 数学基础:IFP(Integer Factorizat
40、ion Problem)加/解密、密钥交换、数字签名 使用最广泛vECC 密钥长度短vDiffie-Hellman 密钥交换算法 84哈希函数和数字签名哈希函数和数字签名v理解哈希函数、数字签名特点和作用v了解MD5算法、SHA-1算法的工作原理和特点v理解消息鉴别码特点和作用,了解MAC、HMAC的原理和应用v理解数字签名的原理和应用,了解DSA和RSA签名方案85HashHash函数函数vHash函数函数是将任意长度的消息映射成一个较短的 定长输出报文的函数,如下形式:h=H(M),M是变长的报文,h是定长的散列值.v数学性质:对任意给定的x,H(x)易于(软硬件实 现)计算,且满足:单向
41、性:对任意给定的码h,寻求x使得H(x)=h 在计算上是不可行的;弱抗碰撞性:任意给定分组x,寻求不等于x的y,使得H(y)=H(x)在计算上不可行;强抗碰撞性:寻求对任何的(x,y)对,使得 H(x)=H(y)在计算上不可行.8686HashHash函数的特点函数的特点vH能够应用到任意长度的数据上。vH能够生成大小固定的输出。v对干任意给定的x,H(x)的计算相对简单。v对于给定的散列值h,要发现满足H(x)h的x在计算上是不可行的。v 对于给定的消息x,要发现另一个消息y满足H(y)H(x)在计算上是不可行的。v主要的Hash算法:MD5、SHA-1等87哈希运算哈希运算完整性完整性88
42、用户A用户B数据数据哈希值哈希算法数据哈希值哈希值哈希算法如果哈希值匹配,说明数据有效 用户A发送数据和哈希值给用户 BbY0nIVfbY1nfbYL-1nCVL-1fCV1nnIV =初始值初始值CV=链接值链接值Yi =第第i 个输入数据块个输入数据块f =压缩算法压缩算法n =散列码的长度散列码的长度b =输入块的长度输入块的长度安全安全Hash函数的一般结构函数的一般结构CVLIV=initial n-bit valueCVi=f(CVi-1,Yi-1)(1 i L)H(M)=CVLHashHash函数函数89MD5 MD5 算法算法MD:Message Digest,消息摘要v输入:
43、任意长度的消息v输出:128位消息摘要v处理:以512位输入数据块为单位MD5(RFC 1321)developed by Ron Rivest MD5(RFC 1321)developed by Ron Rivest(“R”of the RSA)at MIT in 90s.(“R”of the RSA)at MIT in 90s.90SHA-1 SHA-1 算法算法vSHA(Secure Hash Algorithm,安全哈希算法)由美国国家标准技术研究所NIST开发,作为联邦信息处理标准于1993年发表(FIPS PUB 180),1995年修订,作为SHA-1(FIPS PUB 180-
44、1),SHA-1基于MD4设计。v输入:最大长度为264位的消息;v输出:160位消息摘要;v处理:输入以512位数据块为单位处理.91比较比较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.58
45、k 16008.41k 37925.33k 57421.81k 68241.68k92消息鉴别码消息鉴别码93v在网络通信中,有一些针对消息内容的攻击方法伪造消息窜改消息内容改变消息顺序消息重放或者延迟v消息认证:对收到的消息进行验证,证明确实是来自声称的发送方,并且没有被修改过。如果在消息中加入时间及顺序信息,则可以完成对时间和顺序的认证消息认证的三种方式消息认证的三种方式vMessage encryption:用整个消息的密文作为认证标识接收方必须能够识别错误vHash function:一个公开函数将任意长度的消息映射到一个固定长度的散列值,作为认证标识vMAC:一个公开函数,加上一个密
46、钥产生一个固定长度的值作为认证标识94MAC:Message MAC:Message Authentication CodeAuthentication Codev使用一个双方共享的秘密密钥生成一个固定大小的小数据块,并加入到消息中,称MAC,或密码校验和(cryptographic checksum)v用户A和用户B,共享密钥K,对于消息M,MAC=CK(M)v如果接收方计算的MAC与收到的MAC匹配,则接收者可以确信消息M未被改变接收者可以确信消息来自所声称的发送者如果消息中含有序列号,则可以保证正确的消息顺序vMAC函数类似于加密函数,但不需要可逆性。因此在数学上比加密算法被攻击的弱点要
47、少95MACMAC的动机的动机v为了鉴别而加密整个报文不够方便对称加密整个报文是个浪费即使同时为了保密,也有另外的办法和体制用非对称加密速度太慢,每秒仅百来笔后来引入了签名体制v鉴别和加密的分离带来灵活性确实有时只要鉴别而不用(或不能)加密如法律文书、公开信、声明、公告、公证、鉴定等如软件鉴别/防病毒、网络管理报文等9697MACMAC的用法的用法HMACHMACv把HASH值和一个Key结合起来不需要可逆v目标既能使用当前的HASH函数,又可容易升级为新的HASH函数,并能保持散列函数的安全性简单,并易进行密码学分析98MACMAC不能解决的问题不能解决的问题v发送者否认发送过消息,声称是别
48、人伪造。v接收者伪造消息,声称其由某发送者发送。v解决办法不可否认性99数字签名数字签名v传统签名的基本特点:能与被签的文件在物理上不可分割签名者不能否认自己的签名签名不能被伪造容易被验证v数字签名是传统签名的数字化,基本要求:能与所签文件“绑定”签名者不能否认自己的签名签名不能被伪造容易被验证100数字签名数字签名抗抵赖性抗抵赖性用户A用户B数据哈希值哈希算法用户A的私钥 数据哈希值用户A的公钥哈希算法哈希值如果哈希值匹配,说明该数据由该私钥签名。101数字签名的要求数字签名的要求v依赖性:数字签名必须依赖要签名消息的比特模式 (不可分离性)v唯一性:签名者使用唯一的“消息”生成数字签名,以
49、防伪造和否认(独特性)v可验证性:数字签名必须是在算法上可验证的。v抗伪造:伪造一个数字签名在计算上不可行(不可模仿性)v可用性:数字签名的生成和验证必须相对简单.102两种数字签名方案两种数字签名方案103RSARSA的数字签名的数字签名v初始化:m:签名的消息 签名者的私钥:d;公钥:(e,n)v签名:计算m的哈希值H(m).签名值s=(H(m))d mod nv验证:计算H1=se mod n 判断H1=H(m)是否成立。104数字签名算法(数字签名算法(DSADSA)1991年,NIST 提出了 数字签名算法(DSA),并把它用作数字签名标准(DSS),招致大量的反对,理由如下:DSA
50、 不能用于加密或密钥分配DSA是由 NSA研制的,可能有后门DSA的选择过程不公开,提供的分析时间不充分DSA比RSA慢(1040倍)密钥长度太小(512位)DSA可能侵犯其他专利RSA是事实上的标准105三三种算法的比较种算法的比较算法算法加加/解密解密数字签名数字签名密钥交换密钥交换RSA是是是是是是Dieffie-Hellman否否否否是是DSS否否是是否否1061.加密加密/解密解密2.数字签名数字签名(身份鉴别身份鉴别)3.密钥交换密钥交换总结总结107v密码学在信息安全中的占有举足轻重的地位掌握明文、密文、密钥等密码学基础概念重点掌握DES、IDEA和AES等对称密码算法重点掌握R