Алгоритм выработки подключей

Раундовые ключи вырабатываются из исходного 16- битового секретного ключа по следующей схеме. Исходный 16- битовый ключ, как уже говорилось ранее, можно представить в виде четырех полубайтов К0о, Кю, Коь Кц. Эти четыре полубайта формируют первый раундовый подключ: К0о', К|0 Кц/, Кц1. Второй и третий раундовые подключи можно получить по следующим формулам:

где верхний индекс г - номер вырабатываемого подключа, а преобразование Sub Half-Bytes*() осуществляется по табл. 35.

Пример преобразования данных с помощью алгоритма SAES

Пусть даны входной блок данных: {7, е, 3, Ь} и секретный ключ К: {3, е, f, а}.

Запишем эти данные в виде двумерных массивов:

Для начала необходимо получить раундовые подключи. Первым раундовым подключом будет являться сам секретный ключ, т. е.

Воспользовавшись формулами (10), найдем:

Таким образом, получили три раундовых подключа:

При зашифровании с помощью алгоритма S AES начальной операцией является сложение исходных данных с первым раундовым подключом. В результате получим:

7 Ф 3 = 4

3 ©f = с

е Ф с = 0

ЬФа = 1

Затем произведем замену полубайтов с помощью табл. 35 и получим:

8

с

9

е

Теперь сдвинем вторую строку на один полубайт влево:

8

с

е

9

и произведем перемешивание столбцов с помощью операции MixColumns*(). Для начала представим табличные данные в виде многочленов. Итак, S0o = {8} = х3, Sjo = {е} = х32©х, S0, = {с} = х32, S„ = {9} = х3® 1.

Теперь можно приступить к нахождению новых элементов массива:

Получили следующий массив преобразованных данных:

4

6

2

3

Следующим шагом является сложение полученных данных со вторым раундовым подключом, т. е.

4 © с = 8

60 3 = 5

2 ®d = f

3 ©7 = 4

Теперь еще раз произведем замену полубайтов с помощью табл. 35 и получим:

6

b

2

ОС

Теперь сдвинем вторую строку на один полубайт влево:

6

ь

ос

2

Заключительной операцией является сложение с третьим раундовым подключом:

6 Ф 6 = 0

ЬФ 5 = е

8 © е = 6

2 ® 9 = b

Итак, в результате шифрования данных с помощью алгоритма шифрования S_AES, мы получили в результате значение {О, 6, е, Ь}.

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >