1

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.

Patriot
  • 3,132
  • 3
  • 18
  • 65
fah81
  • 11
  • 1

1 Answers1

0

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

Efimster
  • 1
  • 1