第三章公钥基础设施PKI课件.ppt

上传人(卖家):三亚风情 文档编号:3033763 上传时间:2022-06-24 格式:PPT 页数:66 大小:1.56MB
下载 相关 举报
第三章公钥基础设施PKI课件.ppt_第1页
第1页 / 共66页
第三章公钥基础设施PKI课件.ppt_第2页
第2页 / 共66页
第三章公钥基础设施PKI课件.ppt_第3页
第3页 / 共66页
第三章公钥基础设施PKI课件.ppt_第4页
第4页 / 共66页
第三章公钥基础设施PKI课件.ppt_第5页
第5页 / 共66页
点击查看更多>>
资源描述

1、2022-6-231第三章第三章 公钥基础设施公钥基础设施PKI本章学习重点掌握内容:本章学习重点掌握内容:n密码学基本术语密码学基本术语n密码体制分类密码体制分类n私钥密码体制的主要特点私钥密码体制的主要特点n公钥密码体制的主要特点公钥密码体制的主要特点n杂凑函数的基本概念杂凑函数的基本概念n典型密码算法典型密码算法2022-6-232密码学基础密码学基础n2.1 概述概述n2.2 私钥密码体制私钥密码体制n2.3 公钥密码体制公钥密码体制n2.4 杂凑函数杂凑函数n2.5 密码算法应用实例密码算法应用实例PGP2022-6-2332.1 概述概述 n密码学(密码学(Cryptology)是

2、研究密码编制、密)是研究密码编制、密码破译和密钥管理的一门综合性应用科学。其码破译和密钥管理的一门综合性应用科学。其主要研究内容包括两个分支:密码编码学主要研究内容包括两个分支:密码编码学(Cryptography)和密码分析学)和密码分析学(Cryptanalytics),两者既相互对立,又相),两者既相互对立,又相互促进发展。互促进发展。n密码编码学是研究如何对信息进行编码实现信息的密码编码学是研究如何对信息进行编码实现信息的隐蔽;隐蔽;n密码分析学是研究如何分析破译密码。密码分析学是研究如何分析破译密码。2022-6-2342.1 概述概述n2.1.1 密码学发展历史n分为三个阶段分为三

3、个阶段 n第一阶段是从古代到第一阶段是从古代到1949年。这一时期被称作年。这一时期被称作“科学密码学的前夜科学密码学的前夜”,所研究的内容被称为古典,所研究的内容被称为古典密码学。密码学。n第二阶段是从第二阶段是从1949年到年到1975年。年。1949年年Shannon发表的发表的“保密系统的信息理论保密系统的信息理论”一文标一文标志着密码学从此成为一门科学,由此拉开了现代密志着密码学从此成为一门科学,由此拉开了现代密码学研究的序幕。该文,奠定了密码学的理论基础。码学研究的序幕。该文,奠定了密码学的理论基础。n第三阶段从第三阶段从1976年至今。非对称密钥提出年至今。非对称密钥提出 202

4、2-6-2352.1 概述概述n2.1.2密码学基本术语密码学基本术语 n明文、密文明文、密文 n被隐蔽的消息被称做明文(被隐蔽的消息被称做明文(Plain Text),通常用),通常用P或或M表示。表示。n隐蔽后的消息被称做密文隐蔽后的消息被称做密文(Cipher Text),通常用,通常用C表示。表示。n发送者、接收者发送者、接收者n在信息传送过程中,主动提供信息的一方称为发送者,得在信息传送过程中,主动提供信息的一方称为发送者,得到信息的一方称为接收者。到信息的一方称为接收者。 2022-6-2362.1.2密码学基本术语密码学基本术语n加密、解密、加密算法、解密算法加密、解密、加密算法

5、、解密算法n将明文变换成密文的过程称为加密将明文变换成密文的过程称为加密(Encryption)。n将密文变换成明文的过程称为解密将密文变换成明文的过程称为解密(Decryption)。n对明文进行加密时所采用的一组规则称为加密算法对明文进行加密时所采用的一组规则称为加密算法(Encryption Algorithm)。通常用。通常用E表示。表示。n对密文进行解密时所采用的一组规则称为解密算法对密文进行解密时所采用的一组规则称为解密算法(Decryption Algorithm)。通常用。通常用D表示。表示。n密钥密钥n加密和解密算法的操作通常都是在一组密钥加密和解密算法的操作通常都是在一组密

