RSA加密为什么能保证安全

这篇具有很好参考价值的文章主要介绍了RSA加密为什么能保证安全。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题:我们都知道RSA加密是安全的,但是我们在使用的使用,怎么使用才能保证数据的安全传输呢?

一、原则:公钥机密、私钥解密、私钥签名、公钥验签

公钥私钥都可以加密和解密数据,但是因为持有公钥和私钥的人不同,在具体的使用场景中,公私钥的使用方式,也是有明确规定的。

rsa如何保证安全,安全

公钥加密/私钥解密: 因为公钥是暴露在外的,私钥确实某个人单独持有的,当使用私钥加密数据,所有持有公钥的人,都可以解密数据,那么数据就泄露了,所以正确的方式是公钥加密、私钥解密。通讯方式是两个人A和B分别持有 自己的私钥和对方的公钥,就可以进行数据的安全安全传输了

私钥签名/公钥验签: 上面说了公钥加密、私钥解密能保证数据的安全不泄密,那么私钥加密、公钥解密的作用又是什么的?当使用私钥加密数据以后,因为公钥是暴露在外的,所以任何持有公钥的人都可以解密数据,所以私钥解密不是用来做数据加密的,而是做身份验证的,因为只有持有对应公钥的人才可以解密对应私钥的数据,所以私钥是用来做签名,公钥验签确认身份的。

二、数据摘要

什么是数据摘要,什么数据摘要的作用是什么?

假设如下场景:A给B传输一段不需要加密的数据,如何保证数据的完整性呢?这里就需要用到摘要算法

rsa如何保证安全,安全

摘要算法的原理:签名算法的原理其实就是单项映射,但是运算结果是不可逆的,并且只要对原文有任何改动,经过摘要算法的得到的结果就会大为不同

好的摘要算法要具备一下特点

不可逆:只有算法、没有密钥、只能加密、不能解密

难题友好性:想要破解只能暴力枚举

发散性:只要原文有任一改动,结果就会剧烈变化

扛碰撞性:原文不同不同,计算摘要的结果也要不同

具体操作:只要在传输数据的时候将经过摘要算法得到的数据也一并发送,并且告知是采用的哪种摘要算法,另一方接收到数据以后,对原文进行相同类型的摘要算法的到结果与接收到的摘要算法的值进行比较,完全相同则证明数据是完整没有别篡改过的

三、签名

设想如下场景:A给B通过摘要算法传输一段不需要加密的数据,如果被黑客拦截并且替换成自己的明文和明文按照一定摘要算法得到的摘要,发送给B,那么B是不知道信息已经被篡改了的,那么如何保证B接收到的数据是A发送的呢?那就是用A的私钥将摘要进行加密,当B收到数据以后,使用A的公钥进行解密得到摘要,将原文进行摘要算法得到的摘要与解密的到的摘要进行比对,一致则证明数据是A发的且没有被篡改过。

rsa如何保证安全,安全

过程:

rsa如何保证安全,安全

四、数字证书

假设如下场景,A要和B通信,但是呢,C拿着自己的公钥谎称自己是A,然后和B通信,这时候B拿到的其实是C的公钥,却认为是在和A通信。这就是典型的钓鱼网站。

rsa如何保证安全,安全

那么该如何解决这个问题呢?如何保证A的公钥就是来自与A呢(公钥解密验签,拿着谁的公钥就认为在和谁通信),这就需要一个唯一的权威机构,证明A的公钥是属于A的,这个机构就是CA。用户通过填写自己的信息(包括公司名称,公钥等),由CA审核通过下发数字证书。

数字证书包含的内容:

公钥:申请证书的人上传的公钥

所有者:证书申请人

颁发者:CA

有效期:证书有效期

摘要算法类型:将公钥进行摘要使用的摘要算法的类型

指纹:生成的摘要

证书签名:使用CA的私钥进行签名以后得到的签名

证书唯一编号:证书系列号

加解密的流程:

1)加密

用户填写公钥申请证书-》CA根据具体的摘要算法计算公钥的摘要-》CA使用自己的私钥将摘要进行签名得到公钥的签名-》CA将公钥原文,摘要,签名等拼装好证书下发给用户。用户将信息进行摘要,-》将摘要进行签名-》在将原文,签名,证书一块发给B用户。

2)解密

首先得到证书,使用CA的公钥验签得到证书的摘要,再将原文用规定的摘要算法计算得到摘要,将得到的两个摘要进行比较,相同的话,则证明证书中的公钥是真的来源自A

再用证书中得到的A的公钥对,数据中的签名进行验签得到数据的摘要,和使用原文的数据进行摘要算法得到的摘要比较,相同则证明确实是A发送的数据且数据未被篡改。
rsa如何保证安全,安全

rsa如何保证安全,安全文章来源地址https://www.toymoban.com/news/detail-598466.html

