RSA加密为什么能保证安全

news2024/12/28 11:05:34

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

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

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

[刘勇超 > RSA加密如何应用才能保证安全 > image2023-3-29_16-9-42.png]

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

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

二、数据摘要

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

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

[刘勇超 > RSA加密如何应用才能保证安全 > image2023-3-29_16-10-7.png]

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

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

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

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

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

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

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

三、签名

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

[刘勇超 > RSA加密如何应用才能保证安全 > image2023-3-29_16-10-40.png]

过程:

在这里插入图片描述

四、数字证书

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

在这里插入图片描述

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

数字证书包含的内容:

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

所有者:证书申请人

颁发者:CA

有效期:证书有效期

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

指纹:生成的摘要

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

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

加解密的流程:

1)加密

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

2)解密

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

再用证书中得到的A的公钥对,数据中的签名进行验签得到数据的摘要,和使用原文的数据进行摘要算法得到的摘要比较,相同则证明确实是A发送的数据且数据未被篡改。
在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/496061.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Elsevier】中科院2区TOP, 高被引119篇, 稳定检索22年, 1周可见刊,5月15截稿~

一、【期刊简介】 中科院2区软计算类SCI (TOP) 【期刊概况】IF:8.0-9.0, JCR1区, 中科院2区; 【终审周期】走期刊部系统,3-5个月左右录用; 【检索情况】SCI&EI双检;正刊; 【数据库收录年份】2001年&#xff1…

【测试】概念篇

目录 🌟一、了解软件测试 🌈1、什么是软件测试 🌈2、软件测试与开发的区别(常考) 🌈3、一个优秀的软件测试人员应该具备的素质 🌟二、需求与测试用例、软件错误,软件生…

一旦80%的开发人员都开始利用ChatGPT提升工作效率后,挑战与机遇在哪里?

其实我现在已经开始逐渐开始喜欢上ChatGPT了,上班时间摸摸鱼,和ChatGPT畅谈一下理想,遇见一些不太熟练的代码也懒得去上网查了,直接问一问ChatGPT,然后自己再放置到自己的代码里,改一改,很完美。…

快递出入库管理APP开发 收发快递更方便

网购的盛行让收发快递成为很多人日常生活必不可少的一个环节,对于快递公司来说,每天有那么多的快递,如果没有一个好用的管理系统的话,不仅麻烦还很容易出现纰漏,所以快递出入库管理APP软件就显得很必要了。 快递…

python-imageio库简单使用

目录 imread_v2() get_reader() 使用imageio方法将彩色视频变为黑白视频 相关:python-动图制作及分解_觅远的博客-CSDN博客 imageio是一个用于读取和写入图像及视频数据的库,支持多种格式,且可以使用NumPy数组进行操作。常用方法&#xff…

JS逆向 -- 某平台登录加密分析

一、打开网站,使用账号密码登录 账号:aiyou123.com 密码:123456 二、通过F12抓包,抓到如下数据,发现密码加密了 三、加密结果是32位,首先考虑是md5加密。 四、全局搜索pwd,点击右上角&#xf…

C# 纯text文本字符添加上下角标

工作的需求,需要在GridView列HeaderText中插入带入带有上标和下标的字符串,比如这样的一个字符串:。。 解决办法:使用转义字符加Unicode的NumEntity就可以实现了。定义字符串如下:"O"。其中O为 。 实现&…

Linux系统目录树结构以及解释

