2. RSA与ECC算法基础回顾

在讨论量子风险之前,必须先准确理解我们正在评估的对象。RSA与ECC是当今公钥基础设施的两大支柱,它们的数学基础不同、密钥形态不同,但在协议中的角色高度相似:用一对密钥完成密钥协商与数字签名。量子风险盘点之所以要回到算法基础,是因为风险的大小取决于"数学难题被破坏后密钥还能撑多久",而这与密钥长度、参数结构、使用场景直接相关。

RSA:大整数分解难题

RSA的安全性建立在一个假设上:给定一个大合数 n,难以在可行时间内分解出它的两个素因子 p 和 q。密钥生成过程如下:随机选取两个大素数 p、q,计算 n = p·q 与欧拉函数 φ(n) = (p−1)(q−1);选取公钥指数 e(常用 65537),满足 gcd(e, φ(n)) = 1;再用扩展欧几里得算法求私钥指数 d,使 e·d ≡ 1 (mod φ(n))。公钥为 (n, e),私钥为 (n, d)。加密为 c = m^e mod n,解密为 m = c^d mod n;签名则用私钥运算、公钥验证。

这里有一个对盘点极其关键的细节:RSA的私钥持有者必须知道 p 和 q,而攻击者只要分解 n 就能重建私钥。因此RSA的安全强度几乎完全由 n 的比特长度决定。当前工程实践中,2048位RSA是TLS证书的常见下限,3072位或4096位用于更长生命周期或更高保障场景。需要强调的是,RSA的"密钥长度"与对称密码的"密钥长度"不可直接比较:2048位RSA的安全强度大约相当于112位对称密钥,4096位RSA约相当于140位左右。这个换算关系是后续风险分级的重要依据。

ECC:椭圆曲线离散对数难题

ECC在有限域上的椭圆曲线群中定义运算。曲线通常写作 y² = x³ + ax + b (mod p),其中 p 为素数,a、b 为曲线参数,且需满足判别式 4a³ + 27b² ≠ 0 以保证曲线非奇异。群运算是"点加"与"点乘":给定基点 G 和标量 k,计算 Q = kG 是容易的;但给定 G 和 Q 反求 k 是困难的,这就是椭圆曲线离散对数问题(ECDLP)。私钥是标量 k,公钥是曲线上的点 Q。

ECC的优势在于"每比特强度更高":256位曲线(如 P-256、secp256r1)的安全强度约等于128位对称密钥,大致相当于3072位RSA;384位曲线约等于192位对称强度。这意味着在证书、握手报文和硬件存储中,ECC的密钥与签名体积远小于RSA,特别适合移动端与高并发服务。但ECC的参数选择更敏感:曲线参数、基点、余因子都必须符合标准,否则可能引入无效曲线攻击等额外风险。盘点时应记录曲线名称而非仅记录"ECC"。

密钥长度与安全强度对应关系(示例对照) 安全强度 (对称位) 密钥长度(bit) 80 112 128 192 1024 2048 3072 4096 RSA 160 224 256 384 ECC 同一安全强度下,ECC所需密钥长度显著更短(虚线为ECC,实线为RSA) TLS 握手 证书链 + 密钥交换 SSH 登录 主机密钥 + 用户密钥 代码签名 发布包完整性验证 数字证书 CA 签发与吊销 盘点要点:记录算法族、密钥长度/曲线名、有效期、使用场景与协议位置

密钥长度与安全强度的换算

把两类算法放在同一张强度坐标上,才能做统一的风险分级。下表给出工程中常用的对照关系(示例值,用于教学与盘点参考,具体以所在组织的密码规范为准):

对称强度RSA 密钥长度ECC 曲线长度典型用途
约 80 位1024 位160 位已不推荐用于新系统
约 112 位2048 位224 位存量 TLS 证书常见下限
约 128 位3072 位256 位(P-256)当前主流推荐配置
约 192 位7680 位384 位(P-384)长周期、高保障场景

盘点时不要只写"使用了RSA",而应写成"RSA-2048,用于某域名TLS证书,有效期至某年某月"。同样,ECC要写清曲线名,例如"ECDSA P-256"与"ECDSA secp256k1"虽然长度相同,但参数体系与合规适用范围不同。这些字段决定了后续量子风险评估中"迁移优先级"和"迁移工作量"的判断。

常见应用场景与盘点落点

TLS:服务器证书通常携带RSA或ECDSA公钥,握手阶段用其完成身份认证;密钥交换可能使用ECDHE。盘点需要区分"证书签名算法"与"密钥交换算法",因为二者可能一个是RSA、一个是ECC,迁移路径不同。

SSH:主机密钥与用户密钥都可能是RSA或Ed25519/ECDSA。可通过查看 ~/.ssh/ 下公钥文件的首字段(如 ssh-rsa、ecdsa-sha2-nistp256)快速识别,并记录到资产清单。

代码签名:软件发布包、容器镜像、固件更新常使用RSA或ECDSA签名。这类密钥生命周期往往很长,且验证方分布在大量终端上,是量子迁移中"更换成本高"的典型对象。

数字证书:CA层级、中间证书、终端证书构成信任链,任何一环使用弱算法或长周期RSA,都会影响整条链的迁移节奏。盘点应沿信任链逐级记录算法与到期时间。

盘点实操建议:先用自动化扫描收集证书与公钥的算法标识、长度、曲线名和到期时间,再人工确认其业务归属与验证方分布。算法标识是客观事实,业务归属决定迁移优先级,两者缺一不可。

理解RSA依赖大整数分解、ECC依赖椭圆曲线离散对数,以及两者在密钥长度与安全强度上的换算关系,是后续判断"哪些资产在量子计算面前更脆弱、哪些可以稍后迁移"的基础。下一阶段的风险盘点,本质上就是把本节这些算法属性,逐一映射到真实资产清单上。