首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么在UMAC (通用消息身份验证代码)算法中哈希后加密是安全所必需的?

为什么在UMAC (通用消息身份验证代码)算法中哈希后加密是安全所必需的?
EN

Stack Overflow用户
提问于 2016-05-03 17:30:13
回答 1查看 98关注 0票数 2

在维基百科为UMAC,https://en.wikipedia.org/wiki/UMAC,它说:

然后对结果摘要或指纹进行加密,以隐藏所使用的哈希函数的标识。

此外,在本文中,http://web.cs.ucdavis.edu/~rogaway/papers/umac-full.pdf指出:

通过使用共享哈希函数对消息进行哈希验证,然后加密结果哈希(使用加密密钥)。

我的问题是,如果哈希函数集H足够大,哈希桶|B|的数量足够大,为什么我们需要加密--秘密哈希是否足够安全?

例如,在最坏的情况下,每个客户端都发送相同的短内容,比如"x“。如果我们散列到32个字节,我们的散列依赖于一个32字节的秘密散列密钥,而散列具有统一的属性,那么即使没有加密,攻击者怎么可能希望了解任何单个客户端的秘密哈希密钥呢?

而且,如果攻击者不了解密钥,攻击者怎么可能希望恶意更改消息内容?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2016-05-03 17:49:12

我对UMAC不太了解,但是:

  • 为特定哈希函数设置一个彩虹台会使您在消息上设置的任何加密都失败,因此,您现在有了两个攻击面,而不是一个攻击面。
  • 随着计算能力的增加,您将越来越有可能知道消息的明文,因此,如果不加密保密性,则不可能实现PFS (PFS)。
  • 最重要的是,如果您能够从MAC值中找到一条明文消息,那么通过获取一些关于PRNG、其他数据的上下文、IV等的信息,您就可以成倍地接近解密消息的其余部分。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37010646

复制
相关文章

相似问题

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