0
$\begingroup$

I am trying to optimize GCM multiplication. This PDF explains GCM:

The Galois/Counter Mode of Operation (GCM)

The algorithms are in section 4.1

  1. In algorithm 3 I have to multiply table M [128] with the element P that represents the polynomial α. Formulas (3) and (4) appear on page 9. From what I can understand, this would be:
**if V127 =0 then V ← rightshift(V )

else V ← rightshift(V ) ⊕ R**

The polynomial f would be 0xe1, no?

But in algorithm 3 I do not understand this: M[i] ← M[2i] · P. What would be the value of the element P if it corresponds to the polynomial α?

Hopefully, someone knows some code of the implementation of the tables that I can read. I have not found any code that can help me understand all of this.

$\endgroup$
3
0
$\begingroup$

The polynomial f would be 0xe1, no?

it is $e1 \mathbin \|0^{120}$ i.e. 0xe1000000000000000000000000000000

What would be the value of the element P, if it corresponds to the polynomial α?

it is 2 reversed i.e. 0x40000000000000000000000000000000

$\endgroup$
4
  • 1
    $\begingroup$ Could you turn the belief into reality? $\endgroup$ – kelalaka Feb 5 at 16:42
  • $\begingroup$ @kelalaka updated $\endgroup$ – Efimster Feb 6 at 21:32
  • $\begingroup$ and references? $\endgroup$ – kelalaka Feb 6 at 21:33
  • $\begingroup$ @kelalaka The response based on my own understanding of the paper mentioned in the question. There is no other references. $\endgroup$ – Efimster Feb 8 at 22:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.