首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有可能将GHASH从GCM中逆转?

是否有可能将GHASH从GCM中逆转?
EN

Cryptography用户
提问于 2023-02-27 12:56:53
回答 1查看 238关注 0票数 2

我如何为GCM创建一个“反向”GHASH算法,允许我计算生成特定选择输出的输入值,前提是我知道认证密钥H?如果可能的话,实现这一目标的过程是什么?

EN

回答 1

Cryptography用户

发布于 2023-02-27 13:40:03

如果可能的话,实现这一目标的过程是什么?

实际上,如果您知道如何在GF(2^{128})中执行操作,特别是加法、乘法和计算逆(请注意,您已经需要知道如何进行加法和乘法才能在正向执行GHASH ),这是非常容易的。

GHASH所做的是获取消息1并将其转换为一系列128位值的a_n, a_{n-1}, ..., a_1;这样做的方式是,来自a_n, a_{n-2}, ..., a_2的比特直接来自消息。然后,它计算:

GHASH_H(\text{Message}) = a_nH^N + a_{n-1}H^{N-1} + ... + a_1H^1

因此,要找到GHASH为特定值T的消息,您可以选择一个消息长度和一个16字节长的位置,这将设置一个特定的a_j值(对于任何j)。然后,现在将该位置上的字节设置为0,并任意设置其余的消息字节,并计算该消息的GHASH值,它将是一个值T'

然后,将这16个字节设置为生成a_j = H^{-j}(T + T')的值,您就完成了;当您修改该消息时,它将计算为T

1:正如GCM中定义的,GHASH实际上需要两条消息:一条是AAD,另一条是密文。这不会使事情复杂化,所以我会忽略它

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

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

复制
相关文章

相似问题

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