При ® 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).
Ссылка на скачивание - внизу страницы.