Expand description
Portable (software) implementation of GHASH field multiplication.
Structs§
- Ghash
MulX - Square strategy wrapper for the software GHASH implementation.
- Ghash
Soft Mul - Ghash
Wide Mul - Widening-multiply wrapper for the portable GHASH packing.
- Wide
Ghash Product - An unreduced GHASH product, stored as the four 64-bit limbs
(v0, v1, v2, v3)of the 256-bit schoolbook product. Values of this type can be summed by XOR and reduced once at the end viareduce.
Constants§
- POLY
- The reduction polynomial
X^128 + X^7 + X^2 + X + 1, with itsX^128term left implicit.
Functions§
- ghash_
mul - Multiply two GHASH field elements using software implementation.
- ghash_
mul_ x - Scales one GHASH element by
X, overu128. The scalar reference. - ghash_
square - ghash_
wide_ mul - Widening multiply: the schoolbook polynomial product of two GHASH field elements, without the
modular reduction. The unreduced result can be accumulated by XOR and reduced once at the end
via
WideGhashProduct::reduce.