到了这里,关于RSA加密为什么能保证安全的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 区块链的去中心化账本有和意义?为什么要哈希运算?如何保证数据不可篡改?

    1、中心化账本是什么? 在互联网的世界里,价值是用数字来呈现的。而数字文件是可以无限复制的,在互联网的世界数字具有易错、易改、易拷贝的特性,但是价值是不能复制的。为了解决这一难题发展为由一个中心化的机构(支付宝/微信支付/银联等)负责记账和记录账户余

    2023年04月23日
    浏览(54)
  • Kafka如何保证消息的消费顺序【全局有序、局部有序】、Kafka如何保证消息不被重复消费、Kafka为什么这么快?【重点】、Kafka常见问题汇总【史上最全】

    目录 Kafka消息生产 一个Topic对应一个Partition 一个Topic对应多个Partition Kafka消息的顺序性保证(Producer、Consumer) 全局有序 局部有序  max.in.flight.requests.per.connection参数详解 Kafka的多副本机制 Kafka的follower从leader同步数据的流程 Kafka的follower为什么不能用于消息消费 Kafka的多分区

    2024年04月11日
    浏览(51)
  • HTTPS——HTTPS如何加密数据,“证书“为什么可以应对 “中间人攻击“

    本人是一个普通程序猿!分享一点自己的见解,如果有错误的地方欢迎各位大佬莅临指导,如果你也对编程感兴趣的话,互关一下,以后互相学习,共同进步。这篇文章能够帮助到你的话,劳请大家点赞转发支持一下! HTTPS 也是一个应用层协议, 是在 HTTP 协议的基础上引入了一个加

    2024年02月15日
    浏览(48)
  • 为什么 volatile不能保证原子性

    volatile 本质上是一种内存屏障,它可以确保在 volatile 变量写操作和读操作之间不会发生重排序,这样就可以保证对 volatile 变量的修改能够立即对其他线程可见。但是, volatile 只能保证可见性,并不能保证原子性。 在 Java 中,原子性是指一个操作是不可中断的,即使在

    2024年02月15日
    浏览(53)
  • app与后台的token、sessionId、RSA加密登录认证与安全解决方案

    1.1.2 登录状态token 再仔细核对上述登录流程, 我们发现服务器判断用户是否登录, 完全依赖于sessionId, 一旦其被截获, 黑客就能够模拟出用户的请求。于是我们需要引入token的概念: 用户登录成功后, 服务器不但为其分配了sessionId, 还分配了token, token是维持登录状态的关键

    2024年04月13日
    浏览(43)
  • 如何选择 SSL证书的加密算法:RSA、ECC、SM2

    沃通CA可以提供这三种加密算法的SSL证书。 RSA、ECC、SM2。这也是目前 SSL证书涉及到的 3 种加密算法。 按照目前的使用普遍度:RSA ECC SM2 SSL证书在提交申请的时候,就会需要选择加密算法,目前使用较多的依然是 RSA,或者 RSA 和 ECC 配合使用。在某些情况下会选择 SM2 算法。

    2023年04月09日
    浏览(57)
  • TCP为什么是可靠的(怎么保证有效传输的)?

    可靠传输就是通过TCP连接传送的数据是没有差错、不会丢失、不重复并且按序到达的。TCP是通过序列号、检验和、确认应答信号、重发机制、连接管理、窗口控制、流量控制、拥塞控制一起保证TCP传输的可靠性的。 TCP保证可靠性一般有以下几种方法: 检验和:在数据传输过

    2023年04月09日
    浏览(45)
  • 如何抓住IT行业最后的红利?网络安全为什么是风口行业?

    “没有网络安全就没有国家安全”。当前,网络安全已被提升到国家战略的高度,成为影响国家安全、社会稳定至关重要的因素之一。 1、就业薪资非常高,涨薪快 2021年猎聘网发布网络安全行业就业薪资行业最高人均33.77万! 2、人才缺口大,就业机会多 2019年9月18日《中华人

    2023年04月20日
    浏览(51)
  • 【RSA】RSA加密、解密、签名与验证

    最近要做 iOS SDK 的联网授权,涉及到数据安全验证,因此想到使用 RSA 进行签名和验证。 授权主要流程如下: 1、客户方前往我方开放平台注册授权,得到 AppId 和 AppSecret 。 2、客户方集成 SDK ,调用 Register 接口传入 AppId 和 AppSecret 。 3、 SDK 将 AppId 和客户端平台相关信息提交

    2023年04月08日
    浏览(46)
  • 玩转Discord:为什么它这么吸引加密社区?

        Twitter、Telegram、Discord,目前加密货币项目和社区必备的三件套,其重要程度堪比国内所说的“两微一抖(微博、微信和抖音)”。 Twitter和Telegram国内的用户还算了解,Discord相对来说就比较陌生了,但是近一年以来,随着国内社交平台的审查收紧,NFT、DAO的盛行,Discor

    2024年02月04日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包