证书和加解密

article/2025/11/9 1:49:29

刚进公司,在实习期需要了解很多关于加解密算法和证书相关的东西,我以写博客的方式把我近1个多月了解的东西整理出来传授给大家,大家觉得可以的话请不要吝啬你们的赞。

目录

什么是PKI 

证书申请流程

加密与解密

签名认证

数字信封

数字签名

证书包含的内容

通过LDAP进行证书CRL验证和OCSP方式验证有什么区别?

常见的对称加密和非对称加密算法

四种算法模式及其各自的优缺点

电子密码本模式

密码分组链模式

密文反馈

输出反馈

base64编码原理与长度

Pkcs7、Pkcs1、attach报文、detached报文、RAW等概念

Der、 Cer、 Pfx、 Pem等相关概念

各种算法密钥长度


 

 

   什么是PKI 

PKI(Public Key Infrustructure)又称为公钥基础设施,是一种遵循既定标准的密钥管理平台,它能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系。

PKI的基础技术包括数据保护 ,数字签名 ,数据完整性验证, 抗抵赖性 , 数组信封等。

完整的PKI机构必须有以下5大系统:    

  1. 权威认证机构(CA)
  2. 注册中心(RA) 和证书存储库(LDAP)
  3. 证书管理机构/证书备份与恢复系统(KMC)
  4. 证书作废系统(CRL)
  5. 应用接口(RADS)

 

 

 

     证书申请流程

  1. First: 用户到 RA 中心申请证书
  2. Next: USBkey生成签名密钥对,同时产生 CSR 文件并发送给RA
  3. Next: RA 将用户信息以及 CSR 文件发送给 CA
  4. Next: CA 向KMC请求加密密钥,并发送签名公钥
  5. Next: KMC 生成一个对称加密密钥和一对非对称加密密钥
  6. Next:  用对称加密密钥加密非对称加密密钥的私钥
  7. Next: 再用签名公钥加密对称加密密钥
  8. Next: KMC 将  非对称加密公钥 和 加密过的私钥        和 加密过的对称密钥 发送给CA
  9. Next: CA 根据用户签名公钥和用户信息生成签名证书
  10. Next:  CA 根据加密公钥和用户信息生成加密证书
  11. Next: CA 发布证书 Next: RA下载加密证书和签名证书,已加密的私钥和已加密的对称密钥
  12. Next:  客户端下载加密证书和签名证书,已加密的私钥和已加密的对称密钥
  13. Finally:用户根据签名私钥得到对称密钥,再用对称密码得到加密私钥

 

加密与解密

        公钥加密,私钥解密

 

签名认证

       私钥加密叫做签名,公钥解密叫做认证(验签),具有抗抵赖性,不是该私钥的公钥解不了密,所以具有验证性

 

数字信封

       对称加密和非对称加密都有着自己各自的优点。
       对称加密加解密运算非常快,适合处理大批量数据,非对称密码算法公私钥分离,适合密钥分发和管理,但运算速度慢,不适合大批量处理数据。若能够将对称密码算法和非对称密码算法的优点结合起来,既能够处理大批量的的数据,又能高效的分发管理密钥,于是数字信封由此诞生。
       数字信封的原理是采用对称密码算法对大批量数据进行加密,然后采用非对称密码算法对其中的对称密钥进行加密;解密过程时,首先用非对称密码算法解密获取对称密钥,然后使用对称密钥解密数据,获取数据明文。

数字签名

       将数据明文通过Hash函数生成数字摘要,然后通过加密私钥进行加密,然后将数字摘要和数据明文一起发送给接收者,接收者只有通过发送者的公钥才能解密获取数字摘要,然后将原文通过相同的Hash函数生成摘要与获取到的摘要进行对比,如果一样就是正确的原文。

 

CRL证书作废列表的内容

 

证书包含的内容

  1. 版本号
  2. 序列号
  3. 签名
  4. 颁发者
  5. 有效期
  6. 主体
  7. 主体公钥信息
  8. 主体唯一标识符
  9. 颁发者唯一标识符
  10. 扩展

                                                        

通过LDAP进行证书CRL验证和OCSP方式验证有什么区别?

一般对于证书状态的查询,是通过LDAP协议从证书存储的目录服务器,将CRL下载到自己的机器上,再根据CRL了解证书的目前状况。但CRL自身存在着一些缺点(如:延时性,文件过大和重复下载等),OCSP就是针对这些缺点所推出的,在线证书状况协议,此协议在1999年6月为IETF所接收

描述了无需证书撤销列表(CRL)就可以决定一张数字证书当前状态的协议