6、钥(Key)的控制的控制下进行的,分别称为加密密钥和解密密钥。通常用下进行的,分别称为加密密钥和解密密钥。通常用Ke和和Kd表示。表示。2022-6-2372.1.2密码学基本术语密码学基本术语n截收者截收者n在消息的传输和处理系统中,除了信息的合法授权接收者外,还在消息的传输和处理系统中,除了信息的合法授权接收者外,还有非授权者,他们通过各种手段有非授权者,他们通过各种手段,如:搭线窃听、电磁窃听、声如:搭线窃听、电磁窃听、声音窃听等来窃取机密信息,称其为截收者。音窃听等来窃取机密信息,称其为截收者。n主动攻击、被动攻击主动攻击、被动攻击n攻击者主动向系统窜扰,采用删除、更改、增填、重放、伪

7、造等攻击者主动向系统窜扰,采用删除、更改、增填、重放、伪造等手段向系统注入假消息,以达到一定的目的,这样的攻击手段称手段向系统注入假消息,以达到一定的目的,这样的攻击手段称作主动攻击;对一个密码系统采取截获密文进行分析的这类攻击作主动攻击;对一个密码系统采取截获密文进行分析的这类攻击称作被动攻击。称作被动攻击。 n密码系统密码系统n通常简称为密码体制(通常简称为密码体制(Cryptosystem),由五元组),由五元组(M,C,K,E,D)构成密码系统模型参见图)构成密码系统模型参见图2-1。n五元组(五元组(M,C,K,E,D)描述如下:)描述如下:n明文空间明文空间M,它是全体明文的集合;

