首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(再)如何验证AES解密是否成功?

(再)如何验证AES解密是否成功?
EN

Cryptography用户
提问于 2017-05-26 05:59:17
回答 1查看 1.4K关注 0票数 0

我正在开发一个本地文件加密/解密软件(AES-256 CBC),我想验证解密是否成功。

因此,我决定添加一个普通数据的附加MD5哈希,并将其加密到一起,在解密时,计算解密数据的MD5哈希(上一次附加MD5哈希除外),并将其与最后附加的MD5哈希进行比较。

我想知道这个想法是否安全。

这是个坏主意吗?

EN

回答 1

Cryptography用户

发布于 2017-05-26 07:38:34

您要做的是所谓的认证加密,即加密和身份验证在on方案中的结合。

它最简单的形式是分别进行加密和身份验证,或者通过验证纯文本(Mac然后加密或Mac加加密),或者反过来进行验证:首先加密,然后计算密文上的校验和。这三种变体都没有本质上的不安全,但现在的后一种版本是被认为最安全,而且它也是最容易纠正的。

需要注意的是,你不应该像你建议的那样计算一个散列,而是一个MAC (比如HMAC- that 256),这是不能被对手伪造的。单靠散列只保护消息的完整性,帮助您避免错误,而不是防范攻击者。

此外,还有加密模式,将加密和身份验证结合在一个操作中。如果您没有特定的理由坚持AES-CBC,这些模式将是首选的。这些模式中最流行的是AES-GCM,其他选项包括AES-CCM、AES-OCB或Cha20-Poly1305。

票数 3
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/47721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档