数字签名与认证.ppt
《数字签名与认证.ppt》由会员分享,可在线阅读,更多相关《数字签名与认证.ppt(54页珍藏版)》请在三一办公上搜索。
1、第三章 数字签名与认证,Outline,数字签名概述单向散列函数认证技术,1、数字签名概述,在网络通信和电子商务中很容易发生如下问题:1)否认,发送信息的一方不承认自己发送过某一信息。2)伪造,接收方伪造一份文件,并声称它来自某发送方的。3)冒充,网络上的某个用户冒充另一个用户接收或发送信息。4)篡改,信息在网络传输过程中已被篡改,或接收方对收到的信息进行篡改。,第三章 数字签名与认证,1、数字签名概述,用数字签名(Digital Signature)可以有效地解决这些问题。数字签名就是主要用于对数字信息进行的签名,以防止信息被伪造或篡改等。,第三章 数字签名与认证,1、数字签名概述,1)签名
2、:手写签名是被签文件的物理组成部分,而数字签名不是被签消息的物理部分,因而需要将签名连接到被签消息上。,2)验证:手写签名是通过将它与其它真实的签名进行比较来验证而数字签名是利用已经公开的验证算法来验证。,数字签名与传统的手写签名有如下不同:,数字消息的复制品与其本身是一样的,而手写签名纸质文件的复制品与原品是不同的。,第三章 数字签名与认证,1、数字签名概述,1)数字签名原理,公开密钥体制可以用来设计数字签名方案。设用户Alice发送一个签了名的明文M给用户Bob的数字签名一般过程如下:1)Alice用信息摘要函数Hash从M抽取信息摘要M;2)Alice用自己的私人密钥对M加密,得到签名文
3、本S,即Alice在M上签了名;3)Alice用Bob的公开密钥对S加密得到S;4)Alice将S和M发送给Bob;5)Bob收到S和M后,用自己的私人密钥对S解密,还原出S;6)Bob用Alice的公开密钥对S解密,还原出信息摘要M;,第三章 数字签名与认证,1、数字签名概述,1)数字签名原理,7)Bob用相同信息摘要函数从M抽取信息摘要M”;8)Bob比较M与M”,当M与M”相同时,可以断定Alice在M上签名。由于Bob使用Alice的公开密钥才能解密M,可以肯定Alice使用了自己的私人密钥对M进行了加密,所以Bob确信收到的M是Alice发送的,并且M是发送给Bob的。有关hash函
4、数的作用将在下一节介绍。,第三章 数字签名与认证,1、数字签名概述,1)数字签名原理,目前已经提出了许多数字签名体制,但可以分成两类:直接数字签名和需仲裁的数字签名,a)直接数字签名,直接数字签名仅涉及通信方,它假定收方知道发方的公开密钥数字签名,通过使用发方的私有密钥对整个消息进行加密或使用发方的私有密钥对消息的散列码进行加密来产生。,至今所有的直接数字签名体制都有一个共同的弱点,方案的有效性依赖于发方私有密钥的安全性。如果发方随后想否认发送过某个签名消息,发方可以声称签名的私钥丢失或被盗用并伪造了他的签名。,第三章 数字签名与认证,1、数字签名概述,1)数字签名原理,b)需仲裁的数字签名,
5、发方A对发给收方B 的消息签名后将附有签名的消息发给仲裁者C;,C对其验证后连同一个通过验证的证明发送给收方B。,在这个方案中A无法对自己发出的消息予以否认,但仲裁者必须是得到所有用户信任的负责任者。,第三章 数字签名与认证,1、数字签名概述,2)DSS数字签名机制,美国国家标准技术研究所(NIST)于1991年颁布了数字签名标准(DSS:Digital Signature Standard),该标准使用的签名算法简称为DSA(Digital Signature Algorithm)。,第三章 数字签名与认证,2)DSS数字签名机制,消息M,Hash,连接,签名,M,s,r,Hash,验证,公
6、用参数,私钥,随机数k,公用参数,发送方公钥,比较,真假,发送签名方,验证签名方,DSS数字签名体制,第三章 数字签名与认证,1、数字签名概述,2)DSS数字签名机制,算法描述:DSA算法作为ElGamal和Schnorr签名算法的变形,显然其安全性也是基于求离散对数的困难上。,构造参数:1)全局参数p:是一个大的素数,2L-112)用户私钥x:选取一个随机数,要求0 xq3)用户公钥y:可以通过计算求得y,y=gx mod p,第三章 数字签名与认证,1、数字签名概述,2)DSS数字签名机制,签名过程:1)生成随机数k,0kq;2)计算r:r=(gk mod p)mod q;3)算s:s=(
7、k-1(H(M)+xr)mod q,到此,消息M的签字结果就是(r,s)。4)发送消息和签名结果(M,r,s)。,第三章 数字签名与认证,1、数字签名概述,2)DSS数字签名机制,签名过程:,f2,消息M,Hash,f1,随机数k,r,s,q,x,q,g,p,第三章 数字签名与认证,1、数字签名概述,2)DSS数字签名机制,认证过程:接收者在收到(M,r,s)之后,如下步骤:1)取得发送者的公钥y;2)计算w:w=s-1mod q;3)计算u1:u1=(H(M)w)mod q;4)计算u2:u2=(rw)mod q;5)计算v:v=(gu1yu2)mod p)mod q;6)比较r、v,如果r
8、=v,表示签名有效,否则签名非法。,第三章 数字签名与认证,1、数字签名概述,2)DSS数字签名机制,认证过程:,M,s,r,Hash,f4,f3,比较,q,w,g,q,y,v,真假,第三章 数字签名与认证,Outline,数字签名概述单向散列函数认证技术,2、单向散列函数,H(M):输入为任意长度的消息M;输出为一个固定长度的散列值,称为消息摘要(Message Digest)H(M)是消息M的所有位的函数并提供错误检测能力:消息中的任何一位或多位的变化都将导致该散列值的变化H(M)又称为:哈希函数、数字指纹(Digital finger print)、压缩(Compression)函数、数
9、据鉴别码(Data authentication code)等,第三章 数字签名与认证,2、单向散列函数,H能用于任意大小的分组H能产生定长的输出对任何给定的x,H(x)要相对易于计算,使得硬件和软件实现成为实际可能对任何给定的码h,寻找x使得H(x)=h在计算上是不可行的,即单向性对任何给定的分组x,寻找不等于x的y,使得H(x)=H(y)在计算上是不可行的,即弱抗冲突性寻找任何的(x,y)使得H(x)=H(y)在计算上是不可行的,即强抗冲突性,函数设计要求,第三章 数字签名与认证,2、单向散列函数,用Hash函数进行报文鉴别的实例,如果Alice发送了信息给Bob,Bob收到信息后需要证实
10、:1Bob收到的明文是否肯定由Alice发送的。2Bob收到的明文是否被篡改。,第三章 数字签名与认证,2、单向散列函数,鉴别过程,1Alice用单向散列函数h 从明文M中抽取信息文摘X,并利用RSA算法和Alice的私人密钥sk对X加密,得到密文E(X)。2Alice将M、E(X)发送给Bob 3Bob收到M、E(X)后,用Alice的公开密钥pk对E(X)解密,即:D(E(X)X,还原出X 4Bob用相同的单向散列函数h从收到的明文M中抽取信息文摘X1 5Bob比较X1和X,如果X1=X时,则证实:M是Alice发送的,并且明文在传输过程中没有被篡改;否则,证实:M不是Alice发送的,或
11、者明文在传输过程中已经被篡改。,第三章 数字签名与认证,2、单向散列函数,MD5算法,Merkle于1989年提出hash function模型Ron Rivest于1990年提出MD41992年,Ron Rivest 完成MD5(RFC 1321)在最近数年之前,MD5是最主要的hash算法现行美国标准SHA-1以MD5的前身MD4为基础输入:任意长度的消息输出:128位消息摘要处理:以512位输入数据块为单位,第三章 数字签名与认证,2、单向散列函数,1数据填充与分组(1)将输入信息M按顺序每512位长度为一组进行分组,即:M=M1,M2,Mn-1,Mn(2)将信息M的Mn长度填充为448
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字签名 认证
链接地址:https://www.31ppt.com/p-6364785.html