Returns round keys
Performs Galois Field (GF(2)) multiplication.
This method multiplies two bytes in the Galois Field using bitwise operations, applying the irreducible polynomial x^8 + x^7 + x^6 + x + 1 for modular reduction.
F-transformation aka XSLX-algorithm
Performs a key transformation using a series of linear and substitution transformations.
L-transformation
Performs a linear transformation on the input block by repeatedly applying the R-transformation
a fixed number of times (equal to the block size).
Lrev-transformation
Performs a linear transformation on the input block by repeatedly applying the Rrev-transformation
a fixed number of times (equal to the block size).
R-transformation
Performs a linear transformation on the input block by cyclically shifting bytes
and applying Galois Field multiplication with a predefined linear transformation matrix (L).
Rrev-transformation
Performs a linear transformation on the input block by applying Galois Field multiplication
with a predefined linear transformation matrix (L) and cyclically shifting bytes.
S-transformation.
The S function is a regular substitution function.
Each byte of the input sequence is replaced by the corresponding byte from
the PI substitution table.
Srev-transformation
The Srev function is a regular substitution function.
Each byte of the input sequence is replaced by the corresponding byte from
the PI_REV substitution table.
Kuznyechik core class