密码学基础--搞清RFC和PKCS(2)

目录

1.引入

​2. RFC是什么

3. PKCS是什么

4.小结


1.引入

 老规矩,先从RFC是什么开始说起

​2. RFC是什么

RFC是“Request for Comments”的缩写,本身它是一系列文件,描述了互联网的各种协议、技术规范、方法。它们由互联网工程任务组(IETF)发布,并由网络社区进行讨论和审查。

RFC最初是作为IETF工作文档和标准的一种形式,但后来成为了一个广泛接受的标准和参考文档的集合。每个RFC都有一个唯一的数字标识符,例如

  • RFC5280 : Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile

  • RFC5958 : Asymmetric Key Packages

  • RFC8017 : PKCS #1: RSA Cryptography Specifications Version 2.2

有了这个基本概念,问题紧跟着就来了,PKCS是啥?

3. PKCS是什么

PKCS 全称 Public key cryptography standards,是一组标准协议,截至目前编号从1到15。制定这些标准是为通过公钥基础设施(PKI)进行的所有通信提供了一个框架和结构。它们提供了抽象的语法和算法细节,可以跨不同的技术进行调整。

先汇总如下:

PKCS #1 –

RSA cryptography standard

基本标准,用于定义公钥和私钥的语法、消息和数字签名的格式、用于每个级别的加密和解密的不同算法以及数字证书的格式该标准在2012年重新发布为RFC 8017

PKCS #2 –RSA message digest standard

创建和加密消息摘要,在2010年被撤销,与PKCS#1合并

PKCS #3 – Diffie-Helman key agreement standard

密钥协商,定义了DH密钥交换标准

PKCS #4 – RSA key syntax standard

RSA所使用的key语法,2010年被撤销,与PKCS#1合并

PKCS #5 – Password-based cryptography standard 

定义了密码的加密标准,如PBKDF2(Password-Based Key Derivation Function 2)算法。

同时也发布为RFC 2898

PKCS #6 – Extended-certificate syntax standard

提供用于扩展和修改数字证书中建立属性的语法;这个标准在X.509的第三个版本中被撤销

PKCS #7 – Cryptographic message syntax standard

指定存储的加密数据的语法。证书颁发机构使用pkcs# 7来存储它们颁发的数字证书。

同时发布为RFC 2315

PKCS #8 – Private key information syntax standard

定义私钥的语法,通常与PKCS#5使用密码和盐值来存储私钥,发布为RFC 5208

PKCS #9 – Selected attribute types standard

定义了证书、签名和私钥所需的数据类型、长度和其他属性细节,但不提供证书的格式或密钥本身

PKCS #10 – Certification request syntax standard

定了发送给证书颁发机构(CA)请求数字证书的消息的格式,也称为证书签名请求。

PKCS #11 – Cryptographic token interface standard

定义了密钥Token接口,可以被Token生成器所使用

PKCS #12 – Personal information exchange syntax standard

定义了私钥、公钥证书的存储方式,个人信息交换语法等

PKCS #13 – Elliptic curve cryptography standard

定义了椭圆曲线的加密标准

PKCS #14 – Pseudo-random number generation standard

伪随机数生成标准

PKCS #15 – Cryptographic token information format standard

定义了存储在加密令牌(如集成电路卡)上的加密凭证的格式

4.小结

可以看到,PKCS和RFC尽管是由不同的组织发布并服务于不同的目的,但它们之间关系是比较密切的。

  1. PKCS

    • PKCS由RSA安全公司(现在是威瑞森公司的一部分)开发和维护。

    • PKCS是一系列标准,旨在定义和推广公钥密码学方面的算法、协议和格式。

    • PKCS标准通常与加密、数字签名、数字证书等安全技术相关。

    • PKCS标准的制定是由RSA安全公司根据自己的需求和标准制定过程来完成的。

  2. RFC

    • RFC由IETF(Internet Engineering Task Force)发布。

    • RFC是一系列文档,旨在描述和定义互联网协议、技术规范和最佳实践。

    • RFC文档涵盖了广泛的主题,包括网络协议、安全协议、标准化过程等。

    • RFC文档的制定是由IETF社区成员共同参与、讨论和审查的结果。

