首页/安全/加密与证书速查/RSA-OAEP 加密填充
本包目录(305 条)
加密算法基础95 条
TLS 与 HTTPS60 条证书与 PKI30 条OpenSSL 实战30 条证书运维排查49 条密钥管理41 条

RSA-OAEP 加密填充

RFC 8017 定义的 OAEP 填充(哈希与掩码生成函数构造):通过哈希与掩码生成函数把随机性引入密文,抵御选择密文类攻击,是新系统加密场景的推荐填充。

加密与证书速查安全更新于 2026-10-12
标准RFC 8017 §7.1(RSAES-OAEP)
组成lHash + PS + 0x01 + M,配 MGF1
推荐哈希SHA-256(与 MGF1 保持一致)
与 v1.5 对比抗 Bleichenbacher 类攻击能力更强

Python 示例(cryptography)

Python 示例(cryptography)
from cryptography.hazmat.primitives import hashes
from cryptography.hazmat.primitives.asymmetric import padding

ct = pub.encrypt(msg, padding.OAEP(mgf=padding.MGF1(hashes.SHA256()), algorithm=hashes.SHA256(), label=None))
解密失败时对外必须统一响应(错误码、耗时一致),否则可能重演针对填充的密文选择攻击。

易错点

  • OAEP 的哈希算法与 MGF1 哈希不一致时部分库会拒绝解密,跨系统对接需显式约定
  • label 参数传错(非空却未约定)会导致解密失败,且错误信息常被掩盖

数据来源与参考

  • RFC 8017 §7.1(RSAES-OAEP)
  • RFC 8017 §B.1(MGF1)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