首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HMAC与加密Hash

HMAC与加密Hash
EN

Cryptography用户
提问于 2013-11-01 21:30:41
回答 2查看 4K关注 0票数 1

在…之间最好使用什么(用于消息完整性)

  1. AES(数据)+HMAC(数据)
  2. AES(数据+HMAC(数据))
  3. AES(数据+哈希(数据))

…为什么?

EN

回答 2

Cryptography用户

发布于 2013-11-01 23:07:54

如果加密使用像CTR这样的可伸缩模式,则“加密散列”完全失败。CTR在类似于流密码的模式下运行AES,在这种模式下,要加密的数据仅仅是带有依赖于密钥的流的XORed,因此攻击者可以非常精确地翻转比特;因此,如果攻击者猜测内容,他可以修改它们并很容易地修复哈希。

更普遍的情况是,如果您想要一个MAC,那么使用一个MAC。“加密散列”只是一种自制的MAC算法尝试,我们知道自制算法很少强大,即使是这样,我们也无法确定它们是否真正强大。

至于如何将加密和MAC结合起来,这是一个众所周知的问题,已经积累了大量的理论和实践;参见这个问题。总结一下:您想要计算加密数据上的MAC,因为它避免了MAC算法在处理的数据上泄漏信息的任何问题,并且它保护解密实现不受格式错误的数据的影响。

现在,HMAC似乎表现得相当好,并且没有泄露应用它的数据的信息。您的设置1和2分别用于SSHSSL/TLS。在这两种情况下,都没有证明是致命的;然而,对加密格式缺乏保护使各种填充甲骨文攻击在实现方面取得了一些成功,而在解密格式错误的输入数据时,这些实现不够仔细。

票数 3
EN

Cryptography用户

发布于 2013-11-01 22:31:28

2,因为唯一的问题是,可能有一种不可忽视的可行方法。

产生新的AES加密文本的可能性,该加密文本可以解密到已经加密的数据。

(当然,正如亨特所指出的,AES(数据)+HMAC(数据)甚至更好。)

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

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

复制
相关文章

相似问题

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