Методы и средства криптографической защиты информации. Жданов О.Н - 113 стр.

UptoLike

113
Рис. 2. Операция SubBytes.
Вместо данной табличной замены можно выполнить
эквивалентную ей комбинацию двух операций:
1.1. Вычисление мультипликативной обратной величины от
входного значения в конечном поле GF(2
8
); обратной величиной
от 0 является 0.
1.2. Выходное значение b вычисляется следующим образом:
b
i
= a
i
a
i + 4 mod 8
a
i+5 mod 8
a
i+6 mod 8
a
i+7 mod 8
c
i
,
где n
i
обозначает i-й бит величины n,
aрезультат предыдущей операции,
cшестнадцатеричная константа 63.
2. Операция ShiftRows, которая выполняет циклический сдвиг влево
всех строк массива данных, за исключением нулевой (см. рис. 3).
Сдвиг i-й строки массива (для i = 1, 2, 3) производится на i байт.
3. Операция MixColumns. Выполняет умножение каждого столбца
массива данных (см. рис. 4), который
рассматривается как полином в
конечном поле GF(2
8
), на фиксированный полином a(x): a(x) = 3x
3
+
x
2
+ x + 2.
Умножение выполняется по модулю x
4
+ 1.
4. Операция AddRoundKey выполняет наложение на массив данных
материала ключа. А именно, на i-й столбец массива данных (i = 0…3)
побитовой логической операцией «исключающее или» (XOR)
накладывается определенное слово расширенного ключа W
4r+i
, где r
номер текущего раунда алгоритма, начиная с 1 (процедура
расширения ключа будет описана ниже). Операция AddRoundKey
представлена на рис. 5.
Количество раундов алгоритма R зависит от размера ключа следующим
образом:
Размер ключа,
бит
R
128 10
192 12
256 14