因此,尽管它们服务于不同的目的,但PKCS和RFC之间的交叉影响是可能的,特别是在公钥密码学和网络安全领域。

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

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

相关文章

rocketmq面试

broker主从复制机制 同步复制: 等Master和Slave均写成功后,才反馈给客户端写成功状态; 如果Master出故障, Slave上有全部的备份数据,容易恢复,但是同步复制会增大数据写入延迟,降低系统吞吐量。…

DDD之DP对象的应用

定义 在领域驱动设计(Domain-Driven Design,DDD)中,“Domain Primitive”(领域原语)是指领域模型中的基本数据类型或值对象,它们代表了业务领域中的最基本的、不可分割的数据元素。Domain Prim…

Linux系统常见20问题及处理方法(涵盖了安装、配置、使用、维护等方面)

一、系统启动问题 1. 无法启动系统 示例: 开机后出现黑屏或无法进入登录界面。 可能原因: 硬件故障: 电源故障:电源线未连接或电源损坏。内存故障:内存条松动或损坏。主板故障:主板损坏。显卡故障:显卡损坏。GRUB引导菜单错误: 引导菜单配置错误:引导菜单中没有可引导的…

Linux第86步_了解“阻塞和非阻塞IO”以及相关处理函数

1、IO “应用程序”对“驱动设备“进行输入/输出操作,简称IO操作,它是Input和Output的缩写。 2、阻塞IO 阻塞IO是“应用程序”对“驱动设备”进行操作,若不能获取到设备资源,则阻塞IO应用程序的线程会被“挂起”,直到…

使用LNMP部署动态网站环境

目录 实验环境 一、配置LNMP架构环境 二、验证部署的LNMP 动态网站环境是否可用 三、配置过程中遇到的问题及解决思路 实验环境 centos7 192.168.81.131/24 一、配置LNMP架构环境 概念及配置手册参考第20章 使用LNMP架构部署动态网站环境。 | 《Linux就该这么学》 安装g…

Java编程练习之接口的声明及实现

