Module helpers

Module helpers 

Source
Expand description

AVX2 helpers for implementing Poly1305 using 26-bit limbs.

Structsยง

AdditionKey ๐Ÿ”’
Aligned2x130 ๐Ÿ”’
A pair of Aligned130s.
Aligned4x130 ๐Ÿ”’
Four 130-bit integers aligned across five 26-bit limbs each.
Aligned130 ๐Ÿ”’
A 130-bit integer aligned across five 26-bit limbs.
IntegerTag ๐Ÿ”’
PrecomputedMultiplier ๐Ÿ”’
A pre-computed multiplier.
SpacedMultiplier4x130 ๐Ÿ”’
A multiplier that takes 130-bit integers (x3, x2, x1, x0) and computes (x3ยทR^4, x2ยทR^3, x1ยทR^2, x0ยทR) mod 2^130 - 5.
Unreduced4x130 ๐Ÿ”’
The unreduced output of an Aligned4x130 multiplication.
Unreduced130 ๐Ÿ”’
The unreduced output of an Aligned130 multiplication.

Functionsยง

adc ๐Ÿ”’ โš 
Carry chain
prepare_keys ๐Ÿ”’ โš avx2
Derives the Poly1305 addition and polynomial keys.
red ๐Ÿ”’ โš 
Reduction modulus 2^130-5
set02 ๐Ÿ”’
write_130 ๐Ÿ”’
Helper for Display impls of aligned values.
write_130_wide ๐Ÿ”’
Helper for Display impls of unreduced values.