简述数字签名的实现过程

来源:百度知道 编辑:UC知道 时间:2024/05/20 07:38:00

数字签名标准(DSS)

DSS的主要参数:
(1)全局公开密钥分量,可以为用户公用
p:素数,要求2L-1<p<2L,512<=L<1024,且L为64的倍数
q: (p-1)的素因子,2159<q<2160,即比特长度为160位
g:=h(p-1)/q mod p。其中h是一整数,1<h<(p-1)且h(p-1)/q mod p>1
(2)用户私有密钥
x:随机或伪随机整数,要求0<x<q
(3)用户公开密钥
y:=gx mod p
(4)k: 随机或伪随机整数,要求0<k<q
签名过程:
用户随机选取k,计算:
r=(gk mod p) mod q
s=[k-1(M+xr)]mod q

(r,s)即为消息M的数字签名

验证过程:
接收者收到M,r,s后,首先验证0<r<q, 0<s<q,如果通过则计算:
w=(s)-1 mod q
u1=[Mw] mod q
u2=[rw] mod q
v=[(gu1yu2) mod p] mod q

如果v=r,则确认签名正确