当前位置:
文档之家› 数字鉴别与认证系统数字签名PPT课件
数字鉴别与认证系统数字签名PPT课件
• 尽管是认证的,但双方仍可能存在多种争议, 如:
– B伪造一个消息,但声称是从A得到的。 – A可以否认发送过该消息,B无法证明A确实发了该消息。
2
4.1 概述
➢ 采用数字签名的作用
防止通信用户之间的欺骗和抵赖行为。
2.数字签名的基本性质
➢ 必须能够用来证实签名的作者和时间 ➢ 在对消息进行签名时,必须能够对消息的内
( 4)计e算 h(M) ( 5)计 sk算 1(ed)r(mn)od (6)若 s0,跳至1) (,否则名
3.验证:(思路)
s k1(edr)(mond)k s1(edr)(mond) kGs1eGs1drGs1eGs1rQ u1Gu2Q 则kG的x坐标整数部(r)分 与u1Gu2Q的x坐标 整数部分(设 v)为应该相等。 r 即 v
高校计算机规划系列教材
第四章 数字签名 Digital Signature
1
4.1 概述
1.数字签名的应用需求
➢报文鉴别(MA)不能防止通信双方的相互 欺骗
• 保护双方之间的数据交换不被它人(第三者) 侵犯。方式包括:加密、MAC、散列…
• 基于共享密钥的报文鉴别(例如MAC等)不能 防止通信双方之间的相互欺骗。
16
4.3.2 基于椭圆曲线的数字签名
选择用户参数: 私钥d: 选择一个随机数d∈[1,n-1] 计算公钥Q:Q=dG
17
4.3.2 基于椭圆曲线的数字签名
2.签名:
( 1)选 k R[1 取 ,n1]
(2)计k算 G (x1,y1)将 , x1转换为 x1 整
( 3 )r 计 x 1(m 算 n )若 o ,r d0 ,跳1 ) 至
➢DS的生成、识别和验证也必须相对简单,易于 实现。
➢DS能够在存储介质上保存备份。 ➢伪造数字签字在计算上是不可行的。
• 无论采用何种方法:利用DS伪造报文,或者对报文 伪造DS
4
4.2 数字签名的分类
1.按数字签名的产生方式 (1)由加密算法产生数字签名
利用加密算法产生数字签字是指将消息或 消息的摘要加密后的密文作为对该消息的数字 签字。(仅介绍公钥签名)
V(y e ,(r,rs)h ,) Tr u yrrs e g h(m p )o
14
4.3.1 基于离散(DL)对数的数字签名 4. 证明
由 s k 1 (h x)m r q , oh d k 则 s x(rm q )o ghgk s xr (gk)s(gx)ryrrs(m p )od
19
4.3.2 基于椭圆曲线的数字签名
验证过程:
( 1 )r,检 s.要 r、 查 s 求 [1 ,n 1 ] ( 2)计e算 h(M) ( 3)计 w算 s1(mno)d ( 4 )u 1 计 e(w m 算 n )u 2 ,o rd (w m n ) od ( 5 )计 Xu1G 算 u2Q (6)若 XO,签名无. 效
5
4.2 数字签名的分类
SKA
DSKA(M)
PKA
A
B
M 签名
签名后的文档
M 验证
图4-1 将消息的密文作为数字签名
如:在基于RSA的签名算法中,用户的
SK={d,n},PK={e,n},则私钥的签名为:C=Md mod n
相应的验证算法为:M=Ce mod n,如果能正确解密,
则签名有效,否则是无效的签名。
x:用户的私钥,1<x<q y:用户的公钥, ygx modp
其中PKG={p,q,g}是全局公开参数
13
4.3.1 基于离散(DL)对数的数字签名
2.签名
计算h=h(M)
( 1 )随k机 :1k 选 q,计 取 r 算 gkmp od ( 2) sk1(hx)rmoqd
则(r, s)是签名信息
3.验证
容进行鉴别。
• 数字签名同时包含 了消息认证的功能。
➢ 签名应具有法律效力,必须能被第三方证实, 用以解决争端。
3
4.1 概述
3.DS系统设计实现的要求 ➢签名的比特模式是依赖于消息报文的。 ➢对发送者来说DS必须是唯一的,能够防止伪造 和抵赖。
• 需要使用某些只有发送者才具备的唯一性的数字特 征,例如私有密钥等。
9
4.2 数字签名的分类
M
Ver
Sig
PK A SK A
图4-4 由签字算法产生数字签名
T,F
10
4.2 数字签名的分类
2.按是否需要原始消息作为验证算法的输入 (1)带消息恢复的数字签名
如:基于RSA加密的方案。 (2)带附录的数字签名方案
如:ElGamal、DSA、Schnorr签名方案,此类方案在 实际中使用的最为普遍。 3.按是否需要第三方参与 (1)直接方式数字签名 执行过程只有通信双方参与。(缺少私钥丢失的处理) (2)具有仲裁方式的数字签名
例题: (略)
15
4.3.2 基于椭圆曲线的数字签名(ECDSA)
ECDSA的安全性依赖于椭圆曲线上离散对数 问题的困难性,是一种随机化的数字签名。
1.参数生成: 选择椭圆曲线参数组:{q,FR,S,a,b,G,n}
q: 域的阶 FR:域Fq中元素的表示 S:随机生成椭圆曲线时用到的种子 a,b:椭圆曲线的两个系数 G:基点 n: 基点G的阶
签字算法的输入是明文消息M和私钥SK,输
出是对M的数字签字,表示为S=Sigsk(M)。相应于 签字算法,有一验证算法,表示为VerPK(S,M),其 取值为:
True VerPK(S,M) False
S SigSK(M) S SigSK(M)
算法的安全性在于从M和S难以推出密钥SK或伪 造一个消息M′使M′和S可被验证为真。
6
4.2 数字签名的分类
发送方A
M
接收方B
h(M )
比较
SK A PK A
图4-2 将消息的摘要加密后的密文作为对该消息的数字签名
7
发送方A
M
4.2 数字签名的分类
接收方B
h(M )
SK A
PK B
SK B
比较
PK A
图4-3 具有机密性的数字签名
8
4.2 数字签名的分类
(2)由签字算法产生数字签名
11
4.3 基本的数字签名算法
4.3.1 基于离散(DL)对数的数字签名(ElGamal)
发送端A
接收端B
M
M
s r
M
H()
PKA
s r
Ver
PKG
H() Sig PKG
Comp
k SKA
结果
12
4.3.1 基于离散(DL)对数的数字签名
1.参数生成
p:大素数
q:p-1或p-1的大素数因子
g: gRZ* p,且 gq1mopd