8、,它是全体明文的集合;n密文空间密文空间C,它是全体密文的集合;,它是全体密文的集合;2022-6-2382.1 概述概述n2.1.3密码体制分类n根据密钥的特点根据密钥的特点n对称密码体制(对称密码体制(Symmetric Cryptosystem)n单钥(单钥(One-Key)体制或私钥()体制或私钥(Private Key)体制或传)体制或传统密码体制(统密码体制(Classical Cryptosystem););n非对称密码体制(非对称密码体制(Asymmetric Cryptosystem)。)。n双钥(双钥(Two-Key)或公钥()或公钥(Public Key)密码体制。)密码

9、体制。 2022-6-2392.1.3密码体制分类n按照加密方式不同,私钥密码体制被分为按照加密方式不同,私钥密码体制被分为n流密码(流密码(Stream Cipher)(或称序列密码)(或称序列密码)n分组密码(分组密码(Block Cipher)n区别是:流密码是将明文消息按字符逐位加密;分区别是:流密码是将明文消息按字符逐位加密;分组密码是将明文消息先进行分组,再逐组加密。组密码是将明文消息先进行分组,再逐组加密。 2022-6-23102.1.3密码体制分类n密钥空间密钥空间K,它是全体密钥的集合,其中每一个密钥,它是全体密钥的集合,其中每一个密钥K均均由加密密钥和解密密钥组成,即有;

10、由加密密钥和解密密钥组成,即有;n加密算法加密算法E,它是由明文空间到密文空间的加密变换,即,它是由明文空间到密文空间的加密变换,即有;有;n解密算法解密算法D,它是由密文空间到明文空间的解密变换,即,它是由密文空间到明文空间的解密变换,即有。有。 攻击者 信道 解密算法 明文 加密算法 明文 M M C C 安全信道 加密密钥 解密密钥 Ke Kd 密钥 K 2022-6-23112.2 私钥密码体制算法名称算法名称算法类型算法类型算法参数算法参数算法特点算法特点DES分组密码分组长度:64比特密钥长度:64比特迭代圈数:16 比特从1977年公布以来,使用最广泛的分组密码算法,算法简单易实

11、现。目前为保证其安全性,常使用双重或三重DESAES分组密码分组长度(可变):128、192、256比特密钥长度(可变):128、192、256比特迭代圈数(可变)10,12,14圈2000年公布的最新分组密码加密标准,是目前常用的安全强度较高的分组密码,常用分组长度为128比特,密钥长度为128比特,迭代圈数为10圈IDEA分组密码分组长度:64比特密钥长度:128比特迭代圈数:8圈1992年正式使用以来,被较多使用的一种安全、效率较高的分组密码,被成功用于PGP邮件加密系统中。RC4流密码密钥长度可变1987年RSA公司开发的流密码算法;采用OFB模式,加密速度快,约为DES的10倍RC5

12、分组密码RSA公司1994年设计,既适合于硬件实现又适合于软件实现。Blowfish分组密码分组长度:64比特密钥长度可变,最长可达448比特适合于内存较大的微处理器,不适合于分组交换、经常更换密钥和单向函数中。私钥密码算法比较私钥密码算法比较 2022-6-23122.2 私钥密码体制n2.2.1简化DES(S-DES)n为了帮助读者加深对为了帮助读者加深对DES算法的理解,掌握算法的理解,掌握DES算法的结构,本节介绍简化算法的结构,本节介绍简化DES(S-DES)。 S-DES与与DES有着相似的性质和结构,但是参有着相似的性质和结构,但是参数要比数要比DES小得多小得多n算法结构如图所

13、示算法结构如图所示 2022-6-23132022-6-23142.2.1简化DES(S-DES)nS-DES算法算法 描述描述nS-DES的密钥产生的密钥产生 在在S-DES算法中,由收发双方共享的算法中,由收发双方共享的10位密钥通过位密钥通过置换和移位操作产生了两个置换和移位操作产生了两个8位密钥,这两个位密钥,这两个8位密位密钥被分别用在加解密的不同阶段,钥被分别用在加解密的不同阶段, 如图描述了密钥产生过程。下面如图描述了密钥产生过程。下面 介绍其产生过程介绍其产生过程 2022-6-23152.2.1简化DES(S-DES)n置换置换P10置换置换P10被定义为:被定义为:n移位操

14、作(移位操作(LS-1)LS-1表示循环左移一位。表示循环左移一位。n置换置换P8从移位操作输出的从移位操作输出的10位密钥中选取位密钥中选取8位,按下表的规则运用置位,按下表的规则运用置换换P8:n移位操作移位操作LS-2LS-2表示循环左移表示循环左移2位。位。3 5 2 7 4 10 1 9 8 66 3 7 4 8 5 10 02022-6-23162.2.1简化DES(S-DES)nS-DES加密加密S-DES加密过程包括加密过程包括4个函个函数,数,5步操作。下面根据步操作。下面根据这些函数使用的先后顺这些函数使用的先后顺序对这四个函数进行详序对这四个函数进行详细介绍。细介绍。 2

15、022-6-23172.2.1简化DES(S-DES)n初始置换(初始置换(IP)S-DES算法的输入是一个算法的输入是一个8位明文分组,我们首先使用函数对其位明文分组,我们首先使用函数对其进行初始置换进行初始置换 n函数函数S-DES算法最复杂的部分,它由置换函数和代换函数组合而成。算法最复杂的部分,它由置换函数和代换函数组合而成。函数可按如下方式表达。设函数可按如下方式表达。设L和和R分别是的八位输入的左边分别是的八位输入的左边4位位和右边和右边4位。位。F是一个是一个4位到位到4位的映射。则函数可以表示为位的映射。则函数可以表示为其中,其中,SK是子密钥,第一轮取值为是子密钥,第一轮取值

16、为K1 ,第二轮取值为,第二轮取值为K2 ,是,是按位异或函数。按位异或函数。2 6 3 1 4 8 5 7,KfL RLF R SKR2022-6-23182.2.1简化DES(S-DES)函数函数F主要包括主要包括4步操作。步操作。n第一步:E/P扩展置换操作4 1 2 3 2 3 4 1n第二步:与子密钥异或相加将8位子密钥K1与E/P扩展置换输出的八位按位异或。nS盒运算将第二步的输出结果分为左右两部分,各4位。将左4位输入到中得到一个2位的输出。将右4位输入中产生另一个2位的输出。 S盒的操作规则如下:第1位和第4位作为一个2位二进制数决定了S盒的行,第2位和第3位决定了S盒的列。输

17、出也是一个2位的二进制数。 2022-6-2319S盒盒 列行0123S001032132102021333132S1001231201323010321022022-6-23202.2.1简化DES(S-DES)n第四步:置换操作P4接下来,由和的输出组成的4位数据再进行如下置换操作:2 4 3 1n交换函数交换函数SW函数只改变输入的最左边函数只改变输入的最左边4位。交换函数位。交换函数SW将输入的左将输入的左4位位和右和右4位交换,这样再次作用的就是不同的位交换,这样再次作用的就是不同的4位了。交换位了。交换函数函数SW的输出被第二次输入到函数,的输出被第二次输入到函数,n逆置换()逆置

18、换()在在S-DES算法的最后,使用的逆置换如下表所示:算法的最后,使用的逆置换如下表所示:4 1 3 5 7 2 8 62022-6-23212.2 私钥密码体制n2.2.2 DES简介简介 S-DES与与DES的算法结构相同,但的算法结构相同,但DES的参数较大,的参数较大,其输入为其输入为64位分组,函数迭代位分组,函数迭代16圈,因此需要产圈,因此需要产生生16个子密钥。个子密钥。DES的初始输入密钥为的初始输入密钥为64位,其位,其中有效密钥为中有效密钥为56位(初始密钥的第位(初始密钥的第8i(i = 1,8)比特是奇偶校验位),利用子密钥生成算法由比特是奇偶校验位),利用子密钥生

19、成算法由56位位密钥产生密钥产生16个个48位子密钥。位子密钥。 2022-6-23222.2.2 DES简介简介nDES的意义的意义具体表现在以下几个方面具体表现在以下几个方面 n它公开展示了能完全适应某一历史阶段中信息安全要求的一它公开展示了能完全适应某一历史阶段中信息安全要求的一种密码体制的构造方法;种密码体制的构造方法;n它是世界上第一个数据加密标准,并确立了这样一个原则,它是世界上第一个数据加密标准,并确立了这样一个原则,即算法的细节可以公开而密钥必须是保密的;即算法的细节可以公开而密钥必须是保密的;n它极大地推动了密码算法标准化工作;它极大地推动了密码算法标准化工作;n它的出现及引

20、发的讨论确立了安全设计和使用分组密码的若它的出现及引发的讨论确立了安全设计和使用分组密码的若干准则,并引发了分组密码设计的高潮;干准则,并引发了分组密码设计的高潮;n它推动了密码分析理论和技术的快速发展,先后出现了差分它推动了密码分析理论和技术的快速发展,先后出现了差分分析、线性分析等多种新的有效的密码分析方法。分析、线性分析等多种新的有效的密码分析方法。2022-6-23232.2.2 DES简介简介n多重多重DES n双重双重DES双重双重DES的密钥长度为的密钥长度为112比特,可有效地增加算法比特,可有效地增加算法强度强度 n三重三重DES算法算法 21()KKCDESDESm12(

21、)KKmDESDESC121()KKKCEDEM121()KKKMDEDC2022-6-23242.2 私钥密码体制n2.2.3 高级加密标准AESn流程框图流程框图 2022-6-23252.2 私钥密码体制n2.2.4 分组密码工作模式分组密码工作模式 n指以某个分组密码算法为基础,构造一个分组指以某个分组密码算法为基础,构造一个分组密码系统方法,构造出的分组密码系统不仅可密码系统方法,构造出的分组密码系统不仅可以解决对任意长度的明文加密问题的方法,还以解决对任意长度的明文加密问题的方法,还可以构造随机数生成器、流密码、消息认证码可以构造随机数生成器、流密码、消息认证码及杂凑函数等。及杂凑

22、函数等。 主要有:主要有: 2022-6-23262.2.4 分组密码工作模式分组密码工作模式n 电码本电码本ECB(Electronic Code Book)模式模式 最简单的分组密码工作模式是电码本(最简单的分组密码工作模式是电码本(ECB)模式,每次使用)模式,每次使用相同的密钥处理一个固定长度为相同的密钥处理一个固定长度为n位的明文分组(以位的明文分组(以DES为例,为例,就是就是64位明文分组)。位明文分组)。 主要优点主要优点 :n无差错传播。在传输过程中,一个密文分组的丢失或传输错误不无差错传播。在传输过程中,一个密文分组的丢失或传输错误不影响其它分组的正确脱密,即传输中的差错不

23、会传播到其它分组影响其它分组的正确脱密,即传输中的差错不会传播到其它分组块。块。n 不同明文分组的加密可并行实施,尤其是硬件实现时速度很快。不同明文分组的加密可并行实施,尤其是硬件实现时速度很快。主要缺点有:主要缺点有:n容易暴露明文的数据模式,即相同明文会生成相同密文,无法抵容易暴露明文的数据模式,即相同明文会生成相同密文,无法抵御统计攻击。御统计攻击。n无法抵抗组的重放、嵌入和删除等攻击。为了克服该模式的弱点,无法抵抗组的重放、嵌入和删除等攻击。为了克服该模式的弱点,可以在加密处理中引入少量的记忆等。可以在加密处理中引入少量的记忆等。2022-6-23272.2.4 分组密码工作模式分组密

24、码工作模式n密码分组链接密码分组链接CBC(Cipher Block Chaining)模)模式式 加密模式可以表示为加密模式可以表示为其解密模式可以表示为其解密模式可以表示为 加密第一组明文时,需要与一个初始矢量(加密第一组明文时,需要与一个初始矢量(IV)异或后再)异或后再加密,即加密,即 解密最后一组密文时,也需要初始矢量(解密最后一组密文时,也需要初始矢量(IV)的参与,即)的参与,即 1()iKiiCEPC1()iKiiPDCC11()KCEPIV11()KPDCIV2022-6-23282.2.4 分组密码工作模式分组密码工作模式nCBC模式的优点有:模式的优点有:n能够隐蔽明文数

25、据模式,相同的明文分组未必蕴涵着相同能够隐蔽明文数据模式,相同的明文分组未必蕴涵着相同的密文分组。的密文分组。n在一定程度上能够识别攻击者在密文传输中是否对数据作在一定程度上能够识别攻击者在密文传输中是否对数据作了窜改,如组的重放、嵌入或删除等。了窜改,如组的重放、嵌入或删除等。n具有自同步功能。密文出现丢块和错块不影响后续密文块具有自同步功能。密文出现丢块和错块不影响后续密文块的脱密。若从第的脱密。若从第t块起密文块正确,则第块起密文块正确,则第t+1个明文块就个明文块就能正确求出。能正确求出。n模式的缺点:模式的缺点:nCBC模式的缺点是具有有限的错误传播特性。模式的缺点是具有有限的错误传

26、播特性。 2022-6-23292.2.4 分组密码工作模式分组密码工作模式n s比特密码反馈比特密码反馈CFB(Cipher Feedback)模式)模式n加密算法可以表示为:加密算法可以表示为:nCFB模式的解密算法可以表示为模式的解密算法可以表示为11()sKCPSEIV11()sKPCSEIV2022-6-23302.2.4 分组密码工作模式分组密码工作模式ns比特输出反馈比特输出反馈OFB(Output Feedback)模式)模式 n优点是传输过程中在某位上发生的错误不会影响其优点是传输过程中在某位上发生的错误不会影响其它位。它位。OFB的缺点是,抗消息流篡改攻击的能力不的缺点是,

27、抗消息流篡改攻击的能力不如如CFB,即密文中的某位取反,恢复出的的明文相,即密文中的某位取反,恢复出的的明文相应也取反。应也取反。 2022-6-23312.3 公钥密码体制公钥密码体制n2.3.1 概述概述 序号序号对称密码对称密码公钥密码公钥密码1加密和解密使用相同的密钥加密和解密使用不同密钥2密钥必须保密存放私钥保密存放,公钥公开存放3通信前,收发双方必须实现密钥共享通信前,收发双方无需实现密钥共享4主要应用于数据加解密、可以实现数据保密性、认证等安全服务可应用于数据加解密、数字签名、密钥交换等方面,实现数据保密、认证、数据完整性、不可否认性等安全服务2022-6-23322.3.1 概

28、述概述n公钥密码体制必须具有如下特性:给定公钥,公钥密码体制必须具有如下特性:给定公钥,要确定出私钥是计算上不可行的。要确定出私钥是计算上不可行的。n公钥密码体制有两种基本模型,一种是加密模公钥密码体制有两种基本模型,一种是加密模型;另一种是认证模型。型;另一种是认证模型。n公钥密码体制可以简化密钥的管理,并且可通公钥密码体制可以简化密钥的管理,并且可通过公开系统如公开目录服务来分配密钥。过公开系统如公开目录服务来分配密钥。2022-6-23332.3.1 概述概述n加密模式加密模式nAlice将秘密信息加密后发送给将秘密信息加密后发送给Bob:nBob用其私钥解密获得秘密信息;用其私钥解密获

29、得秘密信息;n认证模式认证模式nAlice 将签名后的信息发送给将签名后的信息发送给Bob;nBob用用Alice的公钥解签确认信息来自于的公钥解签确认信息来自于Alice;n ()bKUCEM( )bKRMDC()aKRCSM1( )aKUMSC2022-6-23342.3.1 概述概述n加密认证模式加密认证模式nAlice先使用先使用Bob的公钥加密消息,接着再使用自身的公钥加密消息,接着再使用自身私钥签名。私钥签名。n nBob用用Alice公钥解签,确认信息是从公钥解签,确认信息是从Alice处发出;处发出;接着,接着,Bob用自身私钥对加密信息解密获得明文信用自身私钥对加密信息解密获

30、得明文信息。息。n ()abKRKUCSEM1()abK UK RMDSC2022-6-23352.3 公钥密码体制公钥密码体制n2.3.2 RSA加密体制n公钥和私钥的生成算法公钥和私钥的生成算法 独立的选取两个大素数和(通常为独立的选取两个大素数和(通常为100到到200位的十进制数位的十进制数字),计算字),计算欧拉函数值欧拉函数值 随机选一整数随机选一整数e,1e,e在模下有逆元在模下有逆元d=e-1mod 21ppn) 1)(1()(21ppn2022-6-23362.3.2 RSA加密体制n加密算法加密算法n解密算法解密算法n n通信各方都必须产生一对密钥,即需要做以下工作:通信各

31、方都必须产生一对密钥,即需要做以下工作:n确定两个大素数确定两个大素数p,qn选择选择e或或d,并计算,并计算d或者或者e(mod)eCMn)(mod nCMd2022-6-23372.3.2 RSA加密体制n选择素数的过程如下:选择素数的过程如下:n随机选择一个奇整数随机选择一个奇整数n(如利用伪随机数产生器如利用伪随机数产生器);n随机选择一个整数;随机选择一个整数;n执行诸如执行诸如Miller-Rabin等概率素数测试。若等概率素数测试。若n未通过测试,未通过测试,则转到第一步;则转到第一步;n若若n通过足够多次的测试,则接受通过足够多次的测试,则接受n;否则转向第;否则转向第2步。步

32、。2022-6-23382.3 公钥密码体制公钥密码体制n2.3.3 RSA 签名体制n数字签名需要满足以下四个条件:数字签名需要满足以下四个条件:n收方能够确认或证实发放的签字,但不能伪造;收方能够确认或证实发放的签字,但不能伪造;n发方发出签字消息后,不能再否认他所签发的消息;发方发出签字消息后,不能再否认他所签发的消息;n收方对已收到的签字消息不能否认;收方对已收到的签字消息不能否认;n第三方可以确认收发双方之间的消息传递,但不能第三方可以确认收发双方之间的消息传递,但不能伪造这一过程。伪造这一过程。 2022-6-23392.3.3 RSA 签名体制nRSA签名算法签名算法 n算法参数

33、算法参数两个保密的大素数两个保密的大素数p和和q,计算,;选一个整数,计算,;选一个整数e,满足,且;,满足,且;计算计算d,满足,满足;以为公钥,以为公钥,d为私钥。为私钥。 n签名算法签名算法设消息为M,对其签名n验证算法验证算法接收方收到消息接收方收到消息M和签名后,验证是否成立,若成立,则说和签名后,验证是否成立,若成立,则说明该签字有效。明该签字有效。moddSMn2022-6-23402.4 杂凑函数杂凑函数 n杂凑函数是将任意长的数字串杂凑函数是将任意长的数字串M映射成为一个映射成为一个较短的定长输出数字串较短的定长输出数字串h的函数,通常用的函数,通常用H表表示,示,H(M)要

34、易于计算,称为要易于计算,称为M的杂凑值,也的杂凑值,也称为杂凑码或数字指纹。称为杂凑码或数字指纹。 n杂凑函数可以按其是否有密钥控制划分成为两杂凑函数可以按其是否有密钥控制划分成为两大类:大类:n一类是有密钥控制的,称为密码杂凑函数;一类是有密钥控制的,称为密码杂凑函数;n另一类是无密钥控制的,称为一般杂凑函数。另一类是无密钥控制的,称为一般杂凑函数。 2022-6-23412.4 杂凑函数杂凑函数n2.4.1 消息认证码n消息认证码利用密钥来生成一个固定长度的数消息认证码利用密钥来生成一个固定长度的数据块,并将该数据块附加在消息之后。使用消据块,并将该数据块附加在消息之后。使用消息认证码的

35、前提是通信双方共享密钥。息认证码的前提是通信双方共享密钥。nMAC值是消息和密钥的函数,即值是消息和密钥的函数,即 ,其中,其中,M表示输入的变长消息,表示输入的变长消息,C表示表示MAC函函数,数,K是通信双方共享密钥。是通信双方共享密钥。()KMACCM2022-6-23422.4.1 消息认证码消息认证消息认证 消息认证和保密性:与明文有关的认证消息认证和保密性:与明文有关的认证 消息认证和保密性:与密文有关的认证消息认证和保密性:与密文有关的认证2022-6-23432.4 杂凑函数杂凑函数n2.4.2 一般杂凑函数n一般杂凑函数通常具有以下几个特性:一般杂凑函数通常具有以下几个特性:

36、n可应用于任意大小的数据块并产生定长的输出;对任何给定可应用于任意大小的数据块并产生定长的输出;对任何给定的的M,用硬件和,用硬件和/或软件均容易实现。或软件均容易实现。n单向性:对任何给定的杂凑值单向性:对任何给定的杂凑值h,找到满足,找到满足H(M)=h的的M在计在计算上是不可行的。显然,对一个杂凑值算上是不可行的。显然,对一个杂凑值h,由,由M计算计算h=H(M)是容易的,但要产生一个,使是容易的,但要产生一个,使H()等于给定的杂凑值等于给定的杂凑值h是困难是困难的。这种特性正是密码技术所需要的特性。的。这种特性正是密码技术所需要的特性。n抗弱碰撞性:对任何给定的分组抗弱碰撞性:对任何

37、给定的分组M,找到满足且的在计算上,找到满足且的在计算上是不可行的。是不可行的。n抗强碰撞性:找到任何满足的数据对在计算上是不可行的。抗强碰撞性:找到任何满足的数据对在计算上是不可行的。2022-6-23442.4.2 一般杂凑函数n几种应用方法几种应用方法 n提供消息认证提供消息认证n提供认证和保密性提供认证和保密性 :|()KAB MEH M:|(|)AB MH MS:KAB EM H M:(|)kAB EM H MS2022-6-23452.4 杂凑函数杂凑函数n2.4.3 SHA1算法n安全杂凑算法(安全杂凑算法(Secure hash algorithm,SHA)是由美国标准技术研究

38、所()是由美国标准技术研究所(NIST)设)设计并于计并于1993年公布的一种标准算法(年公布的一种标准算法(FIPS PUB 180),),1995年又公布了年又公布了FIPS PUB 180-1,通常称之为,通常称之为SHA-1。其输入为长度小。其输入为长度小于位的报文,输出为于位的报文,输出为160位的报文摘要,该算位的报文摘要,该算法对输入按法对输入按512位进行分组,并以分组为单位位进行分组,并以分组为单位进行处理。进行处理。 2022-6-23462.4.3 SHA1算法nSHA-1算法步骤算法步骤n第一步:填充报文。第一步:填充报文。填充报文的目的是使报文长度为填充报文的目的是使

39、报文长度为512的倍数减去的倍数减去64。若报文本身已经满足上述长度要求,仍然需要进行若报文本身已经满足上述长度要求,仍然需要进行填充,因此,填充位数在填充,因此,填充位数在1,512。填充方法是。填充方法是在报文后附加一个在报文后附加一个1和若干个和若干个0,然后附上表示填充,然后附上表示填充前报文长度的前报文长度的64位数据(最高有效位在前)。位数据(最高有效位在前)。2022-6-23472.4.3 SHA1算法n第二步:初始化缓冲区。第二步:初始化缓冲区。杂凑函数的中间结果和最终结果保存于杂凑函数的中间结果和最终结果保存于160位的缓冲位的缓冲区中,缓冲区由区中,缓冲区由5 个个32位

40、的寄存器(位的寄存器(A、B、C、D、E)组成,将这些寄存器初始化为下列)组成,将这些寄存器初始化为下列32位的整数位的整数(16进制值):进制值):A=0 x67 45 23 10,B=0 xEF CD AB 89,C=0 x98 BA DC FE,D=0 x10 32 54 76,E=C3 D2 E1 F0。(与。(与MD5不同,不同,SHA-1中的寄存器存储方式为:最高有效字节存储在低中的寄存器存储方式为:最高有效字节存储在低地址字节位置。)地址字节位置。)2022-6-23482.4.3 SHA1算法n第三步:执行算法主循环。第三步:执行算法主循环。每次循环处理一个每次循环处理一个51

41、2位的分组,位的分组,故循环次数为填充后报文的分组故循环次数为填充后报文的分组数,参见图数,参见图2-16,其中为压缩,其中为压缩函数模块。函数模块。2022-6-23492.4.3 SHA1算法n算法的核心是压缩函数,参见图算法的核心是压缩函数,参见图2-17。它由四轮运算组成,四轮。它由四轮运算组成,四轮运算结构相同。每轮的输入是当前要处理的运算结构相同。每轮的输入是当前要处理的512位的分组()和位的分组()和160位缓冲区位缓冲区A、B、C、D、E的内容。每轮所使用的逻辑函数不的内容。每轮所使用的逻辑函数不同,分别为,第四轮的输出与第一轮的输入相加得到压缩函数的同,分别为,第四轮的输出

42、与第一轮的输入相加得到压缩函数的输出。输出。nSHA-1的处理过程可归纳如下:的处理过程可归纳如下:n 其中其中nIV=缓冲区缓冲区A、B、C、D、E的初值;的初值;n =处理第处理第q个报文分组时最后一轮的输出;个报文分组时最后一轮的输出;n+=模加法;模加法;nL=报文分组数(包括填充位和长度域);报文分组数(包括填充位和长度域);n =第第q个链接变量;个链接变量;nMD=报文摘要。报文摘要。qCV,qqqqqA B CDE2022-6-23502.4.3 SHA1算法n下面,详细讨论每轮处理下面,详细讨论每轮处理512位分组的过程。位分组的过程。SHA-1中每一轮要对缓冲区中每一轮要对

43、缓冲区A、B、C、D、E进行进行20步迭代。因此,压缩函数共有步迭代。因此,压缩函数共有80步。步。每步迭代如图所示。每步迭代如图所示。 A B C D E 5 ft + + + + 30 Wt Kt A B C D E 2022-6-23512.4.3 SHA1算法n也就是说,每步具有下述形式:也就是说,每步具有下述形式:n 其中其中nA,B,C,D,E=缓冲区的缓冲区的5个字;个字;n ;n 第第t步使用的基本逻辑函数;步使用的基本逻辑函数;n 32位的变量循环左移位的变量循环左移s位;位;n 从当前分组导出的从当前分组导出的32位的字;位的字;n 加法常量;加法常量;n+=模加法。模加法

44、。, ,( ,)(5), ,(30),tttA B C D EEf B C DAWKA BC Dt 步骤编号,0t79( ,)tf B C D stW tK 2022-6-23522.4.3 SHA1算法n每轮使用一个逻辑函数,其输入均为每轮使用一个逻辑函数,其输入均为32位的字,位的字,输出为一个输出为一个32位的字,它们执行位逻辑运算,位的字,它们执行位逻辑运算,其定义参见表其定义参见表2-8。( ,)tf B C D019t ()()BCBD 2039t BCD4059t()()()BCBDCD6079t BCD轮轮2022-6-23532.4.3 SHA1算法n每轮使用一个加法常量。第

45、每轮使用一个加法常量。第t步使用的加法常步使用的加法常量为,其中。其定义参见表量为,其中。其定义参见表2-9。tK019t2039t 4059t 6079t加法常量加法常量轮数轮数步骤编号步骤编号t加法常量加法常量 (16进制)进制)第一轮5A827999第二轮6ED9EBA1第三轮8F1BBCDC第四轮CA62C1D62022-6-23542.4.3 SHA1算法n每步使用从每步使用从512位的报文分组导出一个位的报文分组导出一个32位的字。因位的字。因为共有为共有80步,所以要将步,所以要将16个个32位的字()扩展为位的字()扩展为80个个32位的字()。其扩展过程为:位的字()。其扩展

