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.
X
-transformation.
The input of the X
function is two sequences, and the output of the function is the XOR of these two sequences.
Kuznyechik core class