RSA加密与签名的区别

RSA加密与签名的区别,第1张

RSA加密:RSA密码体制是一种公钥密码体制,加密算法公开,以分配的密钥作为加密解密的关键。

RSA签名:签名就是在这份资料后面增加一段强而有力的证明,以此证明这段信息的发布者和这段信息的有效性完整性。

在使用RSA进行通讯的时候,一般是两者结合,即:加密>签名>解密>验签

公钥加密、私钥解密、私钥签名、公钥验签。

加密和可逆的,而签名是不可逆的

我们可以对一份资料用公钥加密,再用私钥解密,但我们对这份资料进行签名则是不可逆的,因为哈希本身是不可逆的。

加密和签名都涉及到了使用公钥加密,前者加密了信息,后者加密了信息的hash

加密和签名都是为了安全性考虑,但略有不同。加密是为了防止信息被泄露,而签名是为了防止信息被篡改。

为什么签名是对信息hash之后加密,而不是加密一些特定的字符?

这是因为防止中间人尝试向私钥拥有者反复发送一些特定的字符,得到加密后的信息,达到破解或者伪造之类的目的。所以用私钥随便加密信息是不安全的。

RSA的签名与加密一般用在需要非常安全的环境下,例如支付

代码编写: Cipher 用于加密 Signature 用于签名

总结:
签名的本质其实就是加密,但是由于签名无需还原成明文,因此可以在加密前进行哈希处理。所以签名其实就是哈希+加密,而验签就是哈希+解密+比较。

签名过程:对明文做哈希,拼接头信息,用私钥进行加密,得到签名。

验签过程:用公钥解密签名,然后去除头信息,对明文做哈希,比较2段哈希值是否相同,相同则验签成功。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/927434.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-17
下一篇 2022-05-17

发表评论

登录后才能评论

评论列表(0条)

保存