当前位置:新励学网 > 秒知问答 > DSA的算法

DSA的算法

发表时间:2024-07-18 07:21:40 来源:网友投稿

算法中应用了下述参数:p:Lbits长的素数。L是64的倍数,范围是512到1024;q:p-1的160bits的素因子;g:g=h^((p-1)/q)modp,h满足h1;x:x<q,x为私钥;y:y=g^xmodp,(p,q,g,y)为公钥;H(x):One-WayHash函数。DSS中选用SHA(SecureHashAlgorithm)。p,q,g可由一组用户共享,但在实际应用中,使用公共模数可能会带来一定的威胁。签名及验证协议如下:1.P产生随机数k,k<q;2.P计算r=(g^kmodp)modqs=(k^(-1)(H(m)+xr))modq签名结果是(m,r,s)。3.验证时计算w=s^(-1)modqu1=(H(m)*w)modqu2=(r*w)modqv=((g^u1*y^u2)modp)modq若v=r,则认为签名有效。DSA是基于整数有限域离散对数难题的,其安全性与RSA相比差不多。DSA的一个重要特点是两个素数公开,这样当使用别人的p和q时,即使不知道私钥,你也能确认它们是否是随机产生的,还是作了手脚。RSA算法却作不到。

免责声明:本站发布的教育资讯(图片、视频和文字)以本站原创、转载和分享为主,文章观点不代表本网站立场。

如果本文侵犯了您的权益,请联系底部站长邮箱进行举报反馈,一经查实,我们将在第一时间处理,感谢您对本站的关注!