收藏 分享(赏)

密码学.ppt

上传人:weiwoduzun 文档编号:5756765 上传时间:2019-03-16 格式:PPT 页数:181 大小:1.15MB
下载 相关 举报
密码学.ppt_第1页
第1页 / 共181页
密码学.ppt_第2页
第2页 / 共181页
密码学.ppt_第3页
第3页 / 共181页
密码学.ppt_第4页
第4页 / 共181页
密码学.ppt_第5页
第5页 / 共181页
点击查看更多>>
资源描述

1、1,密码学,2,密码学概述,Cryptology,Cryptography,Cryptanalysis,3,各种科学领域之中,唯有密码学(Cryptology)这一科学领域与众不同,它是由两个相互对立、相互依存、而且又相辅相成、相互促进的分支科学所组成的。这两个分支科学一个叫做密码编码学(Cryptography),另一个叫做密码分析学(Cryptanalysis)。,(1),4,密码编码学(Cryptography),(1)密码编码学是密码学(cryptology)的一个分支学科,它研究与信息安全方面有关的数学技术(例如:机密性、数据完整性、实体鉴别及数据源鉴别) 。,(2),(2)密码编码

2、学是包含有数据变换的原理、工具和方法的一门学科,这种数据变换的目的是为了隐藏数据的信息内容、阻止对数据的窜改以及防止未经认可使用数据。,5,(3)密码编码学是论述使明文变得不可懂以及把已加密的消息变换成可懂形式的艺术和技巧。,(3),(4)密码编码学是密写的科学和研究科目。一种密码就是一种密写的方法,利用它,就可以把明文变换成密文。把明文变换成密文的过程叫做加密;其逆过程,把密文变换成明文的过程叫做解密;加密和解密都是用一个或多个密钥来控制的。,6,密码分析学(Cryptanalysis),(1)密码分析学是密码学(cryptology)中的一个分支学科,它和密码学的另一个分支学科密码编码学是

3、两个相互对立、相互依存、相辅相成、相互促进的学科。,(4),(2)密码分析学主要的目的是企图挫败以密码技术来提供信息安全保护的数学技术和学科。,7,(3)密码分析学是对密码体制、密码体制的输入输出关系进行分析,以便推出机密变量、包括明文在内的敏感数据。,(5),(4)密码学中,在不知道加密算法所使用的密钥的情况下,将已被加密的消息转换成明文要做的步骤和操作,称作密码分析,有时又称作密码破译(codebreaking)。,(5)密码分析依赖于自然语言的多余度,使用“分析假设推断证实(或否定)”的四步作业方法,基本数学工具是统计分析、数学演绎和归纳。,8,密码学 Overview,密码学的起源、发

4、展和现状 基本概念 古典、近代、现代密码举例 对称密码体制 公开密码体制 散列函数 消息鉴别码 数字签名 密码分析与攻击 密钥管理,9,密码学的起源与发展,10,密码学发展阶段,1949年之前密码学是一门艺术(古典密码体制) 19491975年密码学成为科学(近代密码体制) 1976年以后密码学的新方向公钥密码学(现代密码体制),11,第1阶段古典密码,密码学还不是科学,而是艺术出现一些密码算法和加密设备密码算法的基本手段出现,针对的是字符简单的密码分析手段出现主要特点:数据的安全基于算法的保密,12,第1阶段古典密码,1883年Kerchoffs第一次明确提出了编码的原则:加密算法应建立在算

5、法的公开不影响明文和密钥的安全。 这一原则已得到普遍承认,成为判定密码强度的衡量标准,实际上也成为传统密码和现代密码的分界线。,13,第2阶段 19491975,计算机使得基于复杂计算的密码成为可能相关技术的发展 1949年Shannon的“The Communication Theory of Secret Systems” 1967年David Kahn的The Codebreakers 1971-73年IBM Watson实验室的Horst Feistel等几篇技术报告 主要特点:数据的安全基于密钥而不是算法的保密,14,第3阶段 1976,1976年:Diffie & Hellman

6、的 “New Directions in Cryptography” 提出了不对称密钥密 1977年Rivest,Shamir & Adleman提出了RSA公钥算法 90年代逐步出现椭圆曲线等其他公钥算法 主要特点:公钥密码使得发送端和接收端无密钥传输的保密通信成为可能,15,第3阶段 1976,1977年DES正式成为标准 80年代出现“过渡性”的“Post DES”算法,如IDEA,RCx,CAST等 90年代对称密钥密码进一步成熟 Rijndael,RC6, MARS, Twofish, Serpent等出现 2001年Rijndael成为DES的替代者,16,密码学的应用与现状,17

