使用 AES 加密/解密
Posted
技术标签:
【中文标题】使用 AES 加密/解密【英文标题】:Encrypt/Decrypt with AES 【发布时间】:2010-08-04 11:45:41 【问题描述】:我正在编写文件的小程序。我正在使用 Cryptopp 库。
我需要帮助来理解一些事情。
当我加密文件时,我应该在文件开头写 IV 以便稍后解密?
我不想检查给定解密文件的密码是否正确。我应该:
在文件被加密之前将一些字符串放在文件的开头(例如 TRUE)。解密后检查一下。
在加密前检查文件的 MD5。把它放在加密文件的开头。解密前读取MD5,解密文件,查看解密文件的MD5并进行比较。
【问题讨论】:
【参考方案1】:在文件开头写 IV 很好。追加到末尾是另一种选择。
不要将静态字符串放入明文中:ENIGMA 转录本更容易因为非常相似的原因而被破解,zip format 会因为同样的错误而使用暴力破解密码 very easy。
md5 方法听起来可以接受;但是 hmac-sha256 会提供更强大的完整性声明。 (我认为您甚至可以将 AES 密钥或 IV 重新用于 hmac-sha256,但我不肯定它的安全性。)
【讨论】:
以上是关于使用 AES 加密/解密的主要内容,如果未能解决你的问题,请参考以下文章