第16讲 数字签名.ppt
文本预览下载声明
数字签名的基本概念 RSA数字签名方案 DSA数字签名方案 密码协议概述 身份证明技术概述 第六章 数字签名与密码协议 本章重点及难点 主要内容:基于RSA算法的数字签名技术,DSS数字签名标准、密码协议基本概念、身份证明技术 重点:DSA数字签名标准算法 难点:DSA数字签名算法、密码协议概念 密码学及信息安全的主要任务:保密和认证 认证的主要目的:实体认证和消息认证 主要认证技术 数字签名:实现身份认证、数据完整性及不可否认性的重要工具 杂凑函数:认证算法的重要组成部分 身份证明:证实或识别实体的身份 密码协议:密钥建立协议、认证建立协议、认证的密钥建立协议 (1) 表示签名者对消息的认可; (2) 他人可识别和验证出是谁的签名; (3) 他人无法伪造和更改签名,即 (A) 无法凭空造出一个签名; (B) 对一个文件的签名不能复制或篡改成对另一个文件的签名; (4) 可仲裁性: 出现争议时第三方可仲裁。 一、数字签名概述 1、手书签名的目的和作用 仲裁的内容: (1) 签名者是否在抵赖、否认其签名; (2) 签名是否是伪造的。 签名的实现方式: 就是在原文件上追加一定的笔迹信息,并使二者形成一个整体。 对电子文档的签名也应达到同样的目的。 (3)接收者能验证签名,而任何其他人都不能伪造签名; 实现:签名必须与特定的公开信息相对应,使收方能够验证;签名应与签名者独有的秘密信息密切相关,使其他人不能伪造。 (4)当双方关于签名的真伪发生争执时,一个法官或第三方能解决双方之间发生的争执。 实现:签名对应的验证密钥应由可信的第三方确认并公布。当发生争执时,靠法律解决争端。 (1) 利用特殊的公钥加密算法实现。 并非所有的公钥加密算法都能实现数字签名,只有满足 的公钥密码算法,才能实现数字签名。 其中D是脱密算法,E是加密算法。 (2)利用专门设计的数字签名算法实现。 3、数字签名方案的分类 设计方法:用户A将其私钥kd作为其签名密钥, 将对应的公钥ke作为其签名识别密钥; 用户A对文件m的签名过程: (1) 利用签名密钥kd对m执行脱密变换D,得到签名 ; (2) 签名者将文件m及其签名sign(m)一起公布。 基于公钥算法设计的数字签名 仲裁: 与签名识别过程相同。 利用用户A的签名识别密钥ke对签名sign(m)执行加密变换E,得到 若它与m相等,则判断Sign(m)是用户A对文件m的签名; 否则,Sign(m)不是用户A对文件m的签名。 用户B对签名的识别过程: 记用户A的参数为(NA,eA, d A) ,用户B的参数为(NB,eB, d B),E为加密算法,D为脱密算法。 二、RSA数字签名方案 (一)实现保密通信的RSA算法 加密: 脱密: A的签名: 验证: (二)实现数字签名的RSA算法 由于与eA 相对应的dA是A所独有,因此c一定来自A,又因为eA是公开的,则m不能保密。 将m和c一起发送,作为签名(m,c)。 (三)RSA签名与加密的结合 由于RSA算法满足E(D(m))=D(E(m))=m,因此可实现带有签名的保密通信。 如果要实现带有签名的保密通信,只需将两个用户的加、脱密变换结合在一起即可。由于在变换过程中用到两个模数,为了使逆变换唯一,需区分两个模数的大小(先小后大),具体处理如下。 1、当NANB时,先签名,后加密 (1)用户A先用自己的保密密钥dA对消息m进行签名,得到: (2) A再用用户B的公开密钥eB对签名y进行加密,得到: 然后将既签名,又加密了的 c 发送给用户B ; ( 3)B收到c后,先进行变换: 再用A的公开密钥作变换: 从而验证签名来自A。 2、当NANB时,先加密,后签名 (1)用户A先用B的公开密钥eB对消息m进行加密,得到: (2) A再用自己的保密密钥dA对y进行签名, 得到: 然后将既签名,又加密了的 c 发送给用户B ; (
显示全部