加密、签名、证书的基础概念和流程

article/2025/11/9 1:45:20

常用加密算法类型:

加密算法:对称加密 (可逆)

常用算法

  • DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合;(已经不安全了,)
  • 3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高;
  • AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高,支持128、192、256、512 (首选的算法)

特点

  • 指加密和解密用的是同一个秘钥。
  • 加密速度快
  • 秘钥传输过程不安全

加密算法: 非对称加密(可逆)

非对称加密算法需要两个密钥来进行加密和解密,这两个密钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)。

常用算法

  • RSA: 是一种目前应用非常广泛、历史也比较悠久的非对称秘钥加密技术,由于难于破解,RSA 是目前应用最广泛的数字加密和签名技术,比如国内的支付宝就是通过RSA算法来进行签名验证。它的安全程度取决于秘钥的长度,目前主流可选秘钥长度为 1024位、2048位、4096位等,理论上秘钥越长越难于破解,按照维基百科上的说法,小于等于256位的秘钥,在一台个人电脑上花几个小时就能被破解,512位的秘钥和768位的秘钥也分别在1999年和2009年被成功破解,虽然目前还没有公开资料证实有人能够成功破解1024位的秘钥,但显然距离这个节点也并不遥远,所以目前业界推荐使用 2048 位或以上的秘钥,不过目前看 2048 位的秘钥已经足够安全了,支付宝的官方文档上推荐也是2048位,当然更长的秘钥更安全,但也意味着会产生更大的性能开销。

特点

  • 公钥公开,私钥自己保管
  • 算法复杂,效率低于对称加密,但是更不容易被破解,通常域对称加密混合使用
  • 公钥加密 —> 私钥解密。 主要用于消息的传输
  • 私钥加密 —> 公钥解密。 主要用于数字签名和CA证书。 证书-目的是用于公钥的配送过程中防止被篡改。

加密算法:单项散列函数(Hash)(不可逆)

单向散列函数,又称单向Hash函数、杂凑函数,就是把任意长度的输入消息串变化成固定长的输出串且由输出串难以得到输入串的一种函数。这个输出串称为该消息的散列值。一般用于产生消息摘要,密钥加密等

常用算法

  • MD5SHA-1 算法已被攻破,不应该被用于新的用途;SHA-2 与 SHA-3 还是安全的,可以使用。
  • SHA-2包括:SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256。
  • SHA-3包括:SHA3-224、SHA3-256、SHA3-384、SHA3-512。

主要用于

  • 文件生产摘要,唯一值。
  • 服务器的密码保护,不直接将明文存入数据库,而是将hash后的值存入数据库。
  • 防止数据被篡改。 将传输的数据 生成散列值 后,在对散列值进行签名。 然后再接收端对签名进行校验。
  • 云盘秒传。 只要上传文件的散列值在服务器存有,就不需要上传的步骤。

特点

  • 计算速度快,适用于大文件的计算散列值
  • 不可逆,不能通过散列值反向 推导出以前的内容
  • 无论加密的对象多大,生成的加密大小是一致的

数字签名

在这里插入图片描述

消息发送者对自己发送的信息进行加密,以证明是自己发送的消息。

主要流程为:

角色:

  • 消息接受者Bob
  • 消息发送者Alice
  1. 消息发送者Alice 将 自己的公钥 发送 给 消息接受者Bob(不安全的,容易被截获)
  2. 消息发送者Alice 将 将要发送的消息用hash函数 --> 生成摘要 --> 再用自己私钥进行非对称加密(签名) --> 生成一段加密后的文字 和 原来的消息(明文) 一并发送出去 (签名+消息)
  3. 消息接受者Bob 用 Alice的公钥对签名 解密得到散列值,再同 消息本身生成的散列值进行对比,来判断消息是否完整与是否是 发送者本人发送的消息。 (解密+对比)

主要 不安全的地方在于,接受者保存的公钥并不能证明是发送者本人的公钥,如果有中间人攻击的话,可能保存的是中间人的公钥。 所以引入了证书的概念
不能证明 公钥的 所属人。
在这里插入图片描述

中间人攻击事例:

中间人 在中间,对双发的消息进行 解密后再次加密 转发。
双发都以为是在和对方聊天,其他是在和中间人直接聊天。
在这里插入图片描述

CA证书

CA证书 又名 公钥证书。 由权威机构来证明 公钥的所属人。(包含邮箱姓名和公钥等)

