加密/解密--数字信封/数字签名/数字证书

what

加密

加密:加密就是对原来为明文的文件或数据按某种算法进行处理,使其成为一 段不可读的代码,通常称为 “密文”。从而达到保护数据不被非法窃取的目的。

解密

数据加密的逆向过程,将加密的数据转换为明文

加/解密工作机制

对称密钥算法(共享密钥算法)

---使用同一个密钥对数据进行加密和解密

这就意味着对称加密技术要通信双方需要事先共享相同的密钥,若攻击者得到私钥就能截获密文直接读取明文

用户A和用户B协商好对称密钥后,加解密过程如下:

① 用户A使用对称密钥将明文加密,并将密文发送给用户B。

② 用户B收到密文后,用对称密钥对密文进行解密,得到最初的明文。 

非对称密钥算法(公钥密钥算法)

----每个用户都要两个密钥:对外界所有人公开的公钥,只有自己知道的私钥

前者用于加密,后者用于解密

发送方以接收方的公钥 作为加密密钥,接收方使用自己的私钥作为解密密钥

① 用户A使用用户B的公钥对明文加密,并将密文发送给用户B。

② 用户B收到密文后,用自己的私钥对密文进行解密,得到最初的明文 

衍生技术

数字信封--双重加密保障

发送方A首先利用对称密钥加密要发送给接收方B的明文,再利用B的公钥加密对称密钥。被接收方公钥加密后的对称密钥被称为数字信封(这个信封里的内容是对称密钥加密过的明文)

----B收到A发来的信息,必须先用自己私钥解密数字信封,得到对称密钥,才能利用对称密钥解密收到的信息

① 用户A使用对称密钥对明文加密,生成密文。

② 用户A使用用户B的公钥加密对称密钥,生成数字信封。

③ 用户A将数字信封和密文信息一起发送给用户B 。

④ 用户B接收到用户A发送的加密信息后,使用自己的私钥打开数字信封,得到对 称密钥。

⑤ 用户B使用对称密钥对密文进行解密,得到最初的明文。

数字认签名---验证接收方明确数据没被篡改

发送方不仅通过非对称加密技术对明文加密,并且为了保证接收方能验证数据没被篡改(完整性)会将明文直接进行哈希技术得到摘要(不可逆性)。

接收方解密密文后,为验证内容完整性用相同的哈希算法来对解密得到的明文进行哈希计算生成摘要值。若B生成的摘要值与A发送的摘要值相同则证明内容没有被篡改。

① 用户A使用用户B的公钥对明文加密,生成密文。

② 用户A使用哈希算法对明文进行哈希计算,生成摘要信息。

③ 用户A使用自己的私钥对摘要信息进行加密,生成数字签名。

④ 用户A将密文和数字签名一起发送给用户B。

⑤ 用户B使用用户A的公钥对数字签名进行解密,得到摘要信息。

⑥ 用户B接收到用户A的加密信息后,使用自己的私钥对密文进行解密,得到最初 的明文。

⑦ 用户B使用与用户A相同的哈希算法对明文进行哈希计算,生成摘要信息。

⑧ 用户B将生成的摘要信息与从A收到的摘要信息进行比对。

• 如果一致,表示明文未经过篡改,则接受明文。

• 如果不一致,表示明文被篡改过,则丢弃明文。 

数字证书---验证公钥来源的可靠性

若攻击者直接将B存储的A的公钥更改为自己的公钥,这样攻击者发送伪造的信息给B,B能正常解密读取,但是在B看来这些信息都是A正常发送的。

为了确保公钥来源的可靠性, 公钥需要经过权威机构CA (Certificate Authority,证书颁发机构)认证后,才能被认为是可靠的

数字证书机构充当了第三方可信的中介,验证证书持有人的身份并签署证书,从而保证公钥的有效性。这样,其他用户可以通过验证证书的签名来确保公钥的真实性和完整性,从而建立起安全的通信。