7、,密码在信息安全中的核心作用,网络信息安全主要解决的问题:在覆盖计算机与通信领域的信息输入、传输、处理、存储的过程中,维护信息资源的保密性、完整性、可用性、可控性及抗抵赖性。,18,网络信息安全确保“五性”: 保密性:保证信息不会泄露给未经授权的任何人。 完整性:保证信息的完整和准确,防止信息被未经授权(非法)的篡改。 可用性:保证信息和信息系统确实能为授权者所用,防止由于人为或非人为的因素造成系统的拒绝服务。 可控性:对信息和信息系统实施安全监控管理,防止为非法者所用。 不可否认性:保证信息行为人不能否认自己的行为。,19,信息安全的概念是不断发展、与时俱进的。 早期,通信保密时代,信息安全

8、指的是通信的保密性。(ComSec) 进入个人计算机时代,出现了计算机安全问题,要防止计算机被非法者使用,存储信息被非法阅看,计算机被注入恶意代码,在保密性之外,要求可控性、可用性。(CompuSec) 进入计算机网络时代,网络信息安全除保密性、可控性、可用性之外,还要防止网络信息被非法篡改,提出了完整性要求。随着网络交易发展,进一步提出了抗抵赖性问题,形成了信息安全的“五性”。,20,今天,信息与信息技术的发展,密码工作领域发生了深刻的变化: 密码主要应用于政府、军事、外交等领域走向社会,深入到经济、金融、商务、文化、甚至个人领域,密码应用领域不断扩大; 密码由国家专门机构研究走向高等院校、

9、科研院所、企事业单位,促进了密码理论和技术的发展;,21, 密码理论和技术实现了由传统密码到现代密码的重大变革,现代密码是通信、计算机和密码的结合,它融合了对称密码和非对称密码等多种密码技术,实现了信息保密和安全认证的完整结合; 密码体制与功能由单一化阶段经多元化阶段,走向集成化阶段。总起来说,当前,无论是密码理论、密码技术的发展速度,还是密码业务范围、使用领域的扩展程度,都是空前的。,22,当前,现代密码沿着四个方向发展:序列密码,分组密码,密码散列函数(Hash函数),公开密钥密码。四类密码编制特点不同,运用的数学原理和工具也不同,各有自己的应用领域。序列密码主要应用于链路实时加密;分组密

10、码主要应用于网络包交换加密;密码散列函数主要应用于数据完整性验证;公开密钥密码主要应用于密钥管理和数字签名。四类密码再加上随机数生成构成了完整的密码体系。,23,现代密码学,对称密码学,非对称密码学 (公开密钥密码),密码散列函数(密码杂凑函数),随机数发生器,序列密码,分组密码,RSA公钥密码,ECC公钥密码,现代密码学,24,密码学基本概念,25,基本概念,加密 解密 明文 密钥 密文,26,加密:把可懂的语言变换成不可懂的语言,这里的语言指人类能懂的语言和机器能懂的语言,加密算法,明文,密钥,密文,27,所以加密涉及编码学的三个基本元素:明文、密文和密钥明文(cleartext):就是人

11、们或计算机可懂的语言 密文(ciphertext):就是明文经加密变换后人们或计算 机不可懂的语言 密钥(key):参与加密变换的一个参数,经常是一个二 进制字符串,28,密钥被嵌入数学算法,结果应用于消息,从而得到密文,29,解密:把不可懂的语言变换成可懂的语言,解密算法,明文,密钥,密文,30,所以解密也涉及编码学的三个基本元素:明文、密文和密钥明文:就是人们或计算机可懂的语言 密文:就是明文经加密变换后人们或计算机不可懂的语言 密钥:参与加密变换的一个重要参数,31,明文的举例,国际电报字符表2号 (ITA2)、5号 (ITA5) 汉字公众电报 美国信息交换标准码(ASCII) “信息交

12、换用汉字编码字符集(基本集)” (GB2312-80) 人们可以理解其含义的文字或其编码序列,都称之为“明文”。,(7),32,密钥,Cryptographic Key(一般简单写作Key) 一把钥匙开一把锁,(10),33,(1) 密钥是一个秘密参数,或一组秘密参 数,或一个秘密符号,或一个秘密符号序列;,(11),密钥是密码的“关键”、“要害”、“秘诀”。,(4) 密钥仅为拥有它的人可知、可用。,(3) 密钥是密码体制(算法)中一切可变因素的源头;,(2) 密钥可用来控制加密/解密运算;,34,基本概念,明文(Plaintext):消息的初始形式; 密文(CypherText):加密后的形