常见的对称加密和非对称加密算法

常见的对称加密算法: DES , 3DES ,RC , RC4,AES等
   常见的非对称加密算法: RSA ,DSA ,ECC

 

四种算法模式及其各自的优缺点

 

  1. 电子密码本(Eletronic CoodBook, ECB)
  2. 密码分组链(Cipher Block Chaining , CBC)
  3. 输出反馈(Output FeedBack , OFB )
  4. 密文反馈( Cipher FeedBack , CFB)

电子密码本模式

      

      优点: 简单 ,有利于并行运算,误差不会被传送
         缺点: 不能隐藏明文的模式,可能对明文进行主动攻击

密码分组链模式

         

 

        优点:不容易主动攻击,安全性好于ECB,适合传输长度长的报文,是SSL,IPSec的标准
        缺点:不利于并行运算 , 误差传递,需要初始化向量IV

 

  密文反馈

     

   

    优点:

     1.隐藏了明文模式;

     2.分组密码转化为流模式;

     3.可以及时加密传送小于分组的数据;

    缺点:

     1.不利于并行计算;

     2.误差传送:一个明文单元损坏影响多个单元;

     3.唯一的IV;

 

   输出反馈

          优点:

            1.隐藏了明文模式;

            2.分组密码转化为流模式;

            3.可以及时加密传送小于分组的数据;

          缺点:

            1.不利于并行计算;

            2.对明文的主动攻击是可能的;

            3.误差传送:一个明文单元损坏影响多个单元;

base64编码原理与长度

作用: 把不可见字符转换为可见字符

都是可见字符,补位用 = 

   

 长度计算:beforeEncode为Encode之前的字符串

     if(beforeEncode.length%3!=0){ Encode.length = (beforeEncode.length/3+1)*4}

     else{  Encode.length = (beforeEncode.length/3)*4}

 

 

Pkcs7、Pkcs1、attach报文、detached报文、RAW等概念

ASN.1 抽象语法标记

ASN.1是描述在网络上传输信息格式的标准方法。它有两部分:一部分描述信息内数据,数据类型及序列格式;另一部分描述如何将各部分组成消息

标准的ASN.1编码规则有基本编码规则(BER,Basic Encoding Rules)、规范编码规则(CER,  Canonical Encoding Rules)、唯一编码规则(DER,Distinguished Encoding Rules)、压缩编码规则(PER,Packed Encoding Rules)和XML编码规则(XER,XML Encoding Rules)。为了使ASN.1能够描述一些原先没有使用ASN.1定义,因此不适用上述任一编码规则的数据传输和表示的应用和协议,另外制订了ECN来扩展ASN.1的编码形式。ECN可以提供非常灵活的表明方法,但还没有得到普遍应用。
 

PKCS#1:RSA加密标准。PKCS#1定义了RSA公钥函数的基本格式标准,特别是数字签名。它定义了数字签名如何计算,包括待签名数据和签名本身的格式;它也定义了PSA公/私钥的语法。

    
PKCS#7:密码消息语法标准。PKCS#7为使用密码算法的数据规定了通用语法,比如数字签名和数字信封。PKCS#7提供了许多格式选项,包括未加密或签名的格式化消息、已封装(加密)消息、已签名消息和既经过签名又经过加密的消息。


签名类型一共有三种,如下
1,Attach签名:
它符合PKCS#7语法标准
其特点是将  数据原文,签名证书,签名算法,签名数据 封装成签名结果,因此验签名时只需要将签名结果提交到服务器进行验证。

2,Detached签名
它符合PKCS#7语法标准
其特点是将 签名证书,签名算法,签名数据 封装为签名结果,因为不包含数据原文,因此验签名时需要将数据原文和签名结果提交到服务器进行验证。

3,RAW签名:
又称为裸签名
其特点是将签名数据封装成签名结果,因此验签名时需要将数据原文,签名证书,签名算法一起提交到服务器进行验证。

 

Der Cer Pfx Pem等相关概念

相关链接为:https://blog.51cto.com/wushank/1915795   

 PEM – Openssl使用 PEM(Privacy Enhanced Mail)格式来存放各种信息,它是 openssl 默认采用的信息存放方式。Openssl 中的 PEM 文件一般包含如下信息:

  1. 内容类型:表明本文件存放的是什么信息内容,它的形式为“——-BEGIN XXXX ——”,与结尾的“——END XXXX——”对应。

  2. 头信息:表明数据是如果被处理后存放,openssl 中用的最多的是加密信息,比如加密算法以及初始化向量 iv。

  3. 信息体:为 BASE64 编码的数据。可以包括所有私钥(RSA 和 DSA)、公钥(RSA 和 DSA)和 (x509) 证书。它存储用 Base64 编码的 DER 格式数据,用 ascii 报头包围,因此适合系统之间的文本模式传输。

