【发布时间】:2017-05-26 06:36:43
【问题描述】:
我正在开发一个本地文件加密/解密软件(AES-256 CBC), 我想验证解密是否成功。
所以我决定在纯数据末尾添加一个额外的纯数据 MD5 哈希并将其加密在一起, 解密时,计算解密数据的MD5散列(最后一个附加的MD5散列除外)和 将其与最后一个额外的 MD5 哈希值进行比较。
我想知道这个想法是否可以安全使用。
这是个坏主意吗?
【问题讨论】:
-
我投票结束这个问题,因为这不是关于软件开发,而是关于经过身份验证的加密的特定加密结构的安全性。 Cryptography 更适合这类问题,但可能已经在那里回答了
-
@ArtjomB。哦,我不知道那个网站存在。谢谢
-
Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Cryptography Stack Exchange 或Information Security Stack Exchange 会是一个更好的提问地点。
-
“我想知道这个想法是否可以安全使用......” - 不。“......添加一个额外的纯数据的MD5哈希结束纯数据并将其加密在一起..." - 这是Handbook of Applied Cryptography, Section 9.6 中建议的方案。它被证明是不安全的。另请参阅 Crypto++ wiki 上的 Authenticated Encryption。它是在 C++ 安全库的上下文中编写的,但它通常适用于数据安全。
-
我认为 aswers 和 cmets 肯定是非常有效的,但没有提出问题。他正在询问是否可以使用 MD5 哈希来向纯文本消息添加哈希以识别解密成功,或者这是否会带来一些风险。我的回答被否决了。但也许有人可以在问题范围内提供更好的答案。
标签: cryptography aes md5