我正在寻找有关RC4 Decryption的任何内容,并使用以下方法解码输入:Hexa
幸运的是,我找到了 PHP's mcrypt_encrypt
我想用相同的密钥解密许多密码文件。 但是,我遇到了一个问题:
$iv_size = mcrypt_get_iv_size(MCRYPT_ARCFOUR, MCRYPT_MODE_STREAM);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
print (mcrypt_decrypt(MCRYPT_ARCFOUR, $key, $text, MCRYPT_MODE_STREAM, $iv));
(和UTF-8越南语)
echo $iv_size
的结果是0
。
请帮助我,我不知道如何解决它?
密钥:Lyr1cjust4nct(密钥文件.txt)
模式:STREAM
使用:Hexa
解码输入密文:cipher.txt(Hexa)
答案 0 :(得分:1)
RC4不支持IV。您需要为每条消息使用唯一的密钥。
RC4有两大弱点适用于您的情况:
RC4不包含任何完整性保护(MAC)。因此,如果攻击者操纵密文,您就会遇到问题。
=> 不要使用RC4。在经过身份验证的模式(如GCM)中使用AES,或者使用加密然后MAC原则将AES与MAC结合使用。
我强烈建议使用由专家编写的高级库,因为人们经常会出现加密错误,即使使用AES等标准基元也是如此。