46、过程为:n前前16步迭代中的值等于报文分组的第步迭代中的值等于报文分组的第t个字,其余个字,其余64步迭代中等于前面某步迭代中等于前面某4个值异或后循环左移一位的结果。个值异或后循环左移一位的结果。SHA-1将报文分组的将报文分组的16个字扩展为个字扩展为80个字供压缩函个字供压缩函数使用,这种大量冗余使被压缩的报文分组相互独立,数使用,这种大量冗余使被压缩的报文分组相互独立,所以,对给定的报文,找出具有相同压缩结果的报文所以,对给定的报文,找出具有相同压缩结果的报文会非常复杂。会非常复杂。161483, 015()1 , 1679tttttttWMtWWWWWt 2022-6-23552.5

47、 密码算法应用实例PGPnPGP是目前被广泛采用的一种为电子邮件和文件存储应用提供保是目前被广泛采用的一种为电子邮件和文件存储应用提供保密和认证服务的邮件安全保密系统。利用公钥机制,密和认证服务的邮件安全保密系统。利用公钥机制,PGP为用户为用户提供了一种安全通讯方式,即用户事先不需要使用保密信道来传提供了一种安全通讯方式,即用户事先不需要使用保密信道来传递密钥,就可以实现电子邮件加密,防止被非授权用户阅读;可递密钥,就可以实现电子邮件加密,防止被非授权用户阅读;可以实现对电子邮件签名,使邮件接收者能够验证邮件发送者的身以实现对电子邮件签名,使邮件接收者能够验证邮件发送者的身份,确保邮件在传输

