首页 > 其他分享 >密码学基础--搞清RFC和PKCS(2)

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

时间:2024-04-10 19:00:37浏览次数:13  
标签:PKCS 加密 定义 -- RSA standard RFC 密码学

目录

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之间的交叉影响是可能的,特别是在公钥密码学和网络安全领域。

标签:PKCS,加密,定义,--,RSA,standard,RFC,密码学
From: https://blog.csdn.net/djkeyzx/article/details/137607080

相关文章

  • 51单片机led灯模块
    1.151单片机led灯的点亮根据进制转换表,将二进制转换成16进制其中程序中的P2口,0x是表示后面是16进制的1.2led闪烁1.3 led流水灯#include<REGX52.H>voidDelay1ms(unsignedintxms)   //@12.000MHz{   unsignedchardatai,j;   while(xms)......
  • [SDOI2017] 硬币游戏
    [SDOI2017]硬币游戏还是因为感觉网上的写的不够清晰,所以来写一篇用\(P(i)\)表示第\(i\)个同学胜利的概率,\(s_i\)表示第\(i\)个同学猜的序列可以发现,第\(i\)个同学胜利当且仅当当前硬币序列\(T\)的后\(m\)位刚好为\(s_i\),且\(T\)除了最后\(m\)位出现过\(s_i\),其他任何位置都......
  • C语言的结构体
    结构体就是把一些单一类型组合在一起例如人:姓名+年龄+性别+电话程序如下#include<stdio.h>structstu{   charname[20];   intage;   charsex[10];   chartele[15];};intmain(){   structstus={"zhangsan",25,"nan","1663"}; ......
  • 新闻信息差项目,新手可操作
    项目介绍:这个项目是通过收集新闻信息,整合之后,制作成文章或者视频发布在公众号以及短视频平台涨粉的项目,涨粉之后,通过多重方式变现。本项目,我主要分享B站发新闻信息差视频,涨粉接商单变现的玩法,也是目前最容易出效果的玩法。我会通过一个案例,来分享视频的详细制作过程,让你看完......
  • 短剧新玩法,私域变现无门槛日入500+零成本操作(附600G短剧资源)
    项目介绍:短剧推广那么火,为什么你做就是不赚钱?赚钱短剧就是爽文小说演化而来,情节紧凑,主打看的过瘾上头,虽然剧情俗套,但是架不住有人爱看,刚开始做短剧的一波人确实赚到钱了。做短剧推广账号没流量,不是你的能力不行剪辑不行,大环境太卷了,无数的人都在做短剧,市场太卷了,客户群体就这......
  • 最新不露脸直播带货,挂机玩法
    项目介绍:最近啊,不少朋友都问我这支付宝无人直播怎么玩,都问了一个月了。今天啊,终于给大家搞到了!外面那些收费啊,都是1980到5980不等,贵得很。我今天可是花了整整1980个大洋,才把这个玩法给买下来了。说实话,本来人家都不想卖的,毕竟这也是人家的饭碗嘛。所以,我这次拆解的时候,都特意......
  • 高可用的半同步主从复制MySQL集群
    目录项目信息项目结构项目描述项目环境项目步骤IP规划部署一台ansible服务器,搭建好免密通道并定义主机清单,在四台机器上批量安装MySQL,配置好相关环境搭建ssh免密通道使用ansible批量安装MySQL规划MySQL集群,一台做master,三台做slave配置/etc/my.cnf使用mysqldump......
  • 掌握Ollama框架:一站式教程,从环境搭建到高效开发
    掌握Ollama框架:一站式教程,从环境搭建到高效开发安装ollamamacOSWindows预览版LinuxDockerollama的库和工具ollama-pythonollama-js快速开始运行模型访问模型库自定义模型从GGUF导入模型自定义提示CLI参考创建模型拉取模型删除模型复制模型多行输入多模态模型提示作为......
  • vue做游戏vue游戏引擎vue小游戏开发
    Vue.js是一个构建用户界面的渐进式JavaScript框架,它同样可以用于游戏开发。使用Vue开发游戏通常涉及以下几个关键步骤和概念:1.了解Vue的核心概念 1在开始使用Vue进行游戏开发之前,你需要理解Vue的一些核心概念,如组件化、响应式数据绑定、指令、生命周期钩子等。这......
  • Mybatis入门
    1.Mybatis的入门1.1导包1.2准备核心配置文件MyBatis-Config.xml点击查看代码<configuration><!--引入配置文件信息,这里不能加classpath:。 resource:引入类路径下的资源,即classpath,所以不需要写classpath: url:引入网络路径或磁盘路径下的资源 --> <properti......