DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  4737 随笔 :: 2 文章 :: 542 评论 :: 1615万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

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

 

posted on   DoubleLi  阅读(274)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2022-06-08 VSCode远程调试linux环境的C程序
2022-06-08 vscode远程调试linux代码
2022-06-08 ssh用法及命令
2016-06-08 RTP协议全解析(H264码流和PS流)
2015-06-08 c/c++ define用法
2014-06-08 网络字节序与主机字节序 高低位
2013-06-08 如何解决"应用程序无法启动,因为应用程序的并行配置不正确"问题
点击右上角即可分享
微信分享提示