I'm trying to make an GHASH() function and need some clarification. Implementation is based on gcm-spec. Page 8 describes polynomial mult and page 27 has a "Test Case 2" which I use to verify result.
From my understanding X1
is a first round of GHASH function and effectively a result of multiplication of 16B of ciphertext and 'H'. From test case
X1<-C * H
X1<= '0388dace60b6a392f328c2b971b2fe78' * '66e94bd4ef8a2c3b884cfa59ca342b2e'
My implementation gives a different result. I also have tried some online tools which gave a totally different numbers as well :(
So the question is do I got it right that X1
is a result of multH(C,H)
?
Thanks