看到一篇EMC的文档,介绍PKCS的,叫《WHAT IS PKCS?》,觉得写得蛮好的,但是没有发现中文版,干脆我来翻译一下,如有错误欢迎指正。
公钥密码学标准(PKCS)是由RSA实验室与一个非正式联盟合作共同开发的一套公钥密码学的标准,这个非正式联盟最初包括Apple, Microsoft, DEC, Lotus, Sun 和 MIT。PKCS已经被OIW(OSI 标准实现研讨会)作为一个OSI标准实现。PKCS是基于二进制和ASCII编码来设计的,也兼容 ITU-T X.509 标准。已经发布的标准有PKCS #1, #3, #5, #7, #8, #9, #10 #11, #12, and #15。PKCS #13 and #14 正在开发中。
PKCS包括算法指定(algorithm-specific)和算法独立(algorithm-independent)两种实现标准。多种算法被支持,包括RSA算法和 Diffie-Hellman 密钥交换算法,然而只有后两种才特别详尽。PKCS也为数字签名、数字信封、可扩展证书 定义了一种算法独立(algorithm-independent)的语法;这就意味着任何加密算法都可以实现这套标准的语法,并且因此获得互操作性。
以下是公钥加密标准(PKCS):
- PKCS #1 定义了基于RSA公钥密码系统 加密和签名数据的机制
- PKCS #3 定义了 Diffie-Hellman 密钥协商协议
- PKCS #5 描述了一种 通过从密码衍生出密钥来加密字符串的方法
- PKCS #6 被逐步淘汰,取而代之的是X.509的第三版本
- PKCS #7 为信息定义了大体语法,包括加密增强功能产生的信息,如数字签名和加密
- PKCS #8 描述了私钥信息的格式,这个信息包括某些公钥算法的私钥,和一些可选的属性
- PKCS #9 定义了在其他的PKCS标准中可使用的选定的属性类型
- PKCS #10 描述了认证请求的语法
- PKCS #11 为加密设备定义了一个技术独立的(technology-independent )编程接口,称之为 Cryptoki。比如智能卡、PCMCIA卡这种加密设备
- PKCS #12 为 存储或传输用户的私钥、证书、各种秘密等的过程 指定了一种可移植的格式
- PKCS #13 的目的是为了定义使用椭圆曲线加密和签名数据加密机制
- PKCS # 14正在酝酿中,涵盖了伪随机数生成
- PKCS # 15是一个PKCS # 11的补充,给出了一个存储在加密令牌上的加密证书的格式的标准
RSA实验室的意图就是要时不时修改PKCS文档以跟得上密码学和数据安全领域的新发展,以及当机会出现时转变文档成开放标准的研制计划。详细的PKCS标准可以在RSA安全的web服务器上获取到,可以访问网站 或者直接匿名访问FTP。
有任何问题和留言请直接联系 pkcs-editor@rsasecurity.com.