Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шемякин лекции 2023 / Л6. Стандарты шифрования ГОСТ, AES. ред.1.ppt
Скачиваний:
18
Добавлен:
30.05.2023
Размер:
3.84 Mб
Скачать

Постановка SubByte

В процедуре SubByte каждый байт подвергается следующим преобразованиям:

-инверсия байта – вычисляется обратный элемент в поле

GF(28 )

x8

x4

x3 x 1

 

по модулю неприводимого полинома

 

.

 

Это обеспечивает доказуемую устойчивость шифра по отношению к дифференциальному и линейному криптоанализу. При этом нулевой элемент поля сохраняется без 0016 преобразования.

-умножение каждого байта, представленного в виде вектора столбца на квадратную матрицу X. Результатом перемножения является вектор-столбец.

- добавление к полученному вектор-столбцу фиксированного

вектор-столбца.

60

61

Перестановка ShiftRows

Используется побайтовый циклический сдвиг строк в матрице состояний. Число сдвигов (0,1,2,3) зависит от номера строки. То есть первая стока не сдвигается, а последняя строка сдвигается на 3 байта

62

Пример перестановки ShiftRows

63

Перемешивание столбцов MixColumus

На этом шаге каждый столбец матрицы состояний представляется как вектор над полем GF(28 ) , и далее производится умножение в этом поле на определенную матрицу С с элементами из этого же поля.

02=00000010

После умножения каждый элемент новой матрицы (вектор-столбца)

зависит от всех четырех элементов старой матрицы.

65

 

Перемешивание столбцов

66

Пример операции перемешивания столбцов

67

Добавление раундового ключа AddRoundKey

Самое важное преобразование, которое включает ключ. Выполняется как побитовое сложение последней матрицы состояния с 128- битным раундовым ключем. После завершения раунда все операции повторяются с использованием других раундовых ключей.

68

Алгоритм выработки ключей (Nb=6. Nk=4)

K(i)=K(i-1) K(i-Nk)

Если i кратно Nk, то K(i)=K(i-1) Rcon

69

70