关于数字签名

作用:    数字签名是实现电子交易安全的核心技术之一,它在实现身份认证、数字完整性、不可抵赖性等功能方面都有重要应用。尤其是在密钥分配、电子银行、电子证券、电子商务和电子政务等许多领域有重要的应用价值。

防冒充
    其他人不能伪造对消息的签名,因为私有密钥只有签名者自己知道,
可鉴别身份
    接收者使用发送者的公开密钥对签名报文进行解密运算,如结果为明文,则签名有效,证明对方身份是真实的。
③防篡改(防破坏信息的完整性)。
   签名数据和原有文件已形成了一个混合的整体数据,不可能篡改,从而保证了数据的完整性。
④防重放。
   重放即为了获取利益而重复使用已签名的单据,在电子交易中,付款后要及时毁掉另一方手中的单据,否则,对方可能再次要求付款。在签名电文中添加流水号、时间戳等,就可防止这种情况。
⑤防抵赖。
    数字签名可以鉴别身份,不可能冒充伪造,那么,只要保存好签名的报文,就好象保存好了手工签署的合同文本,也就是保留了证据,签名者就无法抵赖。

RSA算法 是一种可逆的公开密钥加密系统
    但采用秘密密钥是建立在有一个众人信任的中间机构的基础上,而采用公钥加密法进行数字签名则不受此限制,收发两方之间不需要任何可信赖机构。

RSA数字签名过程:
(1) 计算消息的散列值H(M)。
(2) 用私钥(d,n)加密散列值:s=  mod n
(3)发送消息和签名(M,s)。

对于密钥d∈D,相应的签名算法为:sigd∈SIG, Sigd: M→S。对任意的消息m∈M,有s=Sigd (m),且s∈S,那么s为消息的签名,将签名消息组(m,s)发送到签名验证者。


认证过程
    接收方收到(M,s),按照如下的步骤验证签名的有效性:
(1)取得发送方的公钥(e,n)。
(2)解密签名 s:h=   mod n。
(3)计算消息的散列值H(M)。
(4)比较,如果h= H(M),表示签名有效;否则,签名无效。

猜你喜欢

转载自latty.iteye.com/blog/1310393