作用: 数字签名是实现电子交易安全的核心技术之一,它在实现身份认证、数字完整性、不可抵赖性等功能方面都有重要应用。尤其是在密钥分配、电子银行、电子证券、电子商务和电子政务等许多领域有重要的应用价值。
①
防冒充:
其他人不能伪造对消息的签名,因为私有密钥只有签名者自己知道,
②
可鉴别身份:
接收者使用发送者的公开密钥对签名报文进行解密运算,如结果为明文,则签名有效,证明对方身份是真实的。
③防篡改(防破坏信息的完整性)。
签名数据和原有文件已形成了一个混合的整体数据,不可能篡改,从而保证了数据的完整性。
④防重放。
重放即为了获取利益而重复使用已签名的单据,在电子交易中,付款后要及时毁掉另一方手中的单据,否则,对方可能再次要求付款。在签名电文中添加流水号、时间戳等,就可防止这种情况。
⑤防抵赖。
数字签名可以鉴别身份,不可能冒充伪造,那么,只要保存好签名的报文,就好象保存好了手工签署的合同文本,也就是保留了证据,签名者就无法抵赖。
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),表示签名有效;否则,签名无效。
分享到:
相关推荐
密码技术 加密 解密 认证 数字签名 幻灯片 概念 原理 过程 实例
关于数字签名在网上审批系统中的应用研究.nh
以下是关于数字签名及其相关知识点的详细说明: **数字签名的概念** 数字签名是一种基于公钥加密技术的电子签名方式,它能够确保数据在传输过程中不被篡改,并能验证文件来源的可靠性。在数字签名的过程中,发送者...
"shuziqianming.rar"可能是关于数字签名的具体应用或示例。"shuziqianming"在中文中可以理解为“数字签名”,这可能包含了一些实际的代码示例或者教程,教导如何在C++环境中使用RSA算法进行数字签名操作。 在C++...
`www.pudn.com.txt`可能是指向该网站上关于数字签名软件的更多资料,而`v30CSharpdemoSQL`可能是一个SQL数据库文件,包含示例代码或测试数据,用于演示如何在C#环境中操作数字签名。 综上所述,C#实现的数字签名...