FHS标准 Filesystem Hierarchy Standard(文件系统层次化标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。FHS定义了系统中每个区域的用途、所需要的最…

rk平台调试音频(从驱动到apk)

需要实现的功能: 输入:hdmiin、uvc、mic可以实时切换 输出:耳机和HDMI OUT同时输出声音 这里注意:mic是存在hedset情况,4节耳机,即可输出又可输出同时进行 开发情况: 一、先熟悉大致的Andro…

【24】核心易中期刊推荐——图像处理研究大数据及智能处理研究

🚀🚀🚀NEW!!!核心易中期刊推荐栏目来啦 ~ 📚🍀 核心期刊在国内的应用范围非常广,核心期刊发表论文是国内很多作者晋升的硬性要求,并且在国内属于顶尖论文发表,具有很高的学术价值。在中文核心目录体系中,权威代表有CSSCI、CSCD和北大核心。其中,中文期刊的数…

springboot内嵌tomcat文件上传路径不存在问题原因

错误提示: 临时文件目录被删除,导致文件上传报错,我们使用的是linux系统,10天没有使用,就会被删除 代码: 解决办法: 配置文件中自定义临时文件上传目录 server:port: 9090tomcat:basedir: /crm/tmp 特殊情况: 当我上传小文件的时候可以上传成功,大文件的时候上传失败 猜测可…

利用Linux的corntab定时任务和shell脚本,解决傻妞卡死、发信息没反应、一直卡在即将重启、查询数据异常等问题

利用Linux的corntab定时任务和shell脚本,解决傻妞卡死、数据异常等问题 安装corntab创建shell脚本添加corntab定时任务 原理 定时杀死傻妞进程,并自动重启傻妞 安装corntab Linux crontab是用来定期执行程序的命令。 CentOS安装命令如下 yum -y insta…

【Android -- 开发工具】Source Insight 4.0 安装和使用教程

简介 Source Insight 工具是一款功能强大的代码阅读器,它能使大量的代码产生联系,方便阅读,而且支持各种语言的程序代码。 安装 & 激活 1. 下载 下载地址 直接点击下载即可,我下载的是 4.0 版本。 然后按照步骤安装完成即…

chatGPT给出Python time.sleep()假死(挂起)的解决办法

1. time.sleep()假死(挂起)的原因与解决办法 最近,使用chatGPT帮着写程序,完成通过API获取天气数据的程序,运行起来后出现了状况:莫名其妙的的假死(程序被挂起来,不执行了&#xff…

项目结构如何改造(利用RuoYi-Vue脚手架开发一个健身房会员管理系统,改造项目结构)

项目结构如何改造(利用RuoYi-Vue脚手架开发一个健身房会员管理系统,改造项目结构) 1. 全局查找替换(Ctrl Shift R)2. 全局查找替换版本号3. 全局查找替换模块名4. 修改项目名5. ShiftF6 重命名模块6. ShiftF6 重命名…

Nginx配置使用GeoIP2模块

一、Nginx简介 Nginx(engine x)是一个免费的、开源的、高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个…

不废话!CentOS 8 安装docker的详细过程

目录 1.更新系统 2. 安装依赖包 3.添加 Docker YUM 仓库 4.安装 Docker 5.启动 Docker 6.设置 Docker 开机自启 7.测试 Docker 1.更新系统 dnf update 这里直接输入y,耐心等待更新即可 直到看到complete表示更新完毕 2. 安装依赖包 Docker 需要一些依赖包才能正常…

什么是工业互联网?5G到底能在工业互联网中承担哪些重任呢?

一. 从消费互联网到工业互联网 在这个互联网如我们生活中的水和电一样无孔不入的时代,不能联网的设备是可耻的。它们像是一个一个的信息孤岛,原始而静寂。 然而50年前,这样的信息孤岛却是这个世界的常态,直到美国阿帕网的诞生…

运营-7.内容模型

在内容产品生态中,核心就是内容,内容驱使着所有的角色运转。具体而言,在整个生态模型中,内容的链条从上游 到下游的环节如下: PGC(Professionally-generated Content)专业生产内容 传统的门户…

最强无监督单目深度估计Baseline--MonoViT--简介与代码复现

1. 无监督单目深度估计 单目深度估计是指,借助于深度神经网络,从单张输入视图中推理场景的稠密深度信息;该技术可以广泛用于自动驾驶、虚拟现实、增强现实等依赖于三维场景感知理解的领域,同时也可以为其他视觉任务提供多模态深度…