CA是证书的签发机构,它是公钥基础设施(Public Key Infrastructure,PKI)的核心。CA是负责签发证书、认证证书、管理已颁发证书的机关。
CA 拥有一个证书(内含公钥和私钥)。网上的公众用户通过验证 CA 的签字从而信任 CA ,任何人都可以得到 CA 的证书(含公钥),用以验证它所签发的证书。
如果用户想得到一份属于自己的证书,他应先向 CA 提出申请。在 CA 判明申请者的身份后,便为他分配一个公钥,并且 CA 将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给申请者。
如果一个用户想鉴别另一个证书的真伪,他就用 CA 的公钥对那个证书上的签字进行验证,一旦验证通过,该证书就被认为是有效的。证书实际是由证书签证机关(CA)签发的对用户的公钥的认证


在这里插入图片描述
在这里插入图片描述

拥有CA证书的发送消息过程:

  1. 消息接受者Bob 生成秘钥对, 然后将自己的公钥发送给CA机构
  2. CA机构通过一系列手段,进行验证。确认后 用CA的私钥 将Bob的公钥和其个人信息一并 进行数字签名(就是证书),然后放在仓库供使用者下载
  3. Alice从CA机构下载得到Bob的证书, 然后用CA的公钥进行解密验证。 验证成功后得到 Bob的公钥
  4. 消息发送者Alice 将 将要发送的消息用hash函数 --> 生成摘要 --> 再用Bob的公钥进行非对称加密 --> 生成一段加密后的文字 和 原来的消息(明文) 一并发送出去
  5. 消息接受者Bob 用 自己的私钥对密文 解密得到散列值,再同 消息本身生成的散列值进行对比,来判断消息是否完整与是否是 发送者本人发送的消息。

疑问:
数字签名中:步骤2 是用的 自己的私钥进行签名的。
CA证书中: 步骤4 是用的 Bob的公钥进行加密的。

参考:
百度百科
MJ的资料


http://chatgpt.dhexx.cn/article/cGhsGyVJ.shtml

相关文章

ssl证书加密方式有哪些?

