第四章 数字签名与认证技术优秀PPT.ppt
《第四章 数字签名与认证技术优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第四章 数字签名与认证技术优秀PPT.ppt(64页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章 数字签名与认证技术第一页,本课件共有64页*第四章第四章 数字签名与认证技术数字签名与认证技术 在网络环境下,数字签名与认证技术是信在网络环境下,数字签名与认证技术是信息完整性和不可否认性的重要保障,是公钥密息完整性和不可否认性的重要保障,是公钥密码体制的重要应用。信息的发送方可以对电子码体制的重要应用。信息的发送方可以对电子文档生成数字签名,信息的接收方则在收到文文档生成数字签名,信息的接收方则在收到文档及其数字签名后,可以验证数字签名的真实档及其数字签名后,可以验证数字签名的真实性。身份认证则是基于数字签名技术为网络世性。身份认证则是基于数字签名技术为网络世界中实体的身份提供可验证
2、性。界中实体的身份提供可验证性。第二页,本课件共有64页*本章内容提要本章内容提要:l数字签名的概念与原理数字签名的概念与原理l消息认证与哈希函数消息认证与哈希函数 l数字签名体制数字签名体制 l身份认证技术身份认证技术l认证技术应用案例认证技术应用案例 l认证技术的发展趋势认证技术的发展趋势 第四章第四章 数字签名与认证技术数字签名与认证技术第三页,本课件共有64页*4.1 4.1 数字签名的概念与原理数字签名的概念与原理 数字签名是密码学和信息安全中最重要和最数字签名是密码学和信息安全中最重要和最有用的概念之一。它的诞生使得在网络环境下,有用的概念之一。它的诞生使得在网络环境下,任一实体(
3、组织或者个人)对在网络上传输的电任一实体(组织或者个人)对在网络上传输的电子文件进行签名成为可能。任何得到该签名的实子文件进行签名成为可能。任何得到该签名的实体可以对签名的有效性进行验证。体可以对签名的有效性进行验证。第四页,本课件共有64页*l l 数字签名的概念数字签名的概念数字签名的概念数字签名的概念 l l 数字签名的原理数字签名的原理数字签名的原理数字签名的原理 4.1 4.1 数字签名的概念与原理数字签名的概念与原理第五页,本课件共有64页*l l 数字签名的概念数字签名的概念数字签名的概念数字签名的概念 概念概念 数字签名是以密码学的方法对数据文件作用数字签名是以密码学的方法对数
4、据文件作用产生的一组代表签名者身份与数据完整性的产生的一组代表签名者身份与数据完整性的数据信息,通常附加在数据文件的后面。数数据信息,通常附加在数据文件的后面。数据文件的接收者可以利用签名者的公钥作用据文件的接收者可以利用签名者的公钥作用于数字签名上,以验证数据文件的真实性、于数字签名上,以验证数据文件的真实性、完整性。完整性。第六页,本课件共有64页*l l 数字签名的概念数字签名的概念数字签名的概念数字签名的概念 l l 数字签名的原理数字签名的原理数字签名的原理数字签名的原理 4.1 4.1 数字签名的概念与原理数字签名的概念与原理第七页,本课件共有64页*l l 数字签名的原理数字签名
5、的原理数字签名的原理数字签名的原理 原理原理 数字签名就是用私有密钥进行加密,而认证就数字签名就是用私有密钥进行加密,而认证就是利用公开密钥进行正确的解密。是利用公开密钥进行正确的解密。数字签名的原数字签名的原理理如图所示如图所示 第八页,本课件共有64页*l l 数字签名的原理数字签名的原理数字签名的原理数字签名的原理 一个基于公钥密码学的数字签名方案被定义为一一个基于公钥密码学的数字签名方案被定义为一个个算法三元组算法三元组(GenGen,SigSig,VerVer),方案中共有两方参与:,方案中共有两方参与:签名者签名者SignerSigner与与验证者验证者VerifierVerifi
6、er。l 密钥生成算法密钥生成算法GenGen l 签名生成算法签名生成算法SigSigl 签名验证算法签名验证算法VerVer 它是一个概率多项式时间算法,由系统它是一个概率多项式时间算法,由系统或者签名者执行,该算法以系统安全参或者签名者执行,该算法以系统安全参数数1 1k k为输入,输出密钥对(为输入,输出密钥对(PkPk,SkSk),),其中其中PkPk称为签名者公开密钥,称为签名者公开密钥,SkSk为签为签名者秘密钥;即名者秘密钥;即GenGen(1(1k k)()(PkPk,Sk Sk)。它是一个概率多项式时间算法,由签它是一个概率多项式时间算法,由签名者执行,该算法以签名秘密密钥
7、名者执行,该算法以签名秘密密钥SkSk,待签名消息待签名消息m m0,10,1k k为输入,输出一个为输入,输出一个串串s s。此时称。此时称s s为签名者以签名秘密密钥为签名者以签名秘密密钥SkSk对消息对消息m m所做的签名,即所做的签名,即SigSig(SkSk,m m)s s。它是一个确定性算法,由验证者执它是一个确定性算法,由验证者执行,该算法以签名公开密钥行,该算法以签名公开密钥PkPk,签名消,签名消息对息对(m m,s s)为输入,输出为输入,输出0 0或或1 1,即,即VerVer(PkPk,m m,s s)0,1)0,1,如果,如果s sSigSig(m m),则输出则输出
8、1 1说明签名有效;反之输出说明签名有效;反之输出0 0,则说明,则说明签名无效签名无效 第九页,本课件共有64页*l l 哈希函数的性质哈希函数的性质哈希函数的性质哈希函数的性质 l l 哈希函数的结构哈希函数的结构哈希函数的结构哈希函数的结构 4.2 4.2 消息认证与哈希函数消息认证与哈希函数l l 安全哈希函数(安全哈希函数(安全哈希函数(安全哈希函数(SHASHASHASHA)l l 消息认证消息认证消息认证消息认证第十页,本课件共有64页*l l 哈希函数的性质哈希函数的性质哈希函数的性质哈希函数的性质 哈希(哈希(HashHash)函数是一个输入为任意长的二元串,)函数是一个输入
9、为任意长的二元串,输出为固定长度的二元串的函数。一般用输出为固定长度的二元串的函数。一般用H H()()表示表示哈希函数,若输出是长度为哈希函数,若输出是长度为l l的二元串,哈希函数表的二元串,哈希函数表示为:示为:H H():0,1*0,1():0,1*0,1l l定义定义第十一页,本课件共有64页*l l 哈希函数的性质哈希函数的性质哈希函数的性质哈希函数的性质哈希函数哈希函数H H():0,1*0,1():0,1*0,1l l称为具有单向性,是指称为具有单向性,是指1 1)任意给定任意给定M M0,1*0,1*,可以很容易(多项,可以很容易(多项式时间内)地计算出消息摘要式时间内)地计
10、算出消息摘要H H(M M)0,1)0,1l l。2 2)任意给定任意给定H H(M M)0,1)0,1l l,求出,求出M M0,1*0,1*,在计算上困难的,即多项式时间内,在计算上困难的,即多项式时间内不可解。不可解。定义定义第十二页,本课件共有64页*l l 哈希函数的性质哈希函数的性质哈希函数的性质哈希函数的性质 哈希函数哈希函数H H():0,1*0,1():0,1*0,1l l称为具有抗第称为具有抗第二原像性(二原像性(Second Preimage ResistantSecond Preimage Resistant),是指),是指任意给定任意给定M M0,1*0,1*及其信息
11、摘要及其信息摘要H H(M M),求出,求出MM0,1*0,1*且且M MM M,使得,使得H H(M M)=)=H H(M M)是困难是困难的。的。定义定义第十三页,本课件共有64页*l l 哈希函数的性质哈希函数的性质哈希函数的性质哈希函数的性质 哈希函数哈希函数H H():0,1*0,1():0,1*0,1l l称为具有抗碰撞称为具有抗碰撞性(性(Collision ResistantCollision Resistant),是指求出任意),是指求出任意M M,MM0,1*0,1*,且,且M MM M,使得,使得H H(M M)=)=H H(M M)是困是困难的。难的。由上面的四个定义可
12、以知道,哈希函数应该具由上面的四个定义可以知道,哈希函数应该具有有单向性、抗原像性、抗第二原像性以及抗碰单向性、抗原像性、抗第二原像性以及抗碰撞性撞性。定义定义第十四页,本课件共有64页*l l 哈希函数的性质哈希函数的性质哈希函数的性质哈希函数的性质 l l 哈希函数的结构哈希函数的结构哈希函数的结构哈希函数的结构 4.2 4.2 消息认证与哈希函数消息认证与哈希函数l l 安全哈希函数(安全哈希函数(安全哈希函数(安全哈希函数(SHASHASHASHA)l l 消息认证消息认证消息认证消息认证第十五页,本课件共有64页*l l 哈希函数的结构哈希函数的结构哈希函数的结构哈希函数的结构 由由
13、MerkleMerkle提出的迭代哈希函数一般结构提出的迭代哈希函数一般结构如图所如图所示示,这也是目前大多数哈希函数(,这也是目前大多数哈希函数(MD5MD5、SHA-1SHA-1、RIPEMDRIPEMD)的结构。其中,)的结构。其中,IVIV称为初始向量,称为初始向量,CVCV称为称为链接变量,链接变量,Y Yi i是第是第i i+1+1个输入消息分组,个输入消息分组,f f称为压缩函称为压缩函数,数,L L为输入的分组数,为输入的分组数,l l为哈希函数的输出长度,为哈希函数的输出长度,b b为输入分组长度。为输入分组长度。第十六页,本课件共有64页*l l 哈希函数的性质哈希函数的性
14、质哈希函数的性质哈希函数的性质 l l 哈希函数的结构哈希函数的结构哈希函数的结构哈希函数的结构 4.2 4.2 消息认证与哈希函数消息认证与哈希函数l l 安全哈希函数(安全哈希函数(安全哈希函数(安全哈希函数(SHASHASHASHA)l l 消息认证消息认证消息认证消息认证第十七页,本课件共有64页*l l 安全哈希函数(安全哈希函数(安全哈希函数(安全哈希函数(SHASHA)安全哈希函数(安全哈希函数(SHASHA)由美国国家标准和技术协会(由美国国家标准和技术协会(NISTNIST)提)提出的,于出的,于19931993年作为美国联邦消息处年作为美国联邦消息处理标准(理标准(FIPS
15、 PUB 180FIPS PUB 180)公布。)公布。19951995年年NISTNIST发布了它的修订版发布了它的修订版(FIPS 180-1FIPS 180-1),通常称为),通常称为SHA-1SHA-1 SHA-1SHA-1算法具体的处理步骤算法具体的处理步骤 步骤步骤1 1:附加填充比特附加填充比特步骤步骤2:附加长度值附加长度值步骤步骤3 3:初始化初始化MDMD缓存缓存步骤步骤4 4:以以512512比特(比特(1616个字)分组处理消息个字)分组处理消息 首先对报文进行填充,填充方法是:首先对报文进行填充,填充方法是:先添加一个比特先添加一个比特1 1,然后填充足够多,然后填充
16、足够多的比特的比特0 0,使填充后的报文的长度,使填充后的报文的长度与与448448模模512512同余,即为同余,即为512512的倍数刚好减的倍数刚好减去去6464比特比特 将一个将一个6464比特的填充前的消息的比特的填充前的消息的长度分组附加到报文后面,这个长度分组附加到报文后面,这个6464比特的长度被看作是一个无比特的长度被看作是一个无符号整数符号整数 SHA-1SHA-1算法使用了算法使用了160160比特(比特(5 53232比特)的缓存来存放中间以及最比特)的缓存来存放中间以及最终结果,这终结果,这160160比特被分成比特被分成5 5个个3232比特字比特字H H0 0,H
17、 H1 1,H H2 2,H H3 3,H H4 4(SHA-SHA-1 1算法中每个字算法中每个字3232比特)比特)消息开头循环地处理消息序列分消息开头循环地处理消息序列分组,直至消息的结尾。每一次循组,直至消息的结尾。每一次循环都以当前处理的环都以当前处理的512512比特分组比特分组和和MDMD缓存缓存H H0 0,H H1 1,H H2 2,H H3 3,H H4 4作为作为输入。输入。步骤步骤5 5:输出输出 在最后一个消息分组处理完毕后,在最后一个消息分组处理完毕后,MDMD缓存(缓存(H H0 0,H H1 1,H H2 2,H H3 3,H H4 4)中的值即为算法输出的中的
18、值即为算法输出的160160比比特报文摘要特报文摘要 第十八页,本课件共有64页*l l 安全哈希函数(安全哈希函数(安全哈希函数(安全哈希函数(SHASHA)对于对于步骤步骤4 4的每一次循环又可分为三个阶段的每一次循环又可分为三个阶段阶段阶段1 1:复制中间变量复制中间变量 阶段阶段2 2:执行压缩函数执行压缩函数F F 阶段阶段3 3:更新更新MDMD缓存缓存H H0 0,H H1 1,H H2 2,H H3 3,H H4 4 把把H H0 0,H H1 1,H H2 2,H H3 3,H H4 4分别复制分别复制到中间变量到中间变量A A,B B,C C,D D,E E中,中,阶段阶段
19、2 2的所有操作都将在中间变的所有操作都将在中间变量量A A,B B,C C,D D,E E上进行上进行 SHA-1SHA-1每一个主循环压缩每一个主循环压缩函数函数F F共包括共包括8080个操作,每个操作,每个操作中都使用了一个非线性个操作中都使用了一个非线性函数。函数。在所有在所有8080个操作完成后,算法个操作完成后,算法的下列步骤更新的下列步骤更新MDMD缓存缓存 第十九页,本课件共有64页*l l 安全哈希函数(安全哈希函数(安全哈希函数(安全哈希函数(SHASHA)【例例】SHA-1SHA-1算法举例。算法举例。字符串字符串“abc”abc”的二进制表示为的二进制表示为01100
20、001 01100010 0110001101100001 01100010 01100011,长,长度为度为2424比特,则按照比特,则按照SHA-1SHA-1的填充要求,应填充的填充要求,应填充1 1个个“1”1”和和423423个个“0”0”,最后有两个,最后有两个字为字为“0000000000000018”0000000000000018”,表明原始消息的长度为,表明原始消息的长度为2424比特。这样,这个输入只有比特。这样,这个输入只有一个一个512512比特的分组。五个寄存器取如下的初始值:比特的分组。五个寄存器取如下的初始值:A A=67452301=67452301B B=EF
21、CDAB89=EFCDAB89C C=98BADCFE=98BADCFED D=10325476=10325476E E=C3D2E1F0=C3D2E1F0消息分组的所有字取上述经过填充后的消息分组的所有字取上述经过填充后的512512比特分组,即:比特分组,即:W W0=61626380H0=61626380H(01100001 01100010 01100011 1000000001100001 01100010 01100011 10000000),),W W1=1=W W2=2=W W14=00000000H14=00000000H,W W15=00000018H15=00000018
22、H。在经过在经过8080步循环后,五个寄存器中的值分别如下:步循环后,五个寄存器中的值分别如下:A A=A9993E36=A9993E36B B=4706816A=4706816AC C=BA3E2571=BA3E2571D D=7850C26C=7850C26CE E=9CD0D89D=9CD0D89D五个寄存器的值顺序排列,即得到消息五个寄存器的值顺序排列,即得到消息“abc”abc”的哈希函数值的哈希函数值 第二十页,本课件共有64页*l l 哈希函数的性质哈希函数的性质哈希函数的性质哈希函数的性质 l l 哈希函数的结构哈希函数的结构哈希函数的结构哈希函数的结构 4.2 4.2 消息认
23、证与哈希函数消息认证与哈希函数l l 安全哈希函数(安全哈希函数(安全哈希函数(安全哈希函数(SHASHASHASHA)l l 消息认证消息认证消息认证消息认证第二十一页,本课件共有64页*l l 消息认证消息认证消息认证消息认证 消息认证消息认证 消息认证是使消息的接收者能够检验收到的消息是否是真实的认证方法消息认证是使消息的接收者能够检验收到的消息是否是真实的认证方法 消息认证的目的有两个:其一是消息源的认证,即验证消息的来源是真实的;其二是消息消息认证的目的有两个:其一是消息源的认证,即验证消息的来源是真实的;其二是消息的认证,即验证信息在传送过程中未被篡改。的认证,即验证信息在传送过程
24、中未被篡改。1 1)消息认证码消息认证码MACMAC(Message Authentication CodeMessage Authentication Code):是以消息和密:是以消息和密钥作为输入的公开函数,可以生成定长的输出。该方法需要在信息的发送方钥作为输入的公开函数,可以生成定长的输出。该方法需要在信息的发送方和接收方之间共享密钥。和接收方之间共享密钥。2 2)哈希函数:哈希函数:是不带密钥的公开函数,它将任意长度的输入消是不带密钥的公开函数,它将任意长度的输入消息映射为固定长度的输出值。哈希函数与数字签名算法相结合,息映射为固定长度的输出值。哈希函数与数字签名算法相结合,提供对于
25、消息的完整性检验。提供对于消息的完整性检验。第二十二页,本课件共有64页*l l 消息认证消息认证消息认证消息认证基于密钥哈希函数的基于密钥哈希函数的MACMAC 基于密钥哈希函数的基于密钥哈希函数的MACMAC的形式如下。的形式如下。MACMAC=H H(k kM M)HMACHMAC=H H(k kM Mk k)使用哈希函数构造的使用哈希函数构造的MACMAC,称为,称为HMACHMAC 第二十三页,本课件共有64页*l l 消息认证消息认证消息认证消息认证基于分组加密算法的基于分组加密算法的MACMAC 令令e ek k(m m)表示表示输输入消息入消息为为m m,密,密钥为钥为k k的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四章 数字签名与认证技术优秀PPT 第四 数字签名 认证 技术 优秀 PPT
限制150内