13、式 记:明文记为P且P为字符序列, P=P1,P2,Pn密文记为C, C=C1,C2,Cn明文和密文之间的变换记为 C=E(P)及P=D(C)其中 C表示密文,E为加密算法;P为明文,D为解密算法我们要求密码系统满足:P=D(E(P),35,基本概念,需要密钥的加密算法,记为:C=E(K,P),即密文消息同时依赖于初始明文和密钥的值。实际上,E是一组加密算法,而密钥则用于选择其中特定的一个算法。加密与解密的密钥相同,即:P=D(K,E(K,P)加密与解密的密钥不同,则:P=D(KD,E(KE,P),36,鉴别、完整性与抗抵赖,鉴别(authentication) 消息来源确认、防假冒、证明你是

14、否就是你所声明的你 完整性(integrity) 防篡改、证明消息与过程的正确性 抗抵赖(nonrepudiation) 你或其他主体对所作所为的可确认性,37,密码体系形式化描述,密码体系是一个五元组(P,C,K,E,D)满足条件:(1)P是可能明文的有限集;(明文空间)(2)C是可能密文的有限集;(密文空间)(3)K是一切可能密钥构成的有限集;(密钥空间)(4)任意k K,有一个加密算法和相应的解密算法,使得 C=E(P)及P=D(C) 分别为加密解密函数, 满足dk(ek(x)=x ,这里 x P。,38,密码学数学基础,概率论 信息论 计算复杂性理论 数论 抽象代数 有限域 其它数理统

15、计、算法分析、可计算性理论、离散数学、组合数学、泛函分析等。,39,保密系统的目标:保密系统给提供信息系统的保护是机密性、真实性、完整性和认证服务,但不提供可用性服务。 保密系统的强度:加密方法的强度来源于算法的强度、密钥得机密性、密钥的长度、原始向量以及它们的共同的运作。,保密系统的目标与强度,40,网络信息安全要解决的问题:身份认证:“他是谁” 在做任何操作之前你必须识别操作者的真实身份 权限控制:“他可以作什么” 在确认完身份之后,确认它被授予什么权限 信息认证:“它不能篡改信息内容” 确保电子信息的完整性 数字签名:“它不能抵赖” 防止做完事情之後赖帐,41,数据保密:“传输过程外人看

16、不见” 确保信息的秘密传递,只有你指定的人才能解开 数据保护:“存储数据外人看不见” 确保信息的秘密存储,只有你指定的人才能解开 安全审计:”他作过了什么“ 在做完事情之后,留下记录,以备审查。 网络信息安全可以归纳为:对于非法者进不来,读不出,看不懂,改不了,拿不走,逃不脱。,42,加密,解密,密钥,发送方,接收方,信道,安全渠道,密码是怎样解决信息安全问题的: 信息的加密保护利用密码变换将明文变换成只有合法者才能解读的密文,这是密码的最基本功能。 传输信息加密:利用密码设备对信道上传输的各种信息,如传真、语音、数据、图像分别加密或综合加密。 存储信息加密:对存储在计算机上的文件、数据进行加

17、密保护,有文件库加密、数据库加密等。,43, 网络身份识别 在一个公共网络中,要正确地识别通信对方的身份,防止非法用户冒充合法用户进入网络,这称为网络身份识别。 过去采用通行字作为用户身份识别。通行字短、固定、规律性强,易暴露、安全性差。 现在采用密码技术进行交互式询答,只有具有正确的密码的合法用户才能通过询答,因而验证了对方的身份。 已经有用于身份认证的IC卡、USB-Key、带数字证书动态口令卡(一分钟自动改变一次口令)、一次性口令卡(每次使用后改变口令),它们都采用了密码技术。,44,密码编码学,45,密码编码学,密码编码学:一种秘密书写的科学,它能够让你存储和传输数据且这些数据只能被授

18、权人读懂。,46,密码编码系统分类,保密内容密钥数量明文处理的方式,47,保密内容,受限制的(restricted)算法算法的保密性基于保持算法的秘密基于密钥(key-based)的算法算法的保密性基于对密钥的保密,48,密钥数量,对称密码算法(symmetric cipher)加密密钥和解密密钥相同,或实质上等同,即从一个易于推出另一个又称秘密密钥算法或单密钥算法非对称密钥算法(asymmetric cipher)加密密钥和解密密钥不相同,从一个很难推出另一个又称公开密钥算法(public-key cipher) 公开密钥算法用一个密钥进行加密, 而用另一个进行解密其中的加密密钥可以公开,又

19、称公开密钥(public key),简称公钥。解密密钥必须保密,又称私人密钥(private key)私钥,简称私钥,49,明文处理方式,分组密码(block cipher)将明文分成固定长度的组,用同一密钥和算法对每一块加密,输出也是固定长度的密文。流密码(stream cipher)又称序列密码。序列密码每次加密一位或一字节的明文。,50,解密(或称“脱密”)是加密的逆过程, 是正当掌握密钥和密码体制(算法)的人们从密文恢复出原明文的过程。,(16),没有掌握密钥或密码体制(算法), 也企图破译通过各种门路所获得的密文, 即设法读懂密文。这就是“密码分析”, 又称“密码破译”。,51,解密

20、和密码分析的相同点:都是从密文恢复明文。,(17),解密和密码分析的不同点: (1) 解密者掌握了密钥和密码体制(算法);而密码 分析者则没有掌握密钥和密码体制(算法)。 (2) 解密和加密一样, 都使用确定的数学方法和工具;而密码分析却是依赖于自然语言的多余度, 而使用“分析假设推断证实(或否定)”的四步作业方法, 基本数学工具是统计分析、数学演绎和归纳。,52,古典密码体制经典加密技术,置换密码代换密码,53,代换密码,明文的字母由其它字母或数字或符号代替若该明文被视为一个比特序列,则替代涉及到用密文比特模式代替明文比特模式,54,置换密码,这是一个用密钥来规定代换是怎样实现的。 例如:在

21、用户钥为cat的Vigenere密码(周期为3)中,加密明文Vigenere cipher的过程如下(n=26)都用mod(26): 明 文 M=vig ene rec iph er 密 钥 K=cat cat cat cat ca 密 文 C=XIZ GNX TEV KPA GR 在这个例子中,每个三字母组中的第1、第2和第3个字母分别移动(mod 26)2个、0个和19个位置。,55,置换密码,置换密码是根据一定的规则重新安排明文字母,使之成为密文。 最常用的置换密码有两种:一种是列换位密码(columnar transposition cipher),另一种是周期换位密码(periodi

22、c permutation cipher)。,56,近代密码,一次一密 密码机,57,近代密码,主要标志是机械密码,用机械代替手工 近一步使用机电密码,用机电代替手工,58,一次一密乱码本(续),使用于 俄罗斯间谍 华盛顿 - 莫斯科“热线” CIA隐蔽运作 许多snake oil算法自称是OTP而不可攻破的 伪OTP是不安全的 密码机试图首先以机械方式产生近似的OTP,然后以电子方式产生近似的OTP,59,转轮机,近代密码体制是用机械或电动机械实现的, 其最基本的东西是转轮机。 一个转轮如果固定使用, 只能起到单表代替的作用。只有使轮子转动起来才能起到多表代替的作用。,(34),60,现代密

23、码,61,计算上保密的密码体制,实际工作中大量采用的密码体制并非是理论上不可破译的体制, 而是实际上难破的体制, 即人们称之为“计算上保密的体制”。 穷举搜索破译分析强力攻击 破译一个密码体制的任意算法的耗费量, 都相当于或接近于穷举搜索整个密钥空间的耗费量, 就认为该密码体制设计得好。,62,对称密钥密码体制,如果一个加密系统的加密密钥和解密密钥相同,或者虽然不相同,但是由其中的任意一个可以很容易地推导出另一个,则该系统所采用的就是对称密码体制。 对称密码体制的优点是具有很高的保密强度,可以达到经受较高级破译力量的分析和攻击。但它的密钥必须通过安全可靠的途径传递,密钥管理成为影响系统安全的关

24、键性因素,使它难以满足系统的开放性要求。,63,对称密码学(传统密码学),64,对称密钥密码体制,对称密钥常用算法有DES(Digital Encryption Standard,数据加密标准,世界第一个公开加密算法),密钥长度56位;三重DES加密算法(DES的三次迭代),密钥长度168位;Rijndael算法(一种数据块形式加密法),支持128位、192位和256位长度密钥;Blowfish算法(一种数据块形式加密法),支持32位到448位的密钥长度,65,对称密钥密码,1、分组密码2、序列密码,66,分组密码,应用这类密码时,明文按固定长度分组,对各组数据用不同的密钥加密(或脱密)。这类

25、密码按分组进行加密变换,一个字符数据不仅与密钥有关,而且还与其他字符数据有关,密码分析的穷尽量很大。例如传统的64位分组法,它的穷尽量为, 这是一个20位的十进制数,即使用每秒运算万亿次以上的巨型计算机进行攻击,平均穷尽时间也需要数年。当然这仅仅是理论数据,在攻击密码时还有其他约束条件,如文字、数据、环境、规律等信息,所以实际所需的攻击时间要短得多。,67,分组密码,DES IDEA RC2 RC4 RC5 Blowfish,68,DES产生,美国国家标准局为了能使政府部门进行信息处理时保证数据的安全,自1971年开始研究数据密码的标准化,并于1973年5月15日在“联邦注册”上发表公告,提出

26、一系列的密码算法要求,征求对加密标准的建议。这些算法的要求是: 安全性必须完全取决于密钥,而不是算法本身; 能通过破译密钥所需时间与计算量来表示它的安全性; 算法必须很灵活,适用于多种应用场合; 算法必须能让任何用户使用; 算法必须是公开的,有清楚的解释,容易理解; 算法必须提供较高的安全性,规定明确而严谨; 算法的硬件实现应有较高的性能价格比; 算法的正确性应能证明; 算法的执行应有较高的运行效率; 算法及硬件实现应满足美国的出口要求。,69,征集的结果,国家标准局采用了IBM公司提出 的研制方案。这种方案于1975年研制成功,是一种传统密码体制的加密算法,采用多次换位与代替相组合的处理方法

27、。这种算法被美国国家标准局于1977年1月5日正式确定美国的统一数据加密标准DES(Data Encryption Standard)。,70,DES,DES是第一个得到广泛应用的密码算法; DES是一种分组加密算法,输入的明文为64位,密钥为56位,生成的密文为64位; DES是一种对称密码算法,源于Lucifer算法,其中采用了Feistel网络(Feistel Network),即DES已经过时,基本上认为不再安全;http:/ 把这两种运算组合在一起一些S-boxes 由P-box 连接这种变换叫做混合变换(mixing transformations ),74,DES的三重加密3DE

28、S算法C=EK1(DK2(EK2(P)PDK1(EK2(DK2),75,DES的强度,密钥长度 = 56比特 强力攻击 = 尝试 次 差分密码分析 = 尝试 次 线性密码分析 = 尝试 次 (但是后两种攻击是不实用的) 56比特的密钥不会使DES更强 16轮不会使DES更强,76,IDEA,Xuejia Lai和James Massey提出; IDEA是对称、分组密码算法,输入明文为64位,密钥为128位,生成的密文为64位; IDEA是一种相对较新的算法,虽有坚实的理论基础,但仍应谨慎使用(尽管该算法已被证明可对抗差分分析和线性分析); IDEA是一种专利算法(在欧洲和美国),专利由Asco

29、m-Tech AG拥有; PGP中已实现了IDEA;,77,IDEA产生,Xuejia Lai 和James Massey公布IDEA密码算法第一版,1992年曾改过。IDEA(International Encryption Alogorithm)国际数据加密算法。 输入 64比特 输出 64比特 密钥长度 128比特 运算 8轮,78,RC系列,RC系列是Ron Rivest为RSA公司设计的一系列密码: RC1从未被公开,以致于许多人们称其只出现在Rivest的记事本上; RC2是变长密钥加密密法;(RC3在设计过程中在RSADSI内被攻破); RC4是Rivest在1987年设计的变长

30、密钥的序列密码; RC5是Rivest在1994年设计的分组长、密钥长的迭代轮数都可变的分组迭代密码算法; DES(56),RC5-32/12/5, RC5-32/12/6,RC5-32/12/7已分别在1997年被破译;,79,RC2分组密码算法,80,RC2分组密码算法的产生,RC2加密算法是Ron Rivest在1987年为RSA数据安全公司(RSADSI)设计的专用分组加密算法,它与RC4、RC5算法一起被收入RSADSI的加密工具箱BSAVE。 RC2分组加密算法的输入、输出分组长度为64比特,输入 密钥长度可变,从1个字节到128字节。输入密钥经密钥扩展 算法生成128个字节的扩展

31、密钥L0L127,用作加、解密 运算的层密钥。RC2以16比特的字为单位进行运算。输入的64 比特明文先预置4个字R0R3,然后经两种基本运算“mix” (混合)和“mash”(搅乱)多层迭代生成密文。共有16层mix变换, 并在第56层之间和第1112层mix变换之间别夹有一层mash变换。,81,RC5分组密码算法,82,RC5是RSA公钥密码体制的发明者R o n R i v e s t 在1994年提出的一种分组密码体制,它可看作是一种DES型的叠代 分组密码,以平衡网络作为算法的基本框架。算法有三个突出特 点: 可变性分组长度可变、叠代层数可变、密钥长度可变; 采用了依赖于数据的循环

32、移位;算法的描述特别简单。 选择不同的参数,可以得到不同的RC5算法。不同的字长适用于不 同字长的处理器;不同的以便用户在速度和安全性两方面权衡折 衷;不同长度的密钥能适应不同安全等级以及美国密码出口控制 的要求。 作者推荐的参数为:输入、输出 128比特; 叠代层数 r20, 密钥长度 128比特。,83,RC4算法是Ron Rivest在1987年为RSA数据安全公司(RSADSI) 设计的专用算法之一,其他专用算法还有RC2和RC5。 RC4是序列密码,RC2和RC5是分组密码,它们都被收入了RSADSI 生产的加密工具箱BSAFE3.0版(在2.0版中只有RC2和RC4) ,并被许多公

33、司的安全产品所采用。1994年10月31日,RSADSI 向国际标准化组织ISO登记注册了RC2和RC4,但当时算法并没有公开。 RC5算法是公开的,Ron Rivest在1994年12月召开的 第二次快速软件加密算法研讨会上发表了该算法。,84,Blowfish算法,Blowfish算法也是分组密码算法,其明文组也是64比特的数据组,密钥长度最长可达到448比特,明文组通过16轮的加密变换形成密文。,85,序列密码,一次只对明文中的单个比特(有时对字节)运算的算法称为序列算法 这种密码直接对当前的字符进行变换,也就是说,以一个字符为单位进行加密变换。在这种加密体制中,每一字符数据的加密与报文

34、的其他部分无关。例如,直接对明文加上一串同等长度的乱码(也可看成是密钥),只要所用的乱码是随机数且不重复使用,就实现了“一次一密”的加密。从理论上讲,真正实现了“一次一密”的密码是可靠的密码,原则上是不可破译的。 这类密码的明文和密文长度一般不变,传递迅速、快捷;其缺点是密码破译人员比较容易得到明密对照双码,便于其进行密码分析,同时乱码的产生和管理比较困难,难以真正做到“一次一密”。该类密码适用于通信领域。,86,序列密钥 发生器,序列密钥 发生器,明文,序列密钥流,序列密钥流,密钥,密文,明文,序列密码工作图,序列密码体制适合无线通信:卫星、散射、微波、超短波等等,87,AES (Rijnd

35、eal),高级加密标准 (AES) 是美国标准与技术研究院针对电子数据的加密所制定的规范,它将要成为公认的数字信息(包括财务数据、电信数据和政府数据)加密方法。 AES 是一种可用来保护电子数据的新型加密算法。特别是,AES 是可以使用 128、192 和 256 位密钥的迭代式对称密钥块密码,并且可以对 128 位(16 个字节)的数据块进行加密和解密。 AES 是旧式数据加密标准 (DES) 的后续标准。 Rijndael是迭代分组密码,其分组长度和密钥长度都是可变的;该算法被 NIST 选作最符合安全性、实现效率、多功能性和简单性等设计准则的提议。尽管 AES 和 Rijndael 这两

36、个术语有时会互换使用,但它们截然不同。,88,小结,DES是应用最广泛的对称密码算法(由于计算能力的快速进展,DES已不再被认为是安全的); IDEA在欧洲应用较多; RC系列密码算法的使用也较广(已随着SSL传遍全球); AES将是未来最主要,最常用的对称密码算法;,89,对称密钥密码体制的优缺点: 优点: 比非对称系统要快得多 密钥长度大的话就很难攻破缺点: 需要一个安全的机制来恰当地分发密钥。 每一个使用者都需要唯一的一对密钥,因此密钥总数按照用户数的平方数增长,密钥管理繁重不堪。 一个有n个点的网络要全互联需要密钥总数为:(n-1)n/2 能提供机密性,但是不能提供认证和抗抵赖功能注意

37、:当用密钥分配中心(KDC)时可以克服密钥总数按用户数的平方数增长,密钥管理繁重不堪的缺点。,90,公开密钥密码体制 (现代密码学),91,Whitefield Diffie,Martin Hellman,New Directions in Cryptography,1976公钥密码学的出现使大规模的安全通信得以实现 解决了密钥分发问题; 公钥密码学还可用于另外一些应用:数字签名、抗抵赖等; 公钥密码体制的基本原理 陷门单向函数(troopdoor one-way function),拉开了公开密钥密码学的新时代,公钥密码学简介,92,公开密钥密码体制,如果一个加密系统把加密和解密的能力分开,

38、加密和解密分别用两个不同的密钥实现,并且不可能由加密密钥推导出解密密钥(或者不可能由解密密钥推导出加密密钥),则该系统所采用的就是公开密钥密码体制(又称非对称密码体制)。采用公开密钥密码体制的每个用户都有一对选定的密钥,其中一个是可以公开的,另一个由用户自己秘密保存。非对称密码体制的主要优点是可以适应开放性的使用环境,密钥管理问题相对简单,可以方便、安全地实现数字签名和验证。,93,密钥协定,允许双方约定一个共享密钥交换传统的加密密钥需要提供安全通道部分,94,公钥加密,使用匹配的公/私钥对任何人能够使用公钥加密,只有一个人能够使用私钥解密,95,加密,Alisa的公钥环,96,公钥算法,RS

39、A(Rivest - Shamir - Adleman), 1977 在一个算法中实现签名和加密 私钥 = 签名和解密 公钥 = 签名检验和加密 有专利权,2000年9月到期 DH(Diffie - Hellman), 1976 密钥交换算法 Elgamal DH的变形,一个算法用于加密,一个用于签名 一种没有专利权的RSA替换算法,97,公钥算法(续),DSA (Digital Signature Algorithm) Elgamal签名的变形,由NSA设计,美国政府的数字签名标准 打算只用于签名, 但能被修改用于加密 粗略地说,所有的算法具有相同的强度: 512比特密钥太小 1024比特密

40、钥是建议的最小长度 2048比特密钥更利于长期的安全性 建议 可以做任何适当的事,RSA被广泛接受,但在美国它有专利权的问题,98,公钥加密,你怎样使用两个不同的密钥? 一个是另一个的倒数:key1 = 3, key2 = 1/3, 报文M = 4加密:密文C = M key1= 4 3= 12解密:明文M = C key2= 12 1/3= 4 一个密钥是公开的,另一个密钥是保密的。,99,RSA,Ron Rivest, Adi Shamir和Len Adleman于1977年研制并于1978年首次发表; RSA是一种分组密码,其理论基础是一种特殊的可逆模幂运算,其安全性基于分解大整数的困难

41、性; RSA既可用于加密,又可用于数字签名,已得到广泛采用; RSA已被许多标准化组织(如ISO、ITU、IETF和SWIFT等)接纳; RSA-155(512 bit), RSA-140于1999年分别被分解;,100,RSA算法原理,RSA算法原理与数据模型首先, 找出三个数, p, q, r, 其中 p, q 是两个相异的质数, r 是与 (p-1)(q-1) 互质的数 p, q, r 这三个数便是 private key 接著, 找出 m, 使得 rm = 1 mod (p-1)(q-1) 这个 m 一定存在, 因为 r 与 (p-1)(q-1) 互质, 用辗转相除法就可以得到了 再来

42、, 计算 n = pq m, n 这两个数便是 public key,101,DH/DSA,Diffie-Hellman(DH)是第一个公钥算法,其安全性基于在有限域中计算离散对数的难度; DSA是NIST于1991年提出的数字签名标准(DSS),该标准于1994年5月19日被颁布; DSA是Schnorr和Elgemal签名算法的变型,DSA只能用于数字签名不能用于加密;,102,Elgemal,Elgemal于1985年基于离散对数问题提出了一个既可用于数字签名又可用于加密的密码体制;(此数字签名方案的一个修改被NIST采纳为数字签名标准DSS) Elgemal,Schnorr和DSA签名

43、算法都非常类似。事实上,它们仅仅是基于离散对数问题的一般数字签名的三个例子。,103,小结,RSA是最易于实现的; Elgemal算法更适合于加密; DSA对数字签名是极好的,并且DSA无专利费,可以随意获取; Diffie-Hellman是最容易的密钥交换算法;,104,椭圆曲线密码体制,椭圆曲线密码系统(ECC)被用作非对称算法,它能够 提供数字签名、安全的密钥分配和加密功能。它利用的 资源很少,因此便于用在无线设备和蜂窝电话的加密功能 上。但安全性没有得到充分认证。 ECC算法使用的是椭圆曲线的性质,椭圆曲线提供了建立元素群的方法以及这些元素在群中运算的特殊规则。群与群之间的规则就用来构

44、建加密算法。,105,ECC已开始了其标准化进程,其中包括用于公钥密码 体制的IEEE P1363标准。,106,ECC的利弊,优点 对智能卡有用,因为它们的资源需求很低 在需要高速运作的场合有用 缺点 新,仍待解决一些细节问题 许多技术太新,还没有被信任 ECC还没有解决专利权问题 人们仍然怀疑其数学上的安全脆弱性,因此,对ECC的信任还没有对RSA的高。 建议:除非的确需要它们特殊的特征,否则不要使用它们,107,不对称密钥密码体制的优缺点: 优点:与对称密码系统相比,具有更好的密钥分发功能 比对称系统有更好的扩展性 能提供机密性、认证和防抵赖功能缺点:比对称密码系统运行要慢 数学密集的任

45、务,108,散列(HASH)函数,109,单向函数(one-way function)是一个方向上容易计算而在另一个上难以计算的的一种函数。 大和数容易计算nrq,但由n难以分解成r、q ,这就是单向函数。 RSA算法就是利用这个原理的。,单向函数(one-way function),110,单向哈希(HASH)函数,单向哈希函数(one_way hash function)是一种将可变长的数据 或信息压缩成固定长得值,这个值叫哈希值,又叫信息的指纹, 也叫信息的摘要。 这种函数是公开的单向函数,不保密,一般不使用密钥。 消息认证码MAC(Message Authentication Code

46、)就是哈希值的一种, 但它可以使用对称密钥. HASH值常作为数字签名用。,111,单向杂凑(Hash)函数,杂凑(Hash)函数是将任意长的数字串M映射成一个较短的定长输出数字串H的函数,我们关心的通常是单向杂凑函数; 强单向杂凑与弱单向杂凑 (无碰撞性collision-free); 杂凑函数除了可用于数字签名方案之外,还可用于其它方面,诸如消息的完整性检测、消息的起源认证检测等,112,哈希(HASH)函数,H(M): 输入为任意长度的消息M; 输出为一个固定长度的散列值,称为消息摘要(Message Digest) H(M)是消息M的所有位的函数并提供错误检测能力:消息中的任何一位或多

47、位的变化都将导致该散列值的变化 H(M)又称为:散列函数、数字指纹(Digital finger print)、压缩(Compression)函数、数据鉴别码(Dataauthentication code)等,113,Hash算法,将可变长度的输入压缩成固定长度(128或160比特)的输出 要求 不能从输出结果推导出输入内容 不能产生给定的输出结果(CRC不能满足这个要求) 不能找到两个产生相同输出结果的输入内容( CRC 也不能满足这个要求) 作用 为任意长度的数据产生固定长度的指纹 产生数据校验和,以便检测到数据的修改 将口令压缩成固定长度的加密密钥 也称为报文摘要或指纹,114,哈希函

48、数的定义,散列函数:M:变长报文 H(M):定长的散列值 主要用于为文件、报文或其它分组数据产生指纹,115,哈希函数的要求,H能用于任意大小的分组 H能产生定长的输出 对任何给定的x,H(x)要相对易于计算,使得硬件和软件实现成为实际可能 对任何给定的码h,寻找x使得H(x)=h在计算上是不可行的,即单向性 对任何给定的分组x,寻找不等于x的y,使得H(x)=H(y)在计算上是不可行的,即弱抗冲突性 寻找对任何的(x,y)对使得H(x)=H(y)在计算上是不可行的,即强抗冲突性,116,Hash函数,给一个报文产生唯一的“指纹”HASH函数是公开的,任何人能够把自己的信息计算出一个新的Hash值,这个值的长度是固定的,但不同信息的Hash值是不一样的,由Hash反推出原来的信息是不可能的,因此Hash可做信息的指纹,信息任何微小的变化就有不同的Hash值。这样检验Hash值就可以检验信息的完整性。,117,MD系列,Ron Rivest设计的系列杂凑函数系列: MD4Rivest 1990, 1992, 1995; RFC1320 MD5是MD4的改进型RFC1321 MD2RFC1319,已被Rogier等于1995年攻破 较早被标准化组织IETF接纳,并已获得广泛应用 安全性介绍,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报