码迷,mamicode.com
首页 > 其他好文 > 详细

数字签名

时间:2015-06-17 16:34:22      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:

签名获取算法:

1、 首先计算被签名数据T_DATA的SHA-1值H_DATA(20字节):SHA-1(T_DATA,H_DATA)

2、 在H_DATA尾部填充随机数(n-20字节),得到和PUKn/PVKn的密钥长度(n字节)相同的H_BLOCK

3、 用PVKn加密H_BLOCK,得到E_SIGN:RSA(H_BLOCK, PVKn, E_SIGN)

4、 E_SIGN即为T_DATA的电子签名。T_DATA和E_SIGN一般会存放到一起,便于随时验证T_DATA的合法性和完整性。

 

签名验证算法:

1、 用PUKn解密E_SIGN,假设得到H_BLOCK1(长度位n字节)

_RSA(E_SIGN, PUKn, H_BLOCK1)

2、 计算被签名数据T_DATA的SHA-1值,假设输出为H_DATA1

SHA1(T_DATA,H_DATA1)

3、 比较H_DATA1和H_BLOCK1中的H_DATA,如果两者相等,则表示T_DATA是合法有效的;如果不相等,则可能是T_DATA或者E_SIGN被篡改了。

 

(拥有PVK的才是合法的,必须保证PVK的绝对安全)

 

数字签名

标签:

原文地址:http://www.cnblogs.com/utank/p/4583664.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!