如何从RIJNDAEL 128恢复密钥?

时间:2016-02-23 01:19:56

标签: php security cryptography rijndael

我有这样的代码:

$result = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $plain_text, "ecb");

另外,我有$ result和$ plain_text的值。

有没有办法恢复$ key?

1 个答案:

答案 0 :(得分:0)

您无法从直接密码分析中恢复密钥。

您可以使用已知明文攻击来关联已知/重复的密文,尤其是在重用ECB模式时。您可以使用Vaudenay的CBC填充oracle攻击一次解密一个字节的消息(通过选择的密文攻击)。您可以利用CTR模式nonce重用来从密文中恢复明文。

你不能简单地恢复给定明文和密文的密钥。

侧通道攻击,例如cache-timing attacks against AES(PDF),允许攻击者恢复密钥。但如果您使用的是恒定时间AES(即由AES-NI提供),那么这些就不在讨论之列了。

相关问题