PKI

PKI(Public Key Infrastructure,公钥基础设施)是一种通用性的安全基础设施,它利用公钥理论和技术来实现并提供信息安全服务。在通信过程中,通过PKI可以实现身份认证、信息保密、数据完整性校验和 不可否认性保障。

配置PKI的目的就是为指定的PKI实体向CA申请一个本地证书,并由PKI实体(终端)对本地证书的有效性进行验证。

 

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

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

相关文章

C语言队列的含义与队列数据操作代码详解!

引言:于本篇博客当中,我们将讲到数据结构——队列的有关知识。而对于这次的队列,我们将会在单链表的基础上实现。 更多有关C语言和数据结构知识详解可前往个人主页:计信猫 一,队列的含义 队列是一种特殊的线性表&#…

使用 SSH 连接 GitHub Action 服务器

前言 Github Actions 是 GitHub 推出的持续集成 (Continuous integration,简称 CI) 服务它提供了整套虚拟服务器环境,基于它可以进行构建、测试、打包、部署项目,如果你的项目是开源项目,可以不限时使用服务器硬件规格&#xff1…

DrissionPage

声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!本文章未经许…

Java请求第三方接口的一些步骤

一、前言 Java请求第三方接口的一些步骤。 在Java中请求第三方接口通常涉及以下步骤。这些步骤涵盖了从准备请求到处理响应的整个过程。 1. 确定接口详情 接口URL:你要请求的URL。请求方法:如GET、POST、PUT、DELETE等。请求参数:包括URL…

微型显示器可以实时监测大脑活动

美国团队开发基于LED的设备,以可视化大脑活动,在脑外科手术中指导神经外科医生 来自加州大学圣地亚哥分校和马萨诸塞州总医院的工程师和医生开发了一种薄膜显示设备,该设备结合了电极网格和特殊的GaN LED,可以在手术过程中实时跟…

多线程学习Day07

