Appendix D. Revision History of PKCS #1 (PKCS #1修订历史)
版本演进
PKCS #1 v1.5 (1993年11月)
- 内容: 定义了RSA加密和签名的基本方案
- 加密: RSAES-PKCS1-v1_5
- 签名: RSASSA-PKCS1-v1_5
- 状态: 广泛部署,但存在已知安全弱点
PKCS #1 v2.0 (1998年9月, RFC 2437)
- 新增: RSAES-OAEP加密方案
- 新增: RSASSA-PSS签名方案
- 改进: 引入基于证明的安全方案
- 保留: v1.5方案以保持向后兼容
PKCS #1 v2.1 (2002年6月, RFC 3447)
- 改进: 更新RSAES-OAEP和RSASSA-PSS规范
- 新增: 支持额外的哈希函数(SHA-256, SHA-384, SHA-512)
- 新增: 完整的ASN.1模块
- 澄清: 多素数RSA的使用
PKCS #1 v2.2 (2012年10月 / 2016年11月, RFC 8017)
- 改进: 技术澄清和勘误修正
- 更新: 对安全考虑的增强描述
- 新增: 对SHA-512/224和SHA-512/256的支持
- 状态: 当前版本,作为RFC 8017发布
主要变更总结
- v1.5 → v2.0: 引入可证明安全的OAEP和PSS方案
- v2.0 → v2.1: 增强哈希函数支持和多素数RSA
- v2.1 → v2.2: 技术澄清和安全建议更新
- RFC转移: 从RSA实验室的PKCS系列转移到IETF RFC系列
废弃说明
- RFC 3447 (PKCS #1 v2.1) 被本文档 (RFC 8017, PKCS #1 v2.2) 废弃
- RSAES-PKCS1-v1_5 仅为向后兼容保留,不推荐新应用使用
- SHA-1 由于已知的碰撞攻击,不再推荐使用
兼容性注意事项
虽然各版本间引入了新方案,但为了向后兼容性:
- v1.5方案在所有版本中保持支持
- 新增的方案(OAEP, PSS)与旧实现共存
- ASN.1语法保持向后兼容