При
® 0000 параметр
принимается равным значению
. Если полубайт
также равен нулю (0000), то
®
0011.
S-блоки шифра baby-Лабиринт. Как отмечает автор разработки [23], S-блок шифра Лабиринт выбран из множества предельно-нелинейных биективных преобразований. За основу и в этом случае взята конструкция Нюберг-Динга, т.е. преобразование аффинно-эквивалентное функции вычисления обратного элемента в поле GF(28). Математически функция, определяющая преобразование S(x), осуществляемое S-блоком шифра Лабиринт, представляется в виде:
,
где
;
,
; B – некоторый базис над GF(28),
который определяется образующим (неприводимым) полиномом 8-й степени fS(x); E –
показатель степени; MX, MY – квадратные невырожденные матрицы размера 8´8,
с элементами из поля GF(2). В приведенном соотношении, для упрощения
записи, вектора, участвующие в матричном умножении, рассматриваются как
вектор–столбцы. Более полно с соображениями автора по выбору этого
преобразования можно познакомиться в [23].
S-блок приведенный в спецификации к шифру был сформирован с использованием следующих параметров:
• Неприводимый (над GF(2)) полином, с помощью которого
строится поле, есть
(в шестнадцатеричном представлении
0x1BD);
• Показатель степени
;
• Матрицы «входного» и «выходного» аффинных преобразований приведены ниже («вес» двоичных разрядов возрастает «сверху вниз» и «слева направо», т.е. элемент M[0,0], находящийся в верхнем левом углу, соответствует самому младшему разряду).
;
;
;
.Насколько оправдано такое усложнение процедуры, мы здесь обсуждать не будем. Заметим лишь, что авторы шифра Rijndael постарались выбрать наиболее простую конструкцию, обеспечивающую необходимые показатели стойкости и высокое быстродействие. Они пошли даже на то, что взяли в своем шифре S-блоки одной и той же конструкции (повторяющиеся).
В уменьшенной модели шифра Лабиринт операции выполняются над полубайтами.
Поэтому матрицы входного» и
«выходного» аффинных преобразований были взяты размером
,
а конкретнее:
;
;
;
,
т.е. строки (столбцы)
рассматриваются как элементы векторного пространства, образуемому полем
. Соответствующий неприводимый полином
выбран вида
, а параметр Eвзят равным
. Матричное представление
подстановки вычисленной для этих параметров имеет вид:
.
Если изменить порядок отсчета разрядов векторов на обратный (в соответствии с указаниями разработчика), то можно прийти также к подстановке
.
S-блоки мини–Калина и мини-Мухомор.
В
шифре «Калина» [24] используется 8 различных подстановок “байт-в-байт”, причем
для байтов одной строки текущего состояния шифра используется одна и та же подстановка.
В описании шифра готовые таблицы подстановок приведены в приложении. Известно,
что они построены с использованием конгруэнтного генератора ²случайных²
чисел. Для шифра «Мухомор» [25] указывается, что таблицы подстановки совпадают
с первыми 4-мя S-блоками алгоритма «Калина» Поэтому при
построении уменьшенных моделей этих шифров предложено использовать или набор
малых S-блоков (с разными или одинаковыми) параметрами
шифра baby-ADE, или малые S-блоки шифра Fox [29], обладающие, как утверждают авторы разработки, высокими
дифференциальными и линейными характеристиками переходов. Мы в дальнейшем и
сосредоточим свое внимание на более детальном изучении криптографических
показателей отмеченного семейства малых S-блоков
(подстановок 16-го порядка). В таблице 2 представлены построчно варианты
подстановок 16-го порядка, которые будут исследованы далее. Для шифра «Лабиринт»
приведены оба варианта представления разрядов входных и выходных векторов.
Таблица 2. S-блоки для уменьшенных версий шифров.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.