Skip to main content

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发布

主要变更总结

  1. v1.5 → v2.0: 引入可证明安全的OAEP和PSS方案
  2. v2.0 → v2.1: 增强哈希函数支持和多素数RSA
  3. v2.1 → v2.2: 技术澄清和安全建议更新
  4. 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语法保持向后兼容