美文网首页
RSA加密与签名的区别

RSA加密与签名的区别

作者: 举个栗子wow | 来源:发表于2017-09-15 12:02 被阅读1146次

RSA加密:RSA密码体制是一种公钥密码体制,加密算法公开,以分配的密钥作为加密解密的关键。一般来说,在一对公私钥中,公钥和私钥都可以用来加密和解密,即公钥加密能且只能被对应的私钥进行解密,私钥加密能且只能被对应的公钥进行解密。但我们一般都用公钥加密,私钥解密,而且生成的私钥往往会比公钥蕴含了更多的信息量。(这里说的加密肯定是可逆的,不然直接销毁就可以了没必要再去加密,加密是为了保障数据的安全和验证身份。)

RSA签名:签名就是在这份资料后面增加一段强而有力的证明,以此证明这段信息的发布者和这段信息的有效性完整性。RSA签名常用的就是将这份信息进行hash,得到一个hash值,再将hash值加密作为签名,后缀在信息的末尾。接收方接到传输的资料后,使用私钥解密这段加密过的hash,得到hash值,然后对信息原文进行hash,对比两次hash是否一致(验签)。签名的过程是不可逆的,因为hash是不可逆的,毕竟那么大的文件被hash成一段字符串还能还原的话那就碉堡了。

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

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

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

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

前者使用加密保障内容不被泄露,后者使用加密用来身份验证。

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

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

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

由于RSA签名与加密需要比平时的通讯产生更多的工作量,所以一般只会用在需要保证数据安全的地方(但随着设备性能的提升它会扩展到很多方面,毕竟保证隐私也是很重要的,虽然有些人并不在乎这些)。HTTPS的加密解密可以参考http://www.jianshu.com/p/1b48c37b94b9

相关文章

  • C# RSA加解密和MD5加密

    1.RSA加密 2.RSA解密 3.RSA签名 RSA签名验签 4.MD5加密

  • RSA加密与签名的区别

    RSA加密:RSA密码体制是一种公钥密码体制,加密算法公开,以分配的密钥作为加密解密的关键。一般来说,在一对公私钥...

  • 前后端API交互数据加密——AES与RSA混合加密完整实例

    RSA加密、解密、签名、验签的原理及方法 前后端API交互数据加密——AES与RSA混合加密完整实例 看完这篇文章...

  • 数字证书和数字签名

    数字签名是什么?RSA算法原理(一)RSA算法原理(二)RSA数字签名与加密、解密间的关系 在网络通信中,可以通过...

  • RSA数字签名算法-Cpp-OpenSSL

    前言 RSA加密与签名是很使用率非常高的一套算法。这次工作中有需求制作一个C++版的RSA加密与签名的Demo。这...

  • RSA加密算法

    RSA加解密、签名验签過程 RSA加密是一种非对称加密,通常使用公钥加密,私钥解密,私钥签名,公钥验签。私钥是個人...

  • 计算机安全学-第四次实践作业-2018/4/17

    [new] 1、用Python或Sage实现RSA算法的加密、解密、签名/验证签名使用sage实现RSA算法进行加...

  • 加密相关

    公钥加密 私钥解密 ,私钥加密,公钥验证(签名) HTTPS -- AFSecurityPolicy RSA ...

  • 计算机安全学第四次实践作业

    1.Python实现RSA算法的加密、解密、签名/验证签名 1.1生成秘钥 1.2加密 1.3解密 1.4数字签名...

  • 财务对账

    RSA 签名 约定好加密算法和内容,给彼此公钥,相互请求时用自己的私钥签名后再发送。 添加 RSA 签名 对账业务...

网友评论

      本文标题:RSA加密与签名的区别

      本文链接:https://www.haomeiwen.com/subject/icldsxtx.html