现代密码学精讲课件.ppt
《现代密码学精讲课件.ppt》由会员分享,可在线阅读,更多相关《现代密码学精讲课件.ppt(169页珍藏版)》请在三一办公上搜索。
1、第2章 现代密码学精讲,本章要点,现代密码学框架 现代密码学的理论基础 对称加密标准:DES和AES 公钥密码体制:RSA和ElGamal体制,2.1 现代密码学框架,2.1.1 什么是密码学 定义1 密码学是研究与信息安全各方面有关的(比如机密性、数据完整性、实体认证及数据源认证)数学技术的一门学科。,2.1.1 什么是密码学(续),图 2.1 Shannon保密系统,2.1.1 什么是密码学(续)通信中的参与者(1)发送者(Alice):在双方交互中合法的信息发送实体。(2)接收者(Bob):在双方交互中合法的信息接收实体。(3)分析者(Eve):破坏通信接收和发送双方正常安全通信的其他实
2、体。可以采取被动攻击和主动攻击的手段。信道(1)信道:从一个实体向另一个实体传递信息的通路。(2)安全信道:分析者没有能力对其上的信息进行阅读、删除、修改、添加的信道。(3)公共信道:分析者可以任意对其上的信息进行阅读、删除、修改、添加的信道。,2.1.2 现代密码学中的对称与非对称密码思想,#对称密码加密密钥与解密密钥同:K1=K2代表系统:DES和AES,2.1.2 现代密码学中的对称与非对称密码思想(续),若互联网上有n个用户,则需要,个密钥,若n=1000,则NK500 000。#如此众多的密钥如何建立,如何保存?,2.1.2 现代密码学中的对称与非对称密码思想(续),#非对称密码加密
3、密钥与解密密钥不同:K1K2代表系统:RSA和ElGamal,2.1.3 密码学的演进及目前的状态,#公钥密码体制以其强大的功能使得私钥密码体制显得已经过时,但是强大的功能不是无代价获得的,公钥密码的计算量远大于相同情况下的私钥密码。因此,不适合加密大量数据,只适合于完成少量数据加密,如传送私钥密码的密钥、签名等等。,2.1.4 现代密码学主要技术,2.1.4 现代密码学主要技术(续),(1)加密 加密基本术语 明文消息空间M:某个字母表集 密文消息空间C:可能的密文消息集 加/解密密钥空间K:可能的加/解密密钥集 加/解密函数EeK(mM)/DdK(cC):一个 从M到C/C到M的有效变换,
4、2.1.4 现代密码学主要技术(续),加密方案 加密方案是由一个加密函数集Ee:eK和解密函数集Dd:dK构成,并且满足任意一个加密密钥eK存在唯一一个解密密钥dK使 Dd=Ee-1,也就是对于所有明文消息mM,存在Dd(Ee(m)=m,(e,d)称为密钥对。设计加密方案就是确定M、C、K、Ee:eK、Dd:dK的过程。定义2 一个加密方案可以被破译是指,第三方在没有事先得到密钥对(e,d)的情况下,可以在适当的时间里系统地从密文恢复出相对应的明文。#适当的时间由被保护数据生命周期来确定。,2.1.4 现代密码学主要技术(续),私钥加密 定义3 一个由加密函数集Ee:eK和解密函数集Dd:dK
5、组成加密方案,每一个相关联的密钥对(e,d),如果知道了e在计算上很容易确定d,知道了d在计算上很容易确定e,那么,就是私钥加密方案。#私钥加密需要一条安全信道来建立密钥对。主要技术:分组密码与流密码 定义 4(分组密码)将明文消息在编码集按照固定长度t进行分组,再一组一组地加解密明密文消息。#著名的DES、AES都是这类密码。,2.1.4 现代密码学主要技术(续),定义5 K 是加密变换集的密钥空间,序列 e1e2 eiK称为密钥流。定义6(流密码)消息m以串的形式(m1m2mi)给出,密钥e1e2ei是K上的密钥流。流密码通过ci=Eei(mi)给出密文消息(c1c2ci);如果di为ei
6、的逆,解密则通过mi=Ddi(ci)完成。,2.1.4 现代密码学主要技术(续),公钥加密 定义 7 一个由加密函数集Ee:eK和解密函数集Dd:dK组成加密方案,每一个相关联的加/解密密钥对(e,d),加密密钥e公开,称为公开密钥,而解密密钥d保密,称为秘密密钥。#显然安全公钥密码系统要求从e计算d为不可能。,2.1.4 现代密码学主要技术(续),公钥加密实例,#因为存在替代攻击问题,公钥系统中公开密钥e必须认证,一般是建立PKI。,2.1.4 现代密码学主要技术(续),(2)数字签名技术 基本术语 明文消息空间M:某个字母表中串的集合 签名空间S:可能的签名集合 签名密钥空间K:用于生成签
7、名的可能密钥集,具体取值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)发送出去。验证(验证者完成)1)得到对应签名者的验证算法Vk,计算u=Vk(m,s)。2)如果u=True,接受签名;如果u=False,拒绝签名。,2.1.4 现代密码学主要技术(续),签名和认证函数必须满足的性质 1)当且仅当Vk(
8、m,s)=True时,s是消息m的合法签名。2)对于任何签名者以外的实体在计算上不可能得到任意的一组mf和sf满足Vk(mf,sf)=True。数字签名的争议解决(不可否认)如果签名者和验证者对签名发生争议,可由验证者带着签名(m,s)提交给可信任第三方(TTP),由TTP验证该签名,最后进行仲裁。,2.1.4 现代密码学主要技术(续),数字签名技术在公钥基础设施(PKI)中的应用 除非对密钥产生的认证性和合法性有足够的信任,否则公钥密码的优势就十分有限。公钥基础设施或简称PKI是一个框架。这个框架主要由一组策略组成。策略确切定义了关于密码系统运行和密钥产生和发布与证书的规则。X.509是设计
9、用来在大型计算机网络中提供目录认证服务的国际标准。由于它本身是ISO/ITU 的一个标准,很多实用产品都基于它开发出来。例如,X.509被用在Visa和Mastercard的安全电子交易标准中。,2.1.4 现代密码学主要技术(续),图2.3 X.509的结构原理,2.1.4 现代密码学主要技术(续),2.1.4 现代密码学主要技术(续),图2.4 证书认证过程,#证书权威负荷小(离线、非交互、存储证书),权限低,2.1.4 现代密码学主要技术(续),公钥证书的产生 情况1 可信方产生密钥对。可信方为实体产生公钥算法的密钥对,并将公开密钥和绑定身份的公钥证书通过公共信道发给该实体。实体在证明了
10、自己的身份(例如,出示身份证或个人可信照片)后,将通过安全信道得到对应的秘密密钥。情况2 实体产生自己的密钥对。实体产生自己的公钥算法的密钥对,并安全地将公开密钥传送给可信方(例如,通过可信通道或派人送达),这里主要是保证公开密钥的真实性。在验证了公开密钥来源的真实性后,可信方为公开密钥生成证书。,2.1.4 现代密码学主要技术(续),证书链和证书路径,图2.5 证书链,2.1.4 现代密码学主要技术(续),(3)认证与鉴别技术 鉴别或实体认证 定义 9 鉴别或实体认证是一个过程。在这个过程中一方通过获得一些确定的证据来确认参加实体认证的另一方的身份,而具有相应身份的实体也确实就是正在参与这一
11、认证过程的另一方。例子1 实体A与B通电话,如果A与B认识就可以通过声音来确定对方的真实性。例子2 实体A通过信用卡在银行ATM机上取钱。#特点:时实性。,2.1.4 现代密码学主要技术(续),直观安全目标:a 在宣称者A和验证者B都诚实地执行认证时,A能向B成功地证明自己,也就是B将完成执行并接受A所宣称的身份。b(不可转移性)验证者B不能从与宣称者A交互中获得的信息,成功地向第三方C来冒充A。c(不可冒充性)任何一个非宣称者A的C想通过扮演A的身份,通过验证者B的认证,让B接受A的身份的可能性可以忽略。这里,可以忽略的含义是概率小到没有具体的实际意义,准确的度量需要根据实际应用而定。d 即
12、使如下情况存在,以上三个条件仍然成立。d.1宣称者A和验证者B之间以前进行的多项式次认证会话且被窃听;d.2 冒充者C以前参与了同宣称者A或(和)验证者B的认证执行;d.3 冒充者C可能发起多个认证会话并行运行。,2.1.4 现代密码学主要技术(续),数据源认证 定义10 数据源认证或消息认证技术,提供一方通过一些附加的证据,确定消息的产生一方的真实身份。例子3 实体A向实体B发送电子邮件,电子邮件通过网络传输并存储,在某个时间由B接收到,由于没有直接通信,B这时可能要求认证邮件确实来自A。,2.1.4 现代密码学主要技术(续),(4)密码Hash 函数技术 定义11 Hash函数h()是一个
13、有效的计算方法,它将一个任意长度的二进制位串影射成固定长度的二进制位串,这个固定长度的二进制位串叫Hash值。修改发现码(MDCs)附加性质 1)Hash函数是单向函数,即给定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函数。消息认证
14、码有两个不同功能的参数,即消息和秘密密钥。,图2.6 密码Hash函数的简单分类,2.1.4 现代密码学主要技术(续),(5)随机数与随机序列 密码中以伪随机序列发生器代替随机序列发生器。伪随机序列发生器以短的随机数做种子,以固定方式产生伪随机序列。#伪随机序列与真随机序列不可区分假设,与安全数字签名、公钥密码的存在性等价。,2.1.5 评价现代密码算法的标准,Kerckhoffs准则 在评估一个密码系统安全性时,应该总是假定我们的敌人了解实际使用的各种方法。#落实到现代密码算法中就是攻击者知道密码算法的所有执行细节,算法的安全不应该依赖于对算法的保密。,2.1.5 评价现代密码算法的标准(续
15、),Shannon提出的“优质”密码算法特征(1)加解密的工作量应该由所要求的安全程度决定。(2)密钥集合和加密算法不应该过于复杂。(3)执行过程应该尽量简单。(4)密码中的差错不应该具有传播性,也不应该影响报文中的其他信息。(5)加密后的文本大小不应该比原始报文更大。,2.1.5 评价现代密码算法的标准(续),“可信赖的”加密体制的特点(1)有可靠的数学基础。(2)经过专家的严格分析,证实是可靠的。(3)经得起时间的检验。,2.2 现代密码学的理论基础,现代密码学要求很高的数学基础,包括:数论、抽象代数与有限域、计算复杂理论、信息论、概率论等。但是掌握基础的密码算法并不需要精通过多的底层数学
16、理论。这里我们仅讲述掌握本章的密码算法所需要的计算复杂理论、数论等的基础知识。,2.2.1 计算复杂理论,如果加密算法建立在一个已知非常难解决的问题或者可能解的数目巨大的问题之上,那么攻击者要破译算法就注定要完成一个即便不是不可能,也是另人沮丧的任务。即使有计算机的支持,一个穷尽的暴力解答也是不可行的。NP完全问题就是这样一类具有计算复杂特点的问题。我们用非形式化的方式来描述NP完全问题。,2.2.1 计算复杂理论(续),NP完全问题 几个具体实例 例子4 可满足问题 给定逻辑公式满足如下条件:(1)它由变量v1,v2,vn和它们的逻辑非v1,v2,vn 组成。(2)它表现为一系列子句,且每个
17、子句的形式是变量以及逻辑非的逻辑或()(3)它表示为这些子句的逻辑与()是否存在一种变量的赋值法(赋真或假),使得公式为真?如果存在,说这个公式是可满足的。例如,(v1)(v2 v3)(v1 v3)为可满足的,(v1)(v2 v3)(v1 v3)(v2)为不可满足的。,2.2.1 计算复杂理论(续),例子5 背包问题,2.2.1 计算复杂理论(续),例子6 团 给定一个图G和一个整数n,是否存在一个包含n个顶点的子图,使得子图中的每个顶点与其他顶点之间都有一条边每个顶点都与其他所有顶点相连的图被称为团(clique)?例如,图2.7有4顶点的团,但无5顶点的团。,图 2.7 图的团子图,2.2
18、.1 计算复杂理论(续),NP完全问题的特征(1)每个问题都有解法,且总有一个相对简 单的解法(尽管该解法也许十分耗时)。(2)如果要列举所有可能性,就需要考虑2n中情况(n与问题有关)(3)这些问题是无关的,分别来自逻辑学、数论和图论。(4)如果能完全猜中,则可以在相对较少的时间内求解每一个问题。,2.2.1 计算复杂理论(续),P类和NP类 P类问题是一类问题的集合,这个集合中的问题都可以在一个与问题大小相关的多项式函数时间内完成。NP类问题是所有这样一类问题的集合,假设能够完全猜中,这些问题可以在一个多项式函数时间内得到解决(猜测函数被称为是预言机或非确定性图灵机)。这种猜测是非确定性的
19、。EXP类,它由所有存在指数时间cn内的确定性解法的问题组成,其中,c是一个常数。它们有如下关系,PNP EXP。,2.2.1 计算复杂理论(续),NP完全的含义 Cook证明了:如果可满足问题有一个确定性的、多项式时间的算法(不带猜测),那么对NP中的每个问题都会有一个确定性、多项式时间的算法,即NP=P。Karp证明了背包问题和团问题具有和可满足问题一样的性质。这一问题的逆否命题是:如果可以证明这些问题中的某个问题没有在多项式时间内完成的确定性算法,那么它们中所有问题都不存在确定性多项式时间算法。这里对一个问题的解决是要求找到一个通用算法来解决它的每个实例。,2.2.1 计算复杂理论(续)
20、,图 2.8 复杂性的层次结构,#P=NP或PNP,2.2.1 计算复杂理论(续),已经有很多人对NP完全问题进行了长期研究,如果对确实存在多项式时间算法,那么我们有理由认为已经有人找到了解法。目前,已经有数以百计的问题被证明是NP完全问题。我们列举的这类问题越多,就越有理由确信不存在一个能解决所有问题的简单方法。,2.2.1 计算复杂理论(续),NP完全性与密码学(1)一个NP完全问题不能保证不存在一种比指数时间更容易的算法,它仅表示我们不大可能找到这一算法。(2)每个NP完全问题都有一个确定性的指数时间算法,即可以与2n成比例的时间运行完成。(3)硬件的不断进步,越来越大规模的问题都能计算
21、了。(4)即使一个加密算法是基于难解问题的,但攻击者未必总是去解这个难解问题才能破译加密算法。,2.2.1 计算复杂理论(续),其他固有的难解问题 数论中存在大量难解问题,但大多数数论中的难解问题都是NP问题,不是NP完全问题。公钥密码体制主要依赖数论中的两个难解问题:大整数分解问题和离散对数问题。,2.2.2 数论知识,(1)基本概念整除性,2.2.2 数论知识(续),2.2.2 数论知识(续),素数,2.2.2 数论知识(续),200以内的素数:2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 10
22、1 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199,2.2.2 数论知识(续),2.2.2 数论知识(续),2.2.2 数论知识(续),2.2.2 数论知识(续),2.2.2 数论知识(续),2.2.2 数论知识(续),整数唯一分解定理,2.2.2 数论知识(续),2.2.2 数论知识(续),一次不定方程,2.2.2 数论知识(续),(2)同余同余定义与概念,2.2.2 数论知识(续),2.2.2 数论知识(续),剩余类和完全剩余类,2.2.2 数论知识(续),缩系,2.2.2 数论
23、知识(续),2.2.2 数论知识(续),2.2.2 数论知识(续),一次同余式,2.2.2 数论知识(续),2.2.2 数论知识(续),(3)原根,2.2.2 数论知识(续),2.2.2 数论知识(续),2.2.2 数论知识(续),2.2.3 群环域的概念,(1)群,2.2.3 群环域的概念(续),2.2.3 群环域的概念(续),(2)环,2.2.3 群环域的概念(续),2.2.3 群环域的概念(续),(3)域,2.3 对称密码算法:DES和AES,对称密钥体制的问题(1)在安全加密体制中,密钥是需要经常变更的,使得已丢失的密钥只能泄露数量有限的信息。(2)密钥的分发必须保证安全。一种方式就是
24、对密钥分解分发,如图2.9。(3)密钥数目的增长与交换信息的人数的平方成正比,在人数多的时候,可以考虑使用信任中心,如图2.10。,2.3 对称密码算法:DES和AES(续),图2.9 密钥的分块分发,图2.10 加密信息分发中心,2.3 对称密码算法:DES和AES(续),2.3.1 DES算法描述 1974年,IBM 向国家标准局(NBS)提交了一个名为 LUCIFER的加密算法。NBS将其转给了国家安全局(NSA)进行审定,之后就得到了一个名为数据加密标准DES的算法。1977年,NBS 正式将其用于无限制级的政府通信。其间NBS和NSA可能存在某些误会。NSA原本打算DES仅用于硬件执
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 现代 密码学 讲课

链接地址:https://www.31ppt.com/p-3959180.html