DER – 辨别编码规则 (DER) 可包含所有私钥、公钥和证书。它是大多数浏览器的缺省格式,并按 ASN1 DER 格式存储。它是无报头的 - PEM 是用文本报头包围的 DER。

CER - 还是certificate,还是证书,常见于Windows系统,同样的,可能是PEM编码,也可能是DER编码,大多数应该是DER编码.证书中没有私钥,DER 编码二进制格式的证书文件

PFX/P12 - predecessor of PKCS#12,包含公钥和私钥的二进制格式证书

 

各种算法密钥长度

密码长度
加密算法密钥长度(bit)算法种类介绍
SM1128对称加密算法不公开
SM2公钥64*8=512位,私钥32*8 = 256位非对称加密基于ECC, 比2048位的RSA加密度还高
SM3----------Hash----256----

--------杂凑算法-----

消息摘要,校验结果为256位
SM4128对称加密密钥长度和分组长度均为128位
DES56对称加密奇偶验证位8位
3DES112,168对称加密

是基于DES的对称算法,使用两个独立密钥对明文运行 DES 算法三次,从而得到 112 位有效密钥强度. 双倍加密(左边8字节加密 --> 右边8字节加密 --> 左边8字节加密)

三倍加密 (左边8字节加密 --> 中间8字节加密 --> 左边8字节加密)

RC2

密码长度可变

(8-1024)

对称加密变长密钥对大量数据进行加密,比 DES 快.它的输入和输出都是64bit。密钥的长度是从1字节到128字节可变,但目前的实现是8字节(1998年)
RC4

密码长度可变

(8-2048)

对称加密不同于 DES的是,RC4 不是对明文进行分组处理,而是字节流的方式依次加密明文中的每一个字节,解密的时候也是依次对密文中的每一个字节进行解密
RC5

密码长度可变

(0 - 2040)

对称加密密钥长度和迭代轮数均可变,密码长度由参数决定
BLOWFISH

密码长度可变

(256-448)

对称加密运算速度很快, 军事级、可通过改变密钥长度调整安全性
TwoFish

支持128、196、256位的密钥长度

  
AES128(最好)、192、256对称加密,是下一代的加密算法标准,速度快,安全级别高
RSA1024(常用)、2048

非对称加密

一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的,
ECC160(最好)非对称加密椭圆曲线密码编码学
DSA1024非对称加密只能用作数字签名,是一种标准的 DSS(数字签名标准),严格来说不算加密算法,


 

 


http://chatgpt.dhexx.cn/article/7RVQUdQA.shtml

相关文章

HTTPS(对称加密+非对称加密+证书)

目录 1. 加密和解密 HTTPS工作过程 2. 对称加密 3. 对称加密 4. 既然都有非对称加密了,那为啥还要有对称加密 5. 中间人攻击 6. 引入证书 HTTPS 也是一个应用层协议. 是在 HTTP 协议的基础上引入了一个加密层. HTTP 协议内容都是按照文本的方式明文传输的. 这就导致在…

非对称加密与数字证书

文章目录 1 非对称加密2 数字签名3 数字证书4 数字签名和数字证书的区别5 CA 认证中心如何保证权威性6 HTTPS 协议7 HTTPS 与 SSL8 为什么不一直使用HTTPS 1 非对称加密 非对称加密,是指不能从加密密钥推算出解密密钥。加密密钥不需要保密,可以公开&…

安全和加密CA证书

一、介绍 1、为什么要加密 ※ 不加密流量的易受攻击性 ● 密码/数据嗅探 ● 数据操作 ● 验证操作 ● 相当于邮寄明信片 ※ 不安全的传统协议 --明文 ● telnet、FTP、POP3等等;不安全密码 ● http.smtp、…

安全-加密与证书

对称加密 在对称加密中,加密和解密使用的是同一个密钥,即:使用相同的密钥对密文进行加密和解密 比如:A和B,A和B保存同一个密钥,A使用这个密钥对明文进行加密,发送给B,B再使用这个密…

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

常用加密算法类型: 加密算法:对称加密 (可逆) 常用算法 DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合;(已…

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),即大规模并行处理,在数据库非共享集群中,每个节点都有独立的磁盘存储系统和内存系统,业务数据根据数据库模型和应用特点划分到各个节点上,每台数据节点通过专用网络或者商业通用网络互相连接,彼此协同计算,作为整体…