Исследование криптографических свойств нелинейных узлов замены уменьшенных версий некоторых шифров, страница 2

Основное внимание в работе сосредотачивается на S-блоках уменьшенных моделей шифров, составивших решения, представленные на конкурс по выбору нового стандарта блочного симметричного шифрования Украины, в числе которых шифры КАЛИНА, ADE, МУХОМОР и ЛАБИРИНТ [22-25]. Нас, прежде всего, будет интересовать, как уже отмечалось, возможность сохранения в уменьшенных моделях шифров соотношений криптографических показателей характерных для больших шифров (учет при построении
S-блоков принципов заложенных в исходных алгоритмах). Попутно мы будем интересоваться и показателями S-блоков уже известных уменьшенных моделей шифров mini-AES и Baby-ADE.

S-блоки шифра mini-AES.  Как уже отмечалось ранее в нашей работе [18], в шифре mini-AES в качестве подстановки используется первая строка первого S-блока DES - подстановки, сформированной с помощью тщательного отбора [26].

S-блоки шифра baby-Rijndael.  В качестве основы  построения S-блока шифра Rijndael (AES) его разработчики Даймен и Риджмен взяли отображение  в конечном поле - конструкцию, предложенную К. Нюберг [27]. Оно обладает высокой нелинейностью, высоким порядком нелинейности, предельной устойчивостью к атакам дифференциального криптоанализа, эффективной конструкцией и хорошей определенностью (вычислимостью). Чтобы повысить дополнительно алгебраическую сложность преобразования, они скомпоновали эту функцию с другой простой функцией, в качестве которой была взята аффинная функция (снова предложение К. Нюберг [27]). В результате процедура подстановки (SubBytes) задается аффинным преобразованием вида

,

где  – квадратная невырожденная матрица размером 8×8 с элементами из поля , a и b – 8-и битные векторы значений входа и выхода преобразования SubBytes соответственно (элементы соответствующих матриц-состояний), а  – фиксированный 8-и битный вектор, являющийся заданным постоянным параметром этого преобразования (т.е. a, b, ).

В уменьшенной модели шифра baby-Rijndael [28], найденной в открытой печати, используется S-блок, построенный по представленным выше правилам, но вместо байтовых векторов рассматриваются полубайтовые векторы. Соответственно невырожденная матрица  имеет размеры 4×4. Конструкция и параметры преобразования являются частным случаем построения S-блоков шифра baby-ADE  при значении параметра  = 1 (4-х битного вектора 0001), которые рассматриваются ниже.

S-блоки шифра baby-ADE.  В отличие от AES, в шифре ADE используются изменяемые таблицы блоков замены, формируемые с помощью дополнительно введенного параметра Î, который определяется битами расширенного мастер-ключа (предложение по использованию для построения S-блока управляемой цикловыми  ключами комбинации инверсного преобразования с линейным или аффинным также можно найти в работе К. Нюберг [27]). Мы повторили идею этого преобразования и в шифре Baby-ADE, только она отмасштабирована соответственно размеру 16-битного состояния [18].

В результате в качестве S-блока выступает изменяемая матрица подстановок, которая строится с помощью вычисления мультипликативно обратного элемента Πс последующим выполнением аффинного преобразования

.

Здесь уже и – четырехбитные векторы (полубайты матрицы состояний),  – квадратная невырожденная матрица 4×4:

,

 – 4-х битный вектор ():

.

Каждое значение выхода подстановки   зависит как от входного состояния , так и от случайного вектора , который задается значением циклового ключа. В результате осуществляется криптографическое преобразование данных, при котором происходит динамическое изменение S блоков (блоков нелинейных замен), с сохранением показателей их нелинейности.

Так, например, при  ® 0110 функция нелинейного преобразования задается следующей таблицей 1 (см. работу [18]).

Таблица 1. Таблица подстановок, реализующая S-блок Baby-ADE при

a

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

S(a)

10

2

0

6

15

1

12

4

14

11

7

13

9

5

3

8