Openssl AES GCM-256 Htables

时间:2014-09-01 05:35:43

标签: c encryption openssl aes aes-gcm

我想为我的学期项目重新实施一个s-box的研究论文,我现在时间不够。我的部分是用不同的sbox测试不同的aes模式(如cbc,ecb,ctr,gcm)。我正在使用openssl库1.0.1i。显然我需要生成查找表,为此,这篇文章很有帮助

Generating AES (AES-256) Lookup Tables

现在我必须嵌入那些表格。我已经浏览了openssl库,发现aes_core.c包含所有查找表和crypto_cbc128_encrypt()使用的有用函数以及其他模式源文件在aes / ...编译成功但是对于GCM_AES_256我被卡住了。我无法找到像aes_cbc,aes_ctr等GCM_aes_256源文件。它是否以不同的方式实现?由于aes用于所有模式,因此最终应使用aes_core文件中的相同查找表。不是这样的吗?它是在openssl中实现的吗?

在Openssl文件中,我在gcm_128中看到了Htables。这些表有什么作用?他们是否指向与aescore相同的查找表?

1 个答案:

答案 0 :(得分:0)

你看过gcm128.c吗?

您指向的HTables特定于Galois/Counter mode (GCM)执行伽罗瓦域乘法(下图中的mult_H)。

与CCM和EAX操作模式相比,GCM模式仅使用AES块密码使用块0的加密来创建最终的GHASH值。

enter image description here

因此,您要么有关于GCM模式的学习曲线,要么您可以选择其他一种具有身份验证的密码(CCM使用CBC-MAC,EAX使用CMAC)。