手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

RSA 非对称加密 数字签名 数字证书

[日期:2016-11-07] 来源:Linux社区  作者:humc [字体: ]

什么是RSA加密算法

RSA加密算法是一种非对称加密算法,算法的数学基础是极大数分解难题。
RSA加密算法的强度也就是极大数分解的难度,目前700多位(二进制)的数字已经可以破解,1024位认为是比较安全的,2048则是非常安全的。

在RSA加密算法中,密钥由两部分组成,称之为公钥和私钥,私有由发送方自己保存,不能泄漏。公钥由发送方公布出去。发送方发送消息时,会用公钥对消息进行加码,接收方必须要使用对应的私钥才能将加密后的信息解开。因此,只要私钥不泄漏,通信内容就不会被破解。

如何保证消息不会被篡改

虽然使用RSA加密之后,只有持有密钥才可以解密,但是这并不能组织或者发现消息被篡改了。为了防止消息在传输过程中被篡改,引入类数字签名的概念。

数字签名

发送方在发送消息之前,会使用消息摘要算法对发送内容进行摘要,然后用私钥对摘要进行加密,加密后的内容作为数字签名随消息一起发送。接收方收到消息之后,会对消息进行解密,解密之后进行摘要计算,得到摘要。接着对数字签名进行解密,得到另一分摘要,将两份摘要进行对比,如果相同,则说明消息没有被篡改过。

数字证书

虽然RSA算法能保证消息不被破解,数字签名也能保证消息不被篡改,但是RSA算法中使用的公钥却很难有效的分发,因为公钥无法证明自己就是由发送方发出的,它也有可能是恶意的人冒名顶替分发出来的。

为了解决这种问题,需要引入第三方权威机构,发送方和接收方都应该要信任该机构,然后由该机构来给他们办法一个证书,证书包含有颁发机构信息,证书持有人信息,以及证书持有人的公钥,这些信息会使用私钥进行数字签名,这样就能够保证证书的安全。接收方收到这个证书,只要使用第三方权威机构的公钥对证书解密,即可知道证书的真伪。

本文永久更新链接地址http://www.linuxidc.com/Linux/2016-11/136806.htm

linux
相关资讯       RSA加密  RSA加密算法 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款