我正在尝试创建一个GHASH()函数,需要进行一些澄清。实现是基于gcm-规范的。第8页描述多项式穆特,第27页有一个“测试用例2”,我用它来验证结果。
据我所知,X1是GHASH函数的第一轮,是密文16B和H乘法的有效结果。从测试用例
X1<-C * H
X1<= '0388dace60b6a392f328c2b971b2fe78' * '66e94bd4ef8a2c3b884cfa59ca342b2e'我的实现给出了不同的结果。我还尝试过一些在线工具,这些工具也给出了完全不同的数字:
所以问题是,我是否正确地认为X1是multH(C,H)的结果?
谢谢
发布于 2018-08-21 05:58:04
是的,您是对的;在运行GF(128)/GCM乘法测试之后,我确认测试值的乘积是
0x0388DACE60B6A392F328C2B971B2FE78 $\times$ 0x66E94BD4EF8A2C3B884CFA59CA342B2E = 0x5E2EC746917062882C85B0685353DEB7
https://crypto.stackexchange.com/questions/61643
复制相似问题