PKCS #1 v2.2: RSA Cryptography Standard
标题:RSA Cryptography Standard
发布组织:RSA Laboratories (现由 IETF RFC 8017 维护)
标准编号:PKCS #1 v2.2 (RFC 8017)
摘要:定义了 RSA 公钥密码体系的加密、签名、密钥生成以及安全填充方案。包括 OAEP 加密填充和 PSS 签名填充,显著增强安全性。
主要内容:
- RSA 密钥生成(n, e, d, p, q)
- 加密方案:RSAES-OAEP (推荐) 和 RSAES-PKCS1-v1_5
- 签名方案:RSASSA-PSS (推荐) 和 RSASSA-PKCS1-v1_5
- 密钥表示格式 (SubjectPublicKeyInfo, PrivateKeyInfo)
官方文档: RFC 8017
关联工具: 非对称加密工具 (RSA)
PKCS #1 v2.2 (RSA) 规范详解
PKCS #1 v2.2(RFC 8017)定义了 RSA 算法的使用规范,包括密钥格式、加密方案和签名方案。RSA 算法由 Rivest、Shamir 和 Adleman 于 1977 年发明,是目前应用最广泛的非对称加密体制。
数学基础
RSA 基于大整数分解难题。密钥对由两个大素数 p 和 q 生成:模数 n = p * q;欧拉函数 phi(n) = (p-1)(q-1);公钥指数 e 与 phi(n) 互质,通常取 65537;私钥指数 d = e^(-1) mod phi(n)。加密:c = m^e mod n。解密:m = c^d mod n。签名:s = m^d mod n。验签:m = s^e mod n。安全性取决于 n 的位数——2048 位是当前主流,3072 位提供更高余量。
填充方案
PKCS #1 定义了两种填充方案:PKCS#1 v1.5 是经典方案,结构简单但存在已知安全弱点(如 Bleichenbacher 攻击);OAEP(Optimal Asymmetric Encryption Padding)是推荐方案,提供可证明安全性,用于加密。签名使用 PSS(Probabilistic Signature Scheme),比 PKCS#1 v1.5 签名更安全。EMV 规范中 RSA 签名仍使用 PKCS#1 v1.5 填充。
智能卡中的 RSA
智能卡芯片内置 RSA 加密协处理器,支持 2048/3072/4096 位运算。私钥在卡内生成,永不出卡。签名操作通过 APDU 命令触发,卡内完成模幂运算后返回签名值。PKI 智能卡(如 PIV 卡、CAC 卡)通过 PKCS #11 或自定义 APDU 接口提供 RSA 签名服务。本站 RSA 工具 支持生成密钥对和签名/验签操作。