第19讲--数字签名2(密码学)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第七章
数字签名
ElGamal签名体制
离散对数签名体制的特例 体制参数
p:一个大素数; g:是Zp中乘群Zp*的一个生成元或本原元; M:消息空间,为Zp*; S:签字空间,为Zp*×Zp-1; x:用户秘密钥xZp*; y:用户公钥,ygx mod p p,g,y为公钥,x为秘密钥。
ElGamal签名体制
g
xrw
1
) mod p ] mod q
[ H ( M ) xr ] s
mod p] mod q
( g mod p ) mod q r
k
离散对数的一般签名体制
体制参数
p:大素数 q:(p-1) 的大素因子 g:g∈Zp*,满足gq=1 mod p。 x:用户秘密钥, x为在1<x<q内的随机数。 y:用户公钥 gx= mod p。
相互认证
A,B双方在建立共享密钥时需要考虑保密性和
实时性。
保密性:会话密钥应以密文传送,因此双方应事
先共享密钥或者使用公钥
实时性:防止重放

序列号方法


时戳
询问-应答
序列号方法
对交换的每一条消息加上序列号,序列号正确才
被接收
要求每个用户分别记录与其他每一用户交互的序
列号,增加用户负担,因而很少使用
(a) 计算r’gsye mod p 而后计算 H(r’||M)。
(b) 验证 Ver(M, r, s) H(r’||M)=e 因为,若(e,s)是M的合法签字,则有
gsyegk-xegxegkr mod p。
Schnorr签名体制
Schnorr签字与ElGamal签字的不同点: 在ElGamal体制中,g为Z*p的本原元素;而 在Schnorr体制中,g为Zp*中子集Zq*的本原元素, 它不是Zp*的本原元素。显然ElGamal的安全性 要高于Schnorr。
防止重放询问应答序列号方法对交换的每一条消息加上序列号序列号正确才被接收要求每个用户分别记录与其他每一用户交互的序列号增加用户负担因而很少使用a收到消息中包含时戳且a看来这一时戳充分接近自己的当前时刻a才认为收到的消息是新的并接收要求各方时间同步询问应答用户a向b发出一个一次性随机数作为询问如果收到b发来的应答消息也包含一正确的一次性随机数a就认为消息是新的并接受之
签名长度320bit
只能用于数字签名,不能用于加密
DSS的基本方式
M SKA H E
ESK A [ H ( M )]
||
M
H PKA D 比较
RSA签名
全局公开钥 PKG PKA Ver
M PKG SKA H K Sig
||
M s r
H
随机数
DSS签名
比较
数字签名算法DSA
在Elgamal和Schnorr两个方案基础上设计的 算法描述:
s [k-1 (h(M)+xr)] mod q
(f) 验证过程:计算
w=s -1 mod q ; u1 =[H(M)w] mod q ; u2=rw mod q ; v=[(gu1yu2) mod p] mod q。 Ver(M, r, s)=真 v=r
v [( g [g
H (M )w

无连接应用最好使用安全时间服பைடு நூலகம்器提供同

单向认证
不需要双方同时在线(电子邮件) 邮件接收者希望认证邮件的来源以防假冒 分为单钥加密方法和公钥加密方法
离散对数签名机制
(1)数字签名算法DSA是基于上表中的等式(4) 且
a=s,b=m,c=r’ (2)EIGamal签名方案是基于上述签名方案中 的 a=s,b=m,c= - r’
离散对数签名方案的推广
基于有限域上离散对数问题的数字签名方案 可以移植到椭圆曲线上。
认证协议
Authentication Protocols
Schnorr签名体制
签字过程:令待签消息为M,对给定的M
做下述运算: (a) 发送者任选一秘密随机数kZq
(b) 计算
rgk mod p sk+xe mod p 式中 e=H(r||M)
(c) 签字S=Sigk(M)=(e,s)
Schnorr签名体制
验证过程:收信人收到消息M及签字S=(e,s)后
离散对数签名体制

签名产生过程
1、选择随机数k:1<k<q,计算r=gk mod p 2、从签字方程ak=b+cx mod q中解出s.(r,s)为数字签名。
上式中a,b,c的取值可以是下表中的任一行的任意一个排列
a
±r ±rm ±rm ±mr ±ms
b
±s ±s ±ms ±rs ±rs
c
m 1 1 1 1
签名过程:给定消息M,进行下述工作。
(a) 选择秘密随机数kZp*; (b) 计算
r=gk mod p s=(M-xr )k- -1 mod (p-1)
(r,s)作为签字.
Elgamal签名体制
验证过程:
收信人收到M,(r,s),按下式验证
Verk(M, r, s)=真 yrrsgM mod p

要求不同的处理器之间时间同步,所用的协
议必须是容错的以处理网络错误

协议中任何一方时钟出现错误失去同步,则 敌手攻击的可能性增加 网络中存在延迟,不能期待保持精确同步, 必须允许误差范围

各种方法的比较
询问-应答不适合于无连接的应用过程

在传输前需要经过询问-应答这一额外的握
手过程,与无连接应用过程的本质特性不符。
(b) 用户秘密钥 x:x为在0<x<q内的随机数。 (c) 用户公钥 y:=g x mod p。
(d) 用户每个消息用的秘密随机数k:在0<k<q内的随机数
数字签名算法DSA
(e) 签名过程:对消息MM=Zp*,其签字为S=Sig k(M, k)=(r, s), SS=Zq×Zq,
r (gk mod p) mod q
离散对数签名体制
签名验证过程
Ver ( y , ( r , s ), m ) True r g y (mod p )
a b c
一些基于离散对数问题的签名方案
下表给出了当{a,b,c}={r',s,m}时的签名等式和验证等式 签名等式 (1) r'k = s+mx modq (2) r'k = m+sx modq (3) sk = r'+mx modq (4) sk = m+r'x modq (5) mk = s+r'x modq (6) mk = r'+sx modq 验证等式 rr' =gsym modq rr' =gmys modq rs = gr'ym modq rs = gmyr' modq rm = gsyr' modq rm = gr‘ysmodq
时戳法
A收到消息中包含时戳,且A看来这一时戳
充分接近自己的当前时刻,A才认为收到的 消息是新的并接收
要求各方时间同步
询问-应答
用户A向B发出一个一次性随机数作为询
问,如果收到B发来的应答消息也包含一
正确的一次性随机数,A就认为消息是新
的并接受之。
各种方法的比较
时戳法不适用于面向连接的应用过程
因为yrrsgrxgskg(rx+sk) mod p,
(rx+sk) M mod(p-1)
故有yrrsgM mod p
Schnorr签名体制
体制参数
p, q:大素数,q|p-1。q是大于等于160 bits的整 数,p是大于等于512 bits的整数,保证Zp中求解
离散对数困难; g:Zp*中元素,且为Zq*中本原元 ; x:用户密钥1<x<q; y:用户公钥ygx mod p。 消息空间M=Zp*,签字空间S=Zp*×Zq;密钥 空间K={(p,q,g,x,y): ygx mod p}
(a) 全局公钥( p, q, g )
p:是2L-1 < p < 2L中的大素数,512 L 1024,按64 bits递增; q:(p-1)的素因子,且2159 < q < 2160,即字长160 bits;
g:= h(p-1)/q mod p,且1< h < (p-1),使h(p-1)/q mod p >1。
Schnorr的签字较短,由|q|及|H(M)|决定。
在Schnorr签字中,r=gk mod p可以预先计 算,k与M无关,因而签字只需一次mod q乘法 及减法。所需计算量少,速度快。
数字签名标准
Digital Signature Standard (DSS)
概况
由美国国家标准技术研究所1991年公布 1993年公布修改版
相关文档
最新文档