1.创建老师类和学生类,两个类都实现了问候接口和工作接口,模拟上课的场景,运行效果如下: package Zaria; interface hello{public void speak(); } interface work{public void dowork(); } class Student implements hello,work{…

PCL 基于马氏距离KMeans点云聚类

文章目录 一、简介二、算法步骤三、代码实现四、实现效果参考资料一、简介 在诸多的聚类方法中,K-Means聚类方法是属于“基于原型的聚类”(也称为原型聚类)的方法,此类方法均是假设聚类结构能通过一组原型刻画,在现实聚类中极为常用。通常情况下,该类算法会先对原型进行初始…

嵌入式与移动物联网开发教程和案例

一、嵌入式与移动物联网概述 嵌入式系统是指嵌入到设备中的专用计算机系统,用于控制、监视或辅助设备操作。而移动物联网则是指通过物联网技术将各种智能设备与互联网连接起来,实现设备之间的互联互通和智能化管理。嵌入式与移动物联网技术的结合&#…

深入剖析Cargo缓存机制

一、介绍 Cargo作为Rust的包管理工具,不仅在项目构建中扮演了重要的角色,其高效的缓存机制也为Rust开发者节省了大量的时间。本文将深入探讨Cargo的缓存原理和使用技巧,并提供丰富的示例让你轻松掌握Cargo缓存的管理和优化。 二、Cargo缓存…

相位校正啊

相位校正是信号处理中的一种常见技术,用于确保多个信号在相位上对齐,这对于后续的信号分析和处理至关重要。在处理三相信号时,相位校正尤为重要,因为它可以保证三相之间的相位关系准确,从而正确分析信号特性和检测问题…

MongoDB聚合运算符:$pow

文章目录 语法使用 举例 MongoDB聚合运算符&#xff1a; p o w ‘ pow pow‘pow聚合运算符用于求数字指定的指数并返回结果。 语法 { $pow: [ <number>, <exponent> ] }参数说明&#xff1a; <number>表达式可以是任何可解析为数值的表达式<exponent&g…

golang 协程题目

都是一个货色&#xff0c;要么使用无缓冲channel, 要么使用有缓冲chanwaitgroup等待协程退出&#xff0c;或者使用全局变量判断是否终止协程 2个协程交替打印奇数和偶数 无缓冲channel实现 package mainimport "fmt"func main() {maxval : 10ch1 : make(chan stru…

python——双下划线

一、名称修饰&#xff08;Name Mangling&#xff09; 在Python中&#xff0c;当你在一个类中定义一个方法&#xff0c;其名称以两个下划线 __ 开头但不以两个下划线结尾时&#xff08;例如&#xff1a;__private_method&#xff09;&#xff0c;Python会对这个方法名进行名称修…

gitee如何新建仓库并用小乌龟上传代码

目录 1.登录并注册gitee账号 2.创建新仓库 3.填写仓库信息 4.初始化本地仓库 5.上传数据 7.gitee官网查看上传文件 8.如何安装小乌龟 1.登录并注册gitee账号 2.创建新仓库 登录后&#xff0c;点击页面右上角的「」按钮&#xff0c;选择「新建仓库」。 3.填写仓库信息 …

@JvmDefaultWithout/WithCompatibility

JvmDefaultWithoutCompatibility JvmDefaultWithCompatibility 使用 JvmDefaultWithoutCompatibility Used only with -Xjvm-defaultall-compatibility. JvmDefaultWithCompatibility Used only with -Xjvm-defaultall. 区别 前置知识 当一个接口包含默认方法&#xff0…

入门Adaptive AUTOSAR(一) -- 为什么要提Adaptive(1)

目录 1.Adaptive AUTOSAR 1.1 AUTOSAR的由来 1.2 AUTOSAR的方法论 1.3 Why Adaptive 2.小结 1.Adaptive AUTOSAR 1.1 AUTOSAR的由来 2017年&#xff0c;国内绝大部分供应商还在思考如何用最小代价切入到AUTOSAR Classic Platform的时候&#xff0c;AUTOSAR Adaptive Pla…

把持中国互联网流量的“四大家族”,各个牛逼plus!

中国互联网80%流量被四大家族把持着&#xff0c;其余要么去这些家族批发流量&#xff0c;要么去抢占剩余20%。 以下是对中国互联网流量四大家族的介绍和代表性的流量入口产品&#xff1a; 百度系&#xff1a; 百度是中国最大的搜索引擎公司&#xff0c;其搜索引擎百度是中国互…

【位运算】Leetcode 两整数之和

题目解析 371. 两整数之和 算法讲解 异或的本质就是无进位相加&#xff0c;但是我们需要处理进位&#xff0c;就需要知道哪一位上有进位&#xff0c;再让无进位相加的结果 进位即可&#xff0c;在重复这个过程&#xff0c;当进位等于0的时候&#xff0c;说明相加的过程已经结…

OSPF防环文档

OPSF在区域内会产生俩类LSA&#xff1a;Router LSA &#xff0c;Network LSA 路由器以自己为树根构建最短路径树 &#xff0c;这里的最短路径树按两步形 成&#xff0c;第一步&#xff0c;仅考虑路由器和传输网络之间的连接。通过 Dijkstra 算法&#xff0c;根据链路状态数据…

[Linux] keytool 命令(by Copilot)

keytool 是一个用于管理密钥和证书的 Java 工具。它可以用于生成、导入、导出和修改密钥库和证书。以下是一些常用的 keytool 命令和参数&#xff1a; 1.生成密钥对&#xff1a; 使用 -genkeypair 命令生成密钥对&#xff0c;例如&#xff1a; keytool -genkeypair -alias m…