基于FPGA的RSA数字签名

RSA数字签名和RSA加密具体一定的对称性,两者大致内容是一致的,有关RSA加密的内容可以参见我的上一篇博客,这里大致说一下基于RSA的数字签名技术

简单可将RSA数字签名技术分成四个部分
1:生成私钥
d = (k(p-1)(q-1)+ 1)/e (k不定,使得d为整数即可)
(p和q为两个大质数,e是公钥的一个数据,私钥的生成在之前的博客中已经说过)

2:数字签名算法
过程:信息发送者用自己的私钥对所要发送的信息进行数字签名算法,得到一个新的签名数据,然后信息发送者将自己的公钥、新的签名数据、要发送的信息这三个数据一起发送出去。

公式:签名 = 信息^d mod (N)

3:生成公钥
选取两个互异的大质数p和q,选取一个数e,1<e<(p-1)(q-1),且e要与(p-1)*(q-1)互素,同时计算出N=pq,得到公钥(e,N)(具体见上一篇博客)

4:验证签名算法
由签名得到的信息 = 签名^e mod (N)

最后将由签名得到的信息于信息发送者发送过来的信息进行比较,若两者一致,则表示验证数字签名成功

猜你喜欢

转载自blog.csdn.net/jiyishizhe/article/details/105191558