SSL证书是HTTP明文协议书升级HTTPS加密协议必需的ca证书。ssl证书主要是通过https加密方式实现网站及用户的安全性。那么,你可知道ssl证书加密方式有哪些?一起来看看。 ssl证书加密方式有哪些 ssl证书加密方式1.Base64位数据加密(可加密解密…

RK-MPP硬件编解码库介绍和使用

一、下载RK-MPP硬件编解码库 下载链接:https://github.com/rockchip-linux/mpp 二、RK-MPP库介绍 1、资料来源:MPP 开发参考.pdf 2、MPP说明 MPP(Media Process Platform )是rk提供的一款硬件编解码库,为用户空间屏蔽…

第二季1:MPP模块概述

以下内容源于海思官方文档内容,如有侵权请告知删除。 一、MPP模块概述 海思的媒体处理软件平台(MPP,Media Process Platform)有利于应用软件的快速开发。因为该平台屏蔽了一些与芯片相关的复杂的底层处理,给应用软件提…

从系统架构角度出发,服务器该如何分类?MPP 是什么?

写在前面 本文隶属于专栏《100个问题搞定大数据理论体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和文献引用请见100个问题搞定大数据理论体系 解答 从系统架构来…

区分一下cluster、MPP、SMP和SSMP

最近学习GA库,发现应当对多种计算机架构进行区分,故查阅资料,总结如下 MPP(Massive Parallel Processing),每个 现在有多种架构需要区分 MPP (Massive Parallel Processing)clusterSMP(Symmet…

MPP 与 Hadoop是什么关系?

链接:https://www.zhihu.com/question/22037987/answer/106984010 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 1. hadoop(hive)跟mpp的本质区别是什么,这个有的时候界限很模糊,比…

RKMPP库快速上手--(四)MPP编码入门

首先,了解MPP编码之前,先了解一下MPP的MPI接口。 1、MPI接口结构 MPP设计的MPI接口,下面的图都来自于官方参考文档: MppMem:C库malloc内存的封装; MppBuffer:dmabuf内存的封装; MppPacket:一维缓存封装,可以从MppMem、MppBuffer生成,用来表示码流数据; MppFram…

MPP数据库初识

MPP数据库初识 先了解下OLTP与OLAP区别为什么需要MPP数据库?MPP数据库应用领域什么是MPP?MPP架构特征MPPDB架构什么是MPP数据库?MPP数据库的使用场景?MPPDB、Hadoop与传统数据库技术对比与适用场景 先了解下OLTP与OLAP区别 OLTP(…

MPP架构,SMP架构,NUWA架构

MPP架构 随着分布式、并行化技术成熟应用,MPP引擎逐渐表现出强大的高吞吐、低时延计算能力,有很多采用MPP架构的引擎都能达到“亿级秒开 MPP是由多台SMP服务器通过一定的节点互联网络进行连接,协同工作,完成相同的任务&#xff0…

MPP架构是什么?看这一篇就行了。。

文章目录 MPP是什么SMP- Symmetric Multi-Processor 对称多处理器结构NUMA -Non-Uniform Memory Access 非一致存储访问结构MPP -Massive-Parallel Processing 海量并行处理架构 MPP DB- Share Disk- Share Nothing 典型MPP DBGreenplumTeradataImpalaPrestoElasticSearchVerti…

MPP数据库

MPP数据库定义 MPP即大规模并行处理(Massively Parallel Processor )。 在数据库非共享集群中,每个节点都有独立的磁盘存储系统和内存系统,业务数据根据数据库模型和应用特点划分到各个节点上,每台数据节点通过专用网…

MPP数据库简介及架构分析

目录 什么是MPP?特性并行处理超大规模 数据仓库真正适合什么典型的分析工作量数据集中化线性可伸缩性 MPP架构技术特性数据库架构分析Shared EverythingShared DiskShare MemoryShared NothingShared Nothing数据库架构优势 什么是MPP? MPP (Massively P…

什么是MPP数据库?

大规模并行分析(MPP)数据库(Analytical Massively Parallel Processing (MPP) Databases)是针对分析工作负载进行了优化的数据库:聚合和处理大型数据集。MPP数据库往往是列式的,因此MPP数据库通常将每一列存…

MPP数据库简介

1、先了解下OLTP与OLAP区别 OLTP(OnLine Transaction Processing ,联机事务处理)系统 例如mysql。擅长事务处理,在数据操作中保持着很强的一致性和原子性 ,能够很好的支持频繁的数据插入和修改 ,但是,一旦数据量过大…

MPP(大规模并行处理)

1、 什么是MPP? MPP (Massively Parallel Processing),即大规模并行处理,在数据库非共享集群中,每个节点都有独立的磁盘存储系统和内存系统,业务数据根据数据库模型和应用特点划分到各个节点上,每台数据节点通过专用网络或者商业通用网络互相连接,彼此协同计算,作为整体…

MPP架构

MPP架构 0x01 摘要 本文综合各家看法,再加上个人理解,介绍下对MPP架构的理解以及一些其他架构的对比。 0x02 MPP架构基本概念 2.1 什么是MPP MPP,全称为Massively Parallel Processor,翻译过来就是大规模并行处理。MPP系统是由…

MPP(大规模并行处理)简介

1、 什么是MPP? MPP (Massively Parallel Processing),即大规模并行处理,在数据库非共享集群中,每个节点都有独立的磁盘存储系统和内存系统,业务数据根据数据库模型和应用特点划分到各个节点上,每台数据节…

基于WiFi的Android局域网即时通讯软件

基于WiFi的Android局域网即时通讯软件,通过自建WiFi热点的方式与其他移动设备进行通信,实现了文字聊天、语音留言、文件互传等功能,满足基本的日常使用需求。 下载地址:http://www.devstore.cn/code/info/670.html 运行截图&…

基于WiFi的Android局域网即时通讯软件——Android源码

基于WiFi的Android局域网即时通讯软件 基于WiFi的Android局域网即时通讯软件,通过自建WiFi热点的方式与其他移动设备进行通信,实现了文字聊天、语音留言、文件互传等功能,满足基本的日常使用需求。 下载地址:http://www.devstore.…

局域网即时通讯软件_企业即时通讯软件需要符合哪些要求?

随着网络信息的发展,市面上出现了大量的企业即时通讯软件,旨在帮助企业打通信息化的道路。很多企业不知道该如何正确选择一款符合要求的通讯软件,选择的标准应该从哪些方面入手。下面企达小编为大家详细介绍一下。 1、数据安全性 企业的商业部…