第2章现代密码学概论课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第2章现代密码学概论课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 现代 密码学 概论 课件
- 资源描述:
-
1、第2章 现代密码学概论本章要点r 现代密码学框架r 现代密码学的理论基础r 对称加密标准:DES和AESr 公钥密码体制:RSA和ElGamal体制2.1 现代密码学框架 2.1.1 什么是密码学 定义定义1 密码学密码学是研究与信息安全各方面有关的(比如机密性、数据完整性、实体认证及数据源认证)数学技术数学技术的一门学科。2.1.1 什么是密码学(续)发送者Alice密钥源分析者Eve接收者Bob安 全信道公 共信道加密器Ek解密器Dk明文m密文c明文m密钥k密钥k图 2.1 Shannon保密系统 2.1.1 什么是密码学(续)通信中的参与者通信中的参与者 (1)发送者(Alice):在双
2、方交互中合法的信息发送实体。(2)接收者(Bob):在双方交互中合法的信息接收实体。(3)分析者(Eve):破坏通信接收和发送双方正常安全通信的其他实体。可以采取被动攻击和主动攻击的手段。信道信道 (1)信道:从一个实体向另一个实体传递信息的通路。(2)安全信道:分析者没有能力对其上的信息进行阅读、删除、修改、添加的信道。(3)公共信道:分析者可以任意对其上的信息进行阅读、删除、修改、添加的信道。2.1.2 现代密码学中的对称与非对称密码思想加密器EK1(m)=c分析者Eve解密器DK2(c)=m明文消息源目的地mmc公共信道AliceBob#对称密码的加密密钥与解密密钥同:K1=K2代表系统
3、:DES和AES2.1.2 现代密码学中的对称与非对称密码思想(续)若互联网上有n个用户,则需要个密钥,若n=1000,则NK500 000。#如此众多的密钥如何建立,如何保存?)1(22nnnNK2.1.2 现代密码学中的对称与非对称密码思想(续)加密器EK1(m)=c分析者Eve解密器DK2(c)=m明文消息源目的地mmc公共信道AliceBob#非对称密码的加密密钥与解密密钥不同:K1K2代表系统:RSA和ElGamal2.1.3 密码学的演进及目前的状态安全依赖于保密加密方法安全依赖于保密密钥安全依赖于保密部分密钥古典密码私钥密码公钥密码#公钥密码体制以其强大的功能使得私钥密码体制显得
4、已经过时,但是强大的功能不是无代价获得的,公钥密码的计算量远大于相同情况下的私钥密码。因此,不适合加密大量数据,只适合于完成少量数据加密,如传送私钥密码的密钥、签名等等。2.1.4 现代密码学主要技术Security PrimitivesPublic-key PrimitivesSymmetric-key PrimitivesUnkeyed PrimitivesArbitrary length hash functionsSymmetric-key ciphersRandom sequencesOne-way permutationsB l o c k ciphersS t r e a m c
5、iphersArbitrary length hash functions(MACs)SignaturesPseudorandom sequencesIdentification primitivesPublic-key ciphersSignaturesIdentification primitives图2.2 密码学本原分类2.1.4 现代密码学主要技术(续)(1)加密加密 加密基本术语加密基本术语 明文消息空间M:某个字母表集 密文消息空间C:可能的密文消息集 加/解密密钥空间K:可能的加/解密密钥集 加/解密函数EeK(mM)/DdK(cC):一个 从M到C/C到M的有效变换2.1.4
6、 现代密码学主要技术(续)加密方案加密方案 加密方案是由一个加密函数集Ee:eK和解密函数集Dd:dK构成,并且满足任意一个加密密钥eK存在唯一一个解密密钥dK使 Dd=Ee1,也就是对于所有明文消息mM,存在Dd(Ee(m)=m,(e,d)称为密钥对。设计加密方案就是确定M、C、K、Ee:eK、Dd:dK的过程。定义定义2 一个加密方案可以被破译是指,第三方在没有事先得到密钥对(e,d)的情况下,可以在适当适当的时间的时间里系统地系统地从密文恢复出相对应的明文。#适当的时间由被保护数据生命周期来确定。2.1.4 现代密码学主要技术(续)私钥加密私钥加密 定义定义3 一个由加密函数集Ee:eK
7、和解密函数集Dd:dK组成加密方案,每一个相关联的密钥对(e,d),如果知道了e在计算上很容易确定d,知道了d在计算上很容易确定e,那么,就是私钥加密方案。#私钥加密需要一条安全信道来建立密钥对。主要技术:分组密码分组密码与流密码流密码 定义定义 4(分组密码分组密码)将明文消息在编码集按照固定长度t进行分组,再一组一组地加解密明密文消息。#著名的DES、AES都是这类密码。2.1.4 现代密码学主要技术(续)定义定义5 K 是加密变换集的密钥空间,序列 e1e2 eiK称为密钥流。定义定义6(流密码流密码)消息m以串的形式(m1m2mi)给出,密钥e1e2ei是K上的密钥流。流密码通过ci=
8、Eei(mi)给出密文消息(c1c2ci);如果di为ei的逆,解密则通过mi=Ddi(ci)完成。2.1.4 现代密码学主要技术(续)公钥加密公钥加密 定义定义 7 一个由加密函数集Ee:eK和解密函数集Dd:dK组成加密方案,每一个相关联的加/解密密钥对(e,d),加密密钥e公开,称为公开密钥,而解密密钥d保密,称为秘密密钥。#显然安全公钥密码系统要求从e计算d为不可能。2.1.4 现代密码学主要技术(续)公钥加密实例公钥加密实例Ee(m1)=c1A1Ee(m2)=c2A2Ee(m3)=c3A3Dd(c1)=m1Dd(c2)=m2Dd(c3)=m3Bobec1eec2c3#因为存在替代攻击
9、问题,公钥系统中公开密钥e必须认证,一般是建立PKI。2.1.4 现代密码学主要技术(续)(2)数字签名技术数字签名技术 基本术语基本术语 明文消息空间M:某个字母表中串的集合 签名空间S:可能的签名集合 签名密钥空间K:用于生成签名的可能密钥集,具体取值k需要保密 验证密钥空间K:用于验证签名的可能密钥集,具体取值k需要公开 签名函数SK(mM):从M到S的有效变换 验证函数VK(mM,s):一个从MS到输出True,False的有效变换2.1.4 现代密码学主要技术(续)签名过程签名过程 签名签名(签名者完成)1)对一条需要签名的消息mM计算签名s=Sk(m)。2)将对消息m的签名(m,s
10、)发送出去。验证验证(验证者完成)1)得到对应签名者的验证算法Vk,计算u=Vk(m,s)。2)如果u=True,接受签名;如果u=False,拒绝签名。2.1.4 现代密码学主要技术(续)签名和认证函数必须满足的性质签名和认证函数必须满足的性质 1)当且仅当Vk(m,s)=True时,s是消息m的合法签名。2)对于任何签名者以外的实体在计算上不可能得到任意的一组mf和sf满足Vk(mf,sf)=True。数字签名的争议解决数字签名的争议解决(不可否认不可否认)如果签名者和验证者对签名发生争议,可由验证者带着签名(m,s)提交给可信任第三方(TTP),由TTP验证该签名,最后进行仲裁。2.1.
11、4 现代密码学主要技术(续)数字签名技术在公钥基础设施数字签名技术在公钥基础设施(PKI)中的应用中的应用 除非对密钥产生的认证性和合法性有足够的信任,否则公钥密码的优势就十分有限。公钥基础设施或简称PKI是一个框架。这个框架主要由一组策略策略组成。策略确切定义了关于密码系统运行和密钥产生和发布与其证书的规则。X.509是设计用来在大型计算机网络中提供目录认证服务的国际标准。由于它本身是ISO/ITU 的一个标准,很多实用产品都基于它开发出来。例如,X.509被用在Visa和Mastercard的安全电子交易标准中。2.1.4 现代密码学主要技术(续)图2.3 X.509的结构原理2.1.4
12、现代密码学主要技术(续)8定义 一个公钥证书是由数据部分和签名部分组成的一个数据结构。数据部分至少包含的明文数据有:公开密钥以及标识指定实体身份的位串。签名部分是证书权威对数据部分的一个数字签名,其将目标用户的身份与特定的公开密钥相绑定。2.1.4 现代密码学主要技术(续)图2.4 证书认证过程A1A6认证VT(A6|e6,s6)秘密密钥 d6A2,e2,ST(A2|e2)=s2A3,e3,ST(A3|e3)=s3A4,e4,ST(A4|e4)=s4e6,s6Dd6(c)=mc=Ee6(m)Public fileA1,e1,ST(A1|e1)=s1A5,e5,ST(A5|e5)=s5A6,e6
13、,ST(A6|e6)=s6A2,e2,ST(A2|e2)=s2#证书权威负荷小(离线、非交互、存储证书),权限低2.1.4 现代密码学主要技术(续)公钥证书的产生公钥证书的产生 情况情况1 可信方产生密钥对。可信方为实体产生公钥算法的密钥对,并将公开密钥和绑定身份的公钥证书通过公共信道发给该实体。实体在证明了自己的身份(例如,出示身份证或个人可信照片)后,将通过安全信道得到对应的秘密密钥。情况情况2 实体产生自己的密钥对。实体产生自己的公钥算法的密钥对,并安全地将公开密钥传送给可信方(例如,通过可信通道或派人送达),这里主要是保证公开密钥的真实性。在验证了公开密钥来源的真实性后,可信方为公开密
14、钥生成证书。2.1.4 现代密码学主要技术(续)证书链和证书路径证书链和证书路径图2.5 证书链 2.1.4 现代密码学主要技术(续)(3)认证与鉴别技术认证与鉴别技术 鉴别或实体认证鉴别或实体认证 定义定义 9 鉴别或实体认证是一个过程。在这个过程中一方通过获得一些确定的证据来确认参加实体认证的另一方的身份,而具有相应身份的实体也确实就是正在参与这一认证过程的另一方。例子例子1 实体A与B通电话,如果A与B认识就可以通过声音来确定对方的真实性。例子例子2 实体A通过信用卡在银行ATM机上取钱。#特点:时实性。特点:时实性。2.1.4 现代密码学主要技术(续)直观安全目标安全目标:a 在宣称者
15、A和验证者B都诚实地执行认证时,A能向B成功地证明自己,也就是B将完成执行并接受A所宣称的身份。b(不可转移性)验证者B不能从与宣称者A交互中获得的信息,成功地向第三方C来冒充A。c(不可冒充性)任何一个非宣称者A的C想通过扮演A的身份,通过验证者B的认证,让B接受A的身份的可能性可以忽略。这里,可以忽略的含义是概率小到没有具体的实际意义,准确的度量需要根据实际应用而定。d 即使如下情况存在,以上三个条件仍然成立。d.1宣称者A和验证者B之间以前进行的多项式次认证会话且被窃听;d.2 冒充者C以前参与了同宣称者A或(和)验证者B的认证执行;d.3 冒充者C可能发起多个认证会话并行运行。2.1.
16、4 现代密码学主要技术(续)数据源认证数据源认证 定义定义10 数据源认证或消息认证技术,提供一方通过一些附加的证据,确定消息的产生一方的真实身份。例子例子3 实体A向实体B发送电子邮件,电子邮件通过网络传输并存储,在某个时间由B接收到,由于没有直接通信,B这时可能要求认证邮件确实来自A。2.1.4 现代密码学主要技术(续)(4)密码密码Hash 函数技术函数技术 定义定义11 Hash函数h()是一个有效的计算方法,它将一个任意长度的二进制位串影射成固定长度的二进制位串,这个固定长度的二进制位串叫Hash值。修改发现码修改发现码(MDCs)附加性质附加性质 1)Hash函数是单向函数,即给定
17、y,找到任意x,满足 y=h(x)计算不可能。2)已知x,找x,满足h(x)=h(x)计算不可能。3)找一任意对x和x,满足h(x)=h(x)计算不可能。#修改发现码可以进一步分类,单向Hash函数(1-2)(OWHFs)和碰撞抵抗Hash函数(2-3)(CRHFs)。2.1.4 现代密码学主要技术(续)消息认证码消息认证码(MACs)消息认证码的目的,通俗讲就是不附加任何其他机制,确保消息来源的真实性的Hash函数。消息认证码有两个不同功能的参数,即消息和秘密密钥。Hash函数无密钥有密钥修改发现码(MDCs)其他应用其他应用消息认证码(MACs)图2.6 密码Hash函数的简单分类2.1.
18、4 现代密码学主要技术(续)(5)随机数与随机序列随机数与随机序列 密码中以伪随机序列发生器代替随机序列发生器。伪随机序列发生器以短的随机数做种子,以固定方式产生伪随机序列。#伪随机序列与真随机序列不可区分假设,与安全数字签名、公钥密码的存在性等价。2.1.5 评价现代密码算法的标准 Kerckhoffs准则准则 在评估一个密码系统安全性时,应该总是假定我们的敌人了解实际使用的各种方法。#落实到现代密码算法中就是攻击者知道密码算法的所有执行细节,算法的安全不应该依赖于对算法的保密。2.1.5 评价现代密码算法的标准(续)Shannon提出的“优质”密码算法特征 (1)加解密的工作量应该由所要求
19、的安全程度决定。(2)密钥集合和加密算法不应该过于复杂。(3)执行过程应该尽量简单。(4)密码中的差错不应该具有传播性,也不应该影响报文中的其他信息。(5)加密后的文本大小不应该比原始报文显著增大。2.1.5 评价现代密码算法的标准(续)“可信赖的”加密体制的特点(1)有可靠的数学基础。(2)经过专家的严格分析,证实是可靠的。(3)经得起时间的检验。2.2 现代密码学的理论基础 现代密码学要求很高的数学基础,包括:数论、抽象代数与有限域、计算复杂理论、信息论、概率论等。但是掌握基础的密码算法并不需要精通过多的底层数学理论。这里我们仅讲述掌握本章的密码算法所需要的计算复杂理论、数论等的基础知识。
20、2.2.1 计算复杂理论 如果加密算法建立在一个已知非常难解决的问题或者可能解的数目巨大的问题之上,那么攻击者要破译算法就注定要完成一个即便不是不可能,也是另人沮丧的任务。即使有计算机的支持,一个穷尽的暴力解答也是不可行的。NP完全问题就是这样一类具有计算复杂特点的问题。我们用非形式化非形式化的方式来描述NP完全问题。2.2.1 计算复杂理论(续)NP完全问题完全问题 几个具体实例 例子例子4 可满足问题 给定逻辑公式满足如下条件:(1)它由变量v1,v2,vn和它们的逻辑非v1,v2,vn 组成。(2)它表现为一系列子句,且每个子句的形式是变量以及逻辑非的逻辑或()(3)它表示为这些子句的逻
21、辑与()是否存在一种变量的赋值法(赋真或假),使得公式为真?如果存在,说这个公式是可满足的可满足的。例如,(v1)(v2 v3)(v1 v3)为可满足的,(v1)(v2 v3)(v1 v3)(v2)为不可满足的。2.2.1 计算复杂理论(续)例子例子5 背包问题12121,0,01 =4,7,1,12,10=17174 1 121,0,1,1,0=25 nininiiiSa aaTaVv vvvavTSTVT 给定一个集合和一个目标和,其中,是否存在一个选择向量,其中或,使得。例如,集合 为。对于目标和存在一个解,即。对应的选择向量。而当时无解。2.2.1 计算复杂理论(续)例子例子6 团 给
22、定一个图G和一个整数n,是否存在一个包含n个顶点的子图,使得子图中的每个顶点与其他顶点之间都有一条边每个顶点都与其他所有顶点相连的图被称为团(clique)?例如,图2.7有4顶点的团,但无5顶点的团。图 2.7 图的团子图2.2.1 计算复杂理论(续)NP完全问题的特征完全问题的特征 (1)每个问题都有解法,且总有一个相对简单的解法(尽管该解法也许十分耗时)。(2)如果要列举所有可能性,就需要考虑2n中情况(n与问题有关)(3)这些问题是无关的,分别来自逻辑学、数论和图论。(4)如果能完全猜中,则可以在相对较少的时间内求解每一个问题。2.2.1 计算复杂理论(续)P类和类和NP类类 P类问题
23、是一类问题的集合,这个集合中的问题都可以在一个与问题大小相关的多项式函数时间内完成。NP类问题是所有这样一类问题的集合,假设能够完全猜中,这些问题可以在一个多项式函数时间内得到解决(猜测函数被称为是预言机或非确定性图灵机)。这种猜测是非确定性的。EXP类,它由所有存在指数时间cn内的确定性解法的问题组成,其中,c是一个常数。它们有如下关系,PNP EXP。2.2.1 计算复杂理论(续)NP完全的含义完全的含义 Cook证明了:如果可满足问题有一个确定性的、多项式时间的算法(不带猜测),那么对NP中的每个问题都会有一个确定性、多项式时间的算法,即NP=P。Karp证明了背包问题和团问题具有和可满
24、足问题一样的性质。这一问题的逆否命题是:如果可以证明这些问题中的某个问题没有在多项式时间内完成的确定性算法,那么它们中所有问题都不存在确定性多项式时间算法。这里对一个问题的解决这里对一个问题的解决是要求找到一个通用算法来解决它的每个实例是要求找到一个通用算法来解决它的每个实例。2.2.1 计算复杂理论(续)图 2.8 复杂性的层次结构#P=NP或PNP2.2.1 计算复杂理论(续)已经有很多人对NP完全问题进行了长期研究,如果对确实存在多项式时间算法,那么有理由认为已经有人找到了解法。目前,已经有数以百计的问题被证明是NP完全问题。我们列举的这类问题越多,就越有理由确信不存在一个能解决所有问题
25、的简单方法。2.2.1 计算复杂理论(续)NP完全性与密码学完全性与密码学 (1)一个NP完全问题不能保证不存在一种比指数时间更容易的算法,它仅表示我们不大可能找到这一算法。(2)每个NP完全问题都有一个确定性的指数时间算法,即可以与2n成比例的时间运行完成。(3)硬件的不断进步,越来越大规模的问题都能计算了。(4)即使一个加密算法是基于难解问题的,但攻击者未必总是去解这个难解问题才能破译加密算法。2.2.1 计算复杂理论(续)其他固有的难解问题其他固有的难解问题 数论中存在大量难解问题,但大多数数论中的难解问题都是NP问题,不是NP完全问题。公钥密码体制主要依赖数论中的两个难解问题:大整数分
展开阅读全文