从‘选择密文攻击’到‘无懈可击’:深入浅出图解RSA-OAEP的安全设计哲学
想象你正在设计一个绝对安全的数字保险箱——任何未经授权的篡改都会让箱内物品自动销毁。这正是RSA-OAEP在密码学世界实现的魔法:它将原本容易被撬开的RSA锁芯,改造成了能识别破坏行为的智能安全系统。本文将用电路板焊接、乐高积木等生活化类比,带你透视这套1994年问世的加密填充方案如何成为抵御黑客攻击的黄金标准。
1. 为什么教科书式RSA像没有防撞梁的老爷车
2001年,某电商平台因直接使用原始RSA加密信用卡号,导致攻击者通过重复提交特定密文破解出用户支付信息。这种被称为**选择密文攻击(CCA)**的入侵方式,暴露了传统非对称加密的致命缺陷:
- 确定性加密陷阱:相同明文永远生成相同密文,如同用固定模具压制饼干
- 数学结构泄漏:乘性属性使得
encrypt(A)*encrypt(B) = encrypt(A*B),攻击者可构造特殊密文 - 无完整性校验:解密端无法分辨收到的密文是否被篡改过
典型案例:Bleichenbacher攻击利用RSA的PKCS#1 v1.5填充缺陷,通过数百万次询问服务器"这个密文是否有效",最终还原出原始明文。
下表对比了三种加密方案的抗攻击能力:
| 安全属性 | 教科书RSA | PKCS#1 v1.5 | RSA-OAEP |
|---|---|---|---|
| 抵抗选择明文攻击 | ❌ | ✅ | ✅ |
| 抵抗适应性密文攻击 | ❌ | ❌< |


358

被折叠的 条评论
为什么被折叠?