48、过程中没有被篡改。由于份,确保邮件在传输过程中没有被篡改。由于PGP功能强大,计功能强大,计算速度快,可跨平台运行,并且免费公开源码,所以已经成为最算速度快,可跨平台运行,并且免费公开源码,所以已经成为最流行的公钥加密软件包之一。流行的公钥加密软件包之一。nPGP综合运用了四种密码体制,即私钥密码体制(采用综合运用了四种密码体制,即私钥密码体制(采用IDEA或或CAST或使用或使用Diffie-Hellman的的3DES等算法),公钥密码体制等算法),公钥密码体制(RSA或或DSS);杂凑算法(;杂凑算法(MD5或或SHA-1)以及一个随机数生)以及一个随机数生成算法。下面简要介绍利用这四种机

49、制,成算法。下面简要介绍利用这四种机制,PGP实现机密性、完整实现机密性、完整性和认证的工作流程。性和认证的工作流程。2022-6-23562.5 密码算法应用实例PGPn2.5.1 PGP提供的安全服务简介提供的安全服务简介 n认证服务认证服务PGP可通过公钥体制的数字签名和杂凑算法提供认证服务。其工作流程如图2-19所示。 2022-6-23572.5.1 PGP提供的安全服务简介提供的安全服务简介n机密性服务机密性服务 在利用PGP加解密消息M时,为了提高加解密速度,采用私钥加密算法如CAST-128,IDEA或3DES,64比特的密码反馈模式(CFB)等方法,使用一次性会话密钥对消息M

50、加密。同时,为保护一次性会话密钥的安全,使用RSA公钥算法建立会话密钥。如图所示2022-6-23582.5.1 PGP提供的安全服务简介提供的安全服务简介n保密和认证服务保密和认证服务 PGP还可以实现将保密和认证两种服务同时应用于一还可以实现将保密和认证两种服务同时应用于一个消息。当既需要实现加密同时又需要实现认证服个消息。当既需要实现加密同时又需要实现认证服务时,发送者依次使用签名、压缩、加密消息。务时,发送者依次使用签名、压缩、加密消息。 2022-6-23592.5 密码算法应用实例PGPn2.5.2 PGP密钥管理机制简介PGP将公钥将公钥/私钥存放在密钥环私钥存放在密钥环(Key

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第三章公钥基础设施PKI课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|