如果我知道数据 A是数据 B的加密形式,是否有足够的信息来确定私钥?
给定加密数据和相应的明文,我可以确定私钥吗?
信息安全
tls
RSA
2021-08-12 15:05:20
2个回答
如果知道明文和对应的密文都可以恢复密钥,则称为已知明文攻击;扩展是选择的明文攻击,攻击者不仅知道明文,而且可以选择它。如果密码算法受 CPA 约束,则它被认为是弱且损坏的。因此,安全加密算法必须抵制 CPA(因此也抵制 KPA)。
请注意,使用非对称加密 (RSA),由于公钥是公开的,每个人都可以创建数百万个明文/密文对。这说明,如果非对称加密算法被 CPA 破解,它永远不会被认为是安全的。相反,长期以来人们一直认为,使用对称加密,CPA 模型并不可怕,因为攻击者无法在不知道密钥的情况下加密自己的数据;实践证明该理论是错误的(在 HTTPS 的情况下,邪恶的 Javascript 甚至纯 HTML 都可以使您的浏览器发出请求,其内容至少部分由攻击者选择)。
对于大多数正在使用的现代加密算法(例如 RSA、AES),没有。
一些算法会泄露密钥(例如,如果数据 B 是通过与数据长度相同的一次性填充对它进行异或运算来加密的,那么对数据 A 和数据 B 进行异或运算会为您提供整个密钥),但它们并不经常部署.