共享模型之不可变 从一个日期转换的问题开始 Slf4j(topic "c.Test1") public class Test1 {public static void main(String[] args) {SimpleDateFormat sdf new SimpleDateFormat("yyyy-MM-dd");for (int i 0; i < 10; i) {new Thread(() -> {…

buuctf-misc题目练习二

ningen 打开题目后是一张图片&#xff0c;放进winhex里面 发现PK&#xff0c;PK是压缩包ZIP 文件的文件头&#xff0c;下一步是想办法进行分离 Foremost可以依据文件内的文件头和文件尾对一个文件进行分离&#xff0c;或者识别当前的文件是什么文件。比如拓展名被删除、被附加…

元素设置 flex:1,但是会被内部长单词宽度超出拉伸

初始布局如上图&#xff0c;left中是代码编辑器&#xff0c;实际上是个文本域&#xff0c;当输入长文本过长时&#xff0c;left宽度会被拉伸。 右侧容器被挤压。 解决方案&#xff1a;width&#xff1a;0&#xff1b; .left{flex:1; width:0} 当输入长文本过长时&#xff0c…

保姆级零基础微调大模型(LLaMa-Factory,多卡版)

此处非常感谢https://github.com/hiyouga/LLaMA-Factory这个项目。 看到网上的教程很多都是教如何用webui来微调的,这里出一期命令行多卡微调教程~ 1. 模型准备 模型下载比较方便的方法: 1. modelscope社区(首选,速度很高,并且很多需要申请的模型都有)注意要选择代码…

HTML4(二)

文章目录 1 开发者文档2 基本标签2.1 排版标签2.2 语义化标签2.3 行内元素与块级元素2.4 文本标签2.5 常用标签补充 3 图片标签4 超链接标签4.1 跳转页面4.2 跳转文件4.3 跳转锚点4.4 唤起指定应用 5 列表5.1 有序列表5.2 无序列表5.3 自定义列表 6 表格6.1 基本结构6.2 表格标…

【Android】Kotlin学习之数据容器(数组创建)

kotlin数组 数组是一种初始化时指定容器大小, 不可以动态调整其大小的容器 数组创建

WPF之改变任务栏图标及预览

1&#xff0c;略缩图添加略缩按钮。 <Window.TaskbarItemInfo><TaskbarItemInfo x:Name"taskInfo" ProgressState"None" ProgressValue"0.6" ><TaskbarItemInfo.ThumbButtonInfos><ThumbButtonInfo x:Name"btiPlay&q…

雷伴品鉴【神农式】倪琴 倪诗韵古琴

雷伴品鉴【神农式】倪琴 倪诗韵古琴 此琴材质为老杉木音色细腻&#xff0c;下指按弹舒适&#xff0c;手感极好漆面精美&#xff0c;线条流畅。

OpenCV4.8 VS2019 MFC编程出现的诡异现象

OpenCV4.8及OpenCV4.4 VS2019MFC编程在调用imred&#xff08;&#xff09;函数时&#xff0c;debug X64试运行没问题。 release X64试运行时出现下面错误。 void CEasyPictureDlg::OnBnClickedOpen() {CFileDialog fdlg(TRUE, NULL, 0, OFN_HIDEREADONLY | OFN_OVERWRITEPROMP…

私人健身教练预约管理小程序开发源码现成案例(小程序+APP+H5 源码部署)

一、私人健身教练预约管理系统-环境介绍 1.1 私人健身教练预约管理系统-运行环境 开发语言&#xff1a;PHP 数据库&#xff1a;MySQL 系统架构&#xff1a;TP 后端&#xff1a;SpringBoot 前端&#xff1a;Vue 2. 私人健身教练预约管理系统-系统介绍。 2.1私人健身教练预约管…

EasyExcel导出带自定义下拉框数据的Excel模板

文章目录 前言&#x1f4dd;一、导入依赖二、创建导出工具1.创建模板实体类2.创建自定义注解3.添加动态选择接口4.EasyExcelUtil工具类 三、导出、导入Excel接口1.导出接口2.导入接口3.导出结果 总结 前言&#x1f4dd; 在项目中导入excel时需要通过下拉框选择值传入&#xff…

【websocket-客户端可视化工具】

postman 新版postman (版本v11以上) &#xff0c;除了http协议&#xff0c;还支持了Websocket&#xff0c;MQTT&#xff0c;gRPC等多种连接协议&#xff0c;可以作为多种协议的客户端&#xff0c;使用起来非常方便。 使用 服务端代码 这里以websocket协议举例&#xff0c;代…

基于51单片机的八路抢答器—加随机抽选功能

基于51单片机的八路抢答器 &#xff08;仿真&#xff0b;程序原理图&#xff0b;设计报告&#xff09; 功能介绍 具体功能&#xff1a; 1.主持人按键控制开始抢答&#xff1b; 2.开始抢答按下&#xff0c;数码管20秒倒计时&#xff1b; 3.8个按键代表八位选手&#xff0c;谁…

视频降噪算法 hqdn3d 原理分析

视频降噪 视频降噪是一种处理技术&#xff0c;旨在减少视频中的噪声&#xff0c;提高画面质量。噪声可能来自多种源头&#xff0c;包括摄像机的传感器、压缩算法、传输过程中的干扰等。降噪处理对于视频监控、视频会议、电影后期制作以及任何需要高画质输出的应用场景都非常重…

今天又发现一个有意思的问题:SQL Server安装过程中下载报错,证明GPT是可以解决问题的

我们在安装数据库的时候&#xff0c;都会有报错问题&#xff0c;无论是Oracle、SQL Server、还是MySQL&#xff0c;都会遇到各种各样的报错&#xff0c;这归根到底还是因为电脑环境的不同&#xff0c;和用户安装的时候&#xff0c;操作习惯的不一样导致的问题。今天的问题是&am…