2022 Математические методы криптографии № 57
УДК 519.719.2+512.542.74 DOI 10.17223/20710410/57/4
КРИПТОГРАФИЧЕСКИЕ СЛАБОСТИ АЛГОРИТМОВ ТИПА «ГИПЕРКУБ»
Д. И. Трифонов
Академия криптографии Российской Федерации, г. Москва, Россия E-mail: d.arlekino@gmail.com
Рассмотрен класс блочных криптографических XSLP-алгоритмов, называемых «гиперкуб». Для алгоритмов данного класса получены оценки показателя рассеивания линейной среды для любого числа итераций. Показано, что при выборе преобразования P с использованием обобщённых графов де Брейна для рассматриваемых алгоритмов может не наступать лавинный эффект, вследствие чего ключ шифрования может быть определён с трудоёмкостью, существенной меньшей трудоёмкости тотального опробования ключей.
Ключевые слова: XSLP-шифр, криптоанализ, линейный метод, показатель рассеивания, «гиперкуб».
FLAWS OF HYPERCUBE-LIKE CIPHERS
D. I. Trifonov
Academy of Cryptograhy of Russian Federation, Moscow, Russia
A class of block XSLP cryptographic algorithms called "hypercube" is considered. These algorithms have a block size n = n' ■ m = n' ■ m' ■ k bits. A hypercube-like algorithm is an iterative block algorithm consisted of four main operations: (1) key addition (by XOR), (2) n'-bit S-box application, (3) block-diagonal diffusion matrix diag(Ai,..., Ak), Ai e GF(2)n/m/,n/m/, multiplication with diffusion degree p, and (4) permutation. The main results are the following: 1) the idea of constructing linear correlations and probabilities of distribution of differences, determined by hypercube-like algorithms, has been described; 2) the linear environment propagation index for any number of rounds has been evaluated; 3) the relevance of branch number 0(r) for differential trails probability and correlation of linear trails for any r e N, r ^ 2, rounds has been formally represented; 4) for hypercube-like algorithms, it is shown that when constructing a P-transform using de Bruijn graphs, the avalanche effect may not occur, which means that the (time) complexity of determining the encryption key will be much less than the exhaustive key search (time) complexity. Let n = n'(m')d and P : Vn ^ Vn affect a = (a0,..., am-1) e Vn, ai e Vn, as follows. Numbers l e {0,..., (m')d — 1} of ai e Vn in a e Vn are considered as l = j0 + j1m' + ... + jd-1(m')d-1, jt = 0,..., m' — 1, t = 0,..., d — 1. Let the mapping P is defined as P(a) = P(a0,... ,a(m/)d-1) = (aT(0),... ,aT((m/)d-1)), t e S(m/)d, t(l) = t(j0,..., jd-1), l = 1,..., (m')d. In the case d = 3 it is obtained that if P is rotation of hypercube, i.e., t(j0, j1, j2) = (j1, j2, j0), then 0(r) ^ t(r), t(1) = m', t(r) = ((m')2 + m') [r/2] + m'(r mod 2), r ^ 2. In the case t(i0, i1, i2) = (i0, i1 + i0 mod m', i2 + i0 mod m') we obtain 0(r) = 0(r — 4) + p2, 0(1) = 1, 0(2) = p, 0(3) = 2p — 1, r e N, r > 4.
Keywords: XSLP-ciphers, cryptoanalysis, linear method, branch numbers, hypercube structure.
Введение
В [1] отмечено, что благодаря появлению линейного метода криптографического анализа в отечественной и зарубежной практике сформировался уже устоявшийся подход к построению блочных шифров: в качестве нелинейных необходимо использовать преобразования, обеспечивающие необходимые характеристики относительно линейного и разностного методов, а в качестве линейных преобразований — преобразования с достаточно высокими рассеивающими свойствами. По такому принципу построено много криптографических алгоритмов, среди которых можно отметить российский стандарт блочного шифрования «Кузнечик» [2].
Вместе с тем выбор криптографически качественных примитивов далеко не всегда означает построение блочного алгоритма с высокими криптографическими свойствами (см., например, [1, 3]). В данной работе показано, что для XSLP-алгоритмов с использованием в качестве преобразования L блочно-диагональной матрицы с максимально рассеивающими матрицами на диагонали, а в качестве преобразования P коммутации, построенной с использованием обобщённых графов де Брейна, существуют эффективные схемы согласования, позволяющие строить эффективные методы определения ключа.
1. Определения и обозначения
В работе используются следующие определения и обозначения [4, 5]:
— Zn — кольцо вычетов по модулю n;
— Fmn — множество всех матриц из m строк и n столбцов с элементами из поля F;
в случае поля F2 применяется обозначение (F2)n,n = Mn;
— S(A) — симметрическая группа подстановок на непустом множестве A; в случае
A = {0,1,..., m — 1} применяется обозначение Sm.
Определение 1. Под наступлением лавинного эффекта на t-й итерации блочного криптографического алгоритма будем понимать существенную зависимость всех бит обрабатываемого информационного блока на t-й итерации от всех входных бит, t Е N.
Определение 2 [6]. Пусть m > 1, r > 1 —натуральные числа, n = mr. Множество вершин графа де Брейна порядка r на n = mr вершинах составляют все r-мерные векторы вида (v0, V\,... , vr-1), v Е Zm, i = 0,... , r — 1. Из вершины (v0, V\,... , vr-1) исходит m дуг в вершины (e, v0, v1,... , vr-2); в неё также входит m дуг из вершин (v1,..., vr-i, e), где e — любой элемент Zm.
Замечание 1. В условиях определения 2 в графе де Брейна петли имеются в точности на m вершинах (v,..., v) Е Zm.
Определение 3 [6]. Пусть n, r — натуральные числа, n > 1, r ^ 1. Ориентированный граф на n вершинах называется 5-графом (или обобщённым графом де Брей-на) порядка r, если для любой пары его вершин существует единственный направленный путь длины r из одной вершины в другую.
Замечание 2. Если в д-графе Г порядка r изменить направление по каждой его дуге на противоположное, то получающийся граф Г также будет д-графом порядка r.
2. Постановка задачи
В [7, п. 9.7.1] для построения блочных алгоритмов с высокими криптографическими характеристиками предлагается использовать структуру «гиперкуб» (d-мерный куб). Каждый алгоритм, имеющий структуру «гиперкуб», по сути представляет собой XSLP-алгоритм со следующими параметрами: n — размер блока в битах; d — размерность гиперкуба; m — число нелинейных преобразований (подстановок) на n'-подвек-торах; m' — размер стороны гиперкуба; n = n' ■ m = n' ■ m' ■ k; r — число итераций. Будем полагать k = (m')d-1, то есть n = n'(m')d, m = m' ■ k = (m')d.
Обрабатываемый данным алгоритмом информационный блок представляется следующим образом. Компоненты вектора (a1,...,am) Е Vn, а» Е V^, i = 1,...,m, записываются в ячейки d-мерного куба последовательно по всем граням. Так, в случае d =2 запись происходит в таблицу размера m' х m'.
При реализации алгоритмов из предлагаемого семейства на каждой итерации используются следующие преобразования:
Наложение ключа X[K] : Vn " Vn, где X[K](a) = Kфа; a, K Е Vn.
Нелинейное преобразование S : Vn " Vn, S(a) = S(a0,... ,am-1) = (n0(a0),..., nm-1(am-1)), а» Е Vn', п» Е S(K'), i = 0,... ,m — 1.
Рассеивающее преобразование L : Vn " Vn,
L(a) = (a0, . . .
, am' -1, am', . . . , a2m'-1, . . . am'fc-1 ) = (60, . . . ,bm'-1, 6m', . . . , &2m'-1, . . . frm'fc-1),
а» Е Vn', i = 1,... ,m' ■ k при этом (6m'(i-1),... , ^-1) = (am'(i-1),... ,aim'-1)Aj, где А» Е Е GF(2)n'm',n'm', i = 1,..., k; aj, Е K', j = 0,... ,m'k — 1; а» Е Vvw, (а1|| ... ||afc) Е K;
Коммутация P : Vn " Vn, действует на вектор a = (a0,..., am-1) Е Vn, а» Е V^, следующим образом. При m = (m')d представим номер l Е {0,..., (m')d — 1} подвек-тора аг Е V^ вектора а Е Vn в виде m'-ичной записи l = j0 + j\m' + ... + jd-1(m')d-1, jt = 0,..., m' — 1, t = 0,... , d — 1, которой будем ставить во взаимно-однозначное соответствие набор (jo, j1,..., jd-1). Тогда Р(а) = Р(а0,..., а^'^-О = (аг(0),..., ат((т')^-1)), где т Е S(m')d. т(l) = т( j0, . . . , jd-1) = Ob . . . , jO^ 1 = 1 . . . , (m')d.
В рассматриваемой конструкции XSLP-алгоритма ключевую роль играет выбор перестановки на номерах подвекторов (коммутации) т. В [7, п. 9.7.1] предлагается использовать коммутацию вида
(j0,...,jd-1) "" (j1,j2,...,j0). (1)
Такой выбор явился следствием глубокой проработанности вопроса использования данной коммутации в SP-сетях [8]. В [8] также указывается на то, что в SP-сетях степень рассеивания для преобразования Р определяется по лавинному эффекту. Отметим, что для SP-сети преобразование Р задаётся коммутацией на номерах координат вектора. Согласно [8, теорема 3], оптимальными в этом отношении являются подстановки Р Е Sn, для которых переходы (i, P(i)), i = 1,...,n, содержатся среди дуг обобщённых графов де Брейна [6].
Во введённых определениях, исходя из [8, теорема 3], с точки зрения качественного представления о рассеивании наиболее предпочтительными при n = mr являются коммутации Р Е Sn, для которых Г(Р) или Г(Р-1) является д-графом порядка r, в частности графом де Брейна, r Е N. Данные рассуждения также переносятся на рассматриваемый в настоящей работе случай n = n'(m')d, когда преобразование Р используется для рассеивания подвекторов длины n'. В этом случае дугами графа де
Брейна Г0 на множестве {0,1,..., (т')1 — 1} являются пары вершин
((¿о, ¿1,...,¿1-1), (¿1,... ,¿1-1, 3)) : ¿0 , ¿1,.. . ,¿1-1,3 ^ {0,1,...,т — 1}.
В «канонической» БР-сети [8] в качестве коммутации Р0 £ , для которой Г(Р0-1) = = Г0, рекомендуется брать подстановку Р0, задаваемую коммутацией вида (1):
Ро^) = Р0(¿0, . . . ,«г-1) = (¿1, . . . Л-1 ,¿0).
При d = 2 коммутация т вида (1) хорошо зарекомендовала себя при использовании в блочных криптографических алгоритмах и хэш-функциях (выделим в первую очередь алгоритмы АЕБ [9] и Стрибог [10]). Вместе с тем далее показано, что при d =3 коммутация т вида (1) обладает недостаточными рассеивающими свойствами. Данное обстоятельство приводит к отсутствию лавинного эффекта и как следствие — к возможности построения эффективных схем согласования для определения ключа алгоритма.
Замечание 3. Коммутация Р вида (1) для ХБЬР-алгоритма со структурой «гиперкуб» соответствует с точностью до переобозначений повороту d-мерного куба относительно одной из осей. Согласно [7, с. 145], при d > 1 данное преобразование является «оптимальным» в смысле обеспечения существенной зависимости бит промежуточного блока от входных данных.
Пример 1. Пример преобразования Р в случаях d =2 и 3 представлен на рис. 1.
¿ = 2 с1 = 3
Рис. 1. Действие коммутации Р в случаях d = 2 и 3
В случае d =3 нижняя строка подстановки т имеет следующий вид:
1,10,19, 2,11, 20, 3,12, 21,4,13, 22, 5,14, 23, 6,15, 24, 7,16, 25, 8,17, 26, 9,18, 27
Графически перестановка вида (1) номеров подвекторов, записанных в 3-мерный
куб, приведена на рис. 2. Для большей наглядности вместо подстановки т приведена 1
подстановка т 1, нижняя строка которой имеет следующий вид:
1,4, 7,10,13,16,19, 22, 25, 2, 5,8,11,14,17, 20, 23, 26, 3, 6,9,12,15,18, 21, 24, 27.
Рис. 2. Коммутация т 1 при d = 3
3. Примеры коммутаций
Приведём примеры коммутаций т вида (1), используемых в различных криптографических алгоритмах. На некоторые из рассмотренных примеров автору указали А. В. Анашкин и Ф. М. Малышев.
Алгоритм LOKI91 [11, 12]. Данный алгоритм схож по своему строению с алгоритмом DES [13]. В алгоритме LOKI91 используется перестановка t G S32, для которой нижняя строка подстановки t-1 имеет следующий вид:
31, 23,15, 7; 30, 22,14,6; 29, 21,13, 5; 28, 20,12, 4; 27,19,11, 3; 26,18,10, 2; 25,17, 9,1; 24,16,8, 0.
Естественней здесь выглядит подстановка a G S32, a(i) = t(32 — i), i = 0,1,... , 31. Для задания подстановки a верхняя строка разбивается на четыре восьмёрки подряд идущих чисел, а нижняя — на восемь четвёрок подряд идущих чисел. Тогда верхняя строка параметризуется парами (i, j), а нижняя — парами (j, i), i = 0,..., 3, j = 0,..., 7. В этом случае подстановка a определяется правилом a(i, j) = (j,i).
Алгоритм SAFER K-64 [14, 15]. Данный алгоритм представляет собой SP-сеть. В алгоритме используется подстановка t G Sg, нижняя строка которой имеет вид (0, 4,1, 5, 2, 6, 3, 7). Подстановка t может быть задана как подстановка a в алгоритме LOKI91, а именно: t(i, j) = [j, i], где (i, j) = 2i + j, [j, i] = 4j + i, i = 0,... , 3, j = 0,1. Если i G {0,... , 7} представлять в двоичном виде i = (io, i1, i2) = io ■ 22 + i1 ■ 2 + i2, то i = (io,i1), j = i2 и t(io,i1,i2) = (i2, io,i1).
Нетрудно убедиться, что ориентированный граф Г на множестве вершин {0,... , 7} с дугами i A t-1(i), i A t-1(i) ± 1, где знак «+» берётся при чётном t-1(i) и знак « —» иначе, является графом де Брейна.
Далее приведём два примера криптографических алгоритмов с длиной блока п = = п'(т')2, в которых коммутация т рассматривается в несколько обобщённом виде, а именно:
(j^ ... , jd-1) A (jb^ ... ,T(j^ j'b ... , jd-l)), (2)
где T : Zm A Zm —некоторая функция.
Алгоритм AES [9]. В криптографическом алгоритме AES с длиной блока 128 = = 8 ■ 42 бит и длиной ключа 256 бит в качестве рассеивающего преобразования P (ShiftRow Transformation) используется следующая подстановка:
/0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 = V0 13 10 7 4 1 14 11 8 5 2 15 12 9 6 3
Тогда, представив числа из множества {0,... , 15} в виде i = i0 + i1 ■ 4, i0, i1 = 0,1, 2, 3, получаем, что преобразование Р имеет вид
(i0,i1) " (i0, (i1 — i0) mod 4).
Строго говоря, данное преобразование не является преобразованием вида (2). Для того чтобы привести его к виду (2), произведём перенумерацию подвекторов длины n', которые являются входами для соответствующих нелинейных преобразований. Перенумерация заключается в переходе к новым младшим цифрам в номере с сохранением старших. Другими словами, вместо (i0,i1) рассматриваются (j0, j\), j = i1, j0 = i1 + i0. Тогда номера подвекторов длины n' изменятся по следующей подстановке:
= /01234567 8 9 10 11 12 13 14 15\ T = ^0 1 2 3 5 6 7 4 10 11 8 9 15 12 13 14y ,
а коммутация AES примет вид
Р^0 ,i1) = т-1(i1 ,Т»! (i0)),
где
'0 1 2 3\ m /0 1 2 3\ m /0 1 2 3\ m /0123
To ^0 3 2 1J ' Tl 0 3 2J ' T ^2 1 0 3y ' Тз ^3 2 1 0
Алгоритм LUCIFER [16]. Здесь рассматривается изменённая версия алгоритма Люцифер (иногда обозначается Lucifer (v1)), которая была выдвинута компанией IBM в качестве национального стандарта США. Алгоритм представляет собой 8-раундовую SP-сеть и имеет длину блока 128 бит и длину ключа 256 бит. При длине блока n = (ш')2 в качестве подстановки t G S(m/)2 используется подстановка t(i0, i1) = (i1,w(i1) + i0), io'ii G {0,... ' ш' — 1}, сложение производится по модулю ш' и w G .
Перенумерацией, рассмотренной для алгоритма AES, можно прийти к аналогичному виду коммутации:
(j0' ji) ^ (j1' 2ji — jo).
4. Показатель рассеивания
Согласно [17, 8, 18], линейный метод нацелен на получение вероятностного линейного соотношения шифрпреобразования
F : Vn х Vk ^ Vm' Vn х VK Э ^ z) ^ b = F^ z) G Vm (3)
общего вида, задаваемого функциональной схемой, которая представляется последовательностью выполняемых в определённом порядке линейных и нелинейных преобразований. Для блочного шифрования в (3) M = N, a G Vn и b G Vn — соответствующие блоки открытого и шифрованного текстов, z G Vk — ключ. Предполагается, что биты ключа складываются по модулю 2 с соответствующими промежуточными знаками шифрпреобразования.
Последовательность преобразований функциональной схемы можно представлять в виде условных или безусловных шагов алгоритма, не содержащего операторов перехода на предыдущие операторы. Пусть нелинейные операции в этой программе
f : К; ^ Vmi' М- y = /¿(x¿)' i = 1'... ' k' (4)
следуют в указанном порядке. Значения переменных х € Ущ, yi € Ут1 и Ь € Ум однозначно задаются значениями а € VN и г € Ук. В промежутках между операциями (4) (как и в начале и в конце программы) могут быть линейные преобразования.
Основным этапом в линейном методе применительно к шифрпреобразованию (3) является нахождение трёх конкретных вектор-столбцов Ь', Ь и Ь'' = 0 размеров А, К и М соответственно, для которых желательно, чтобы булева случайная величина п = = аЬ' + гЬ + ЬЬ'' имела как можно большее значение 8 = |2 Р[п = 0] — 11 для как можно большего числа ключей г € У к, где вероятность Р[-] вычисляется при случайном равновероятном выборе вектора а € Ум, ключ г € Ук фиксирован.
Случайная величина п определяется по набору вектор-столбцов
£ = ($,/''),г = 1,...,к)
размеров соответственно щ и т-1 как
п = Е М + у^'). (5)
i=1
Чтобы такая сумма приняла вид аЬ' + гЬ + ЬЬ'' для каких-либо вектор-столбцов Ь', Ь и Ь'' = 0, набор £ должен удовлетворять специальным условиям согласованности. Для их формулировки компоненты ^ припишем на функциональной схеме в виде входных пометок к соответствующим компонентам ж^ а компоненты аналогично припишем к компонентам ^ в виде выходных пометок. Расстановка пометок в виде элементов из СЕ(2) распространяется и на каждую линейную операцию в шифрпреобразова-нии (3). При этом если д : Уп А У^, Уп Э ж А у = жд € У^,—одна из линейных операций в шифрпреобразовании (3) и входные пометки д образуют вектор-столбец а' размера п, а выходные пометки д — вектор-столбец а'' размера т, то в целях обеспечения равенства жа' = уа'' условие согласованности (в соответствии с ха' = жда'') предполагает выполнение равенства а' = да''. В частности, пометки вокруг сумматора
(Х1, . . . ,Хп) А Х1 + ... + Хп = У1
одинаковы, а пометки вокруг узла размножения
Х А (ж1,...,Хп) = (у1 ,...,Ут)
в сумме дают нуль. При п = т и д = idyn обязательно а' = а''. Последнее означает, что если выход некоторого отображения в шифрпреобразовании (3) является входом какого-то одного отображения, то к этим выходу и входу приписываются одинаковые пометки.
Пара (^, /'') в наборе £, такая, что ^ = 0, = 0 или = 0, /'' = 0, а / биективно, считается дефектной. Тогда слагаемые ж^' + у^' в (5) при случайном равновероятном жi € Ут обладают равномерным распределением на СЕ(2), то есть имеет максимальную неопределённость.
Пусть Ш — совокупность всех согласованных наборов пар вектор-столбцов £ = = ((/', /П, г = 1,... , к) без дефектов, в которых хотя бы один вектор-столбец ненулевой (данный набор будем также называть £-путём). Обозначим
е£ = |{г =1,...,к : С = 0}|
Для уменьшения неопределённости суммы (5) приходится следить за уменьшением неопределённости отдельных слагаемых. Она минимальна при /i = 0, /" = 0. В этой связи становится важной характеристика
9 = min 9£ (6)
few
для шифрпреобразования (3), точнее, для линейной среды этого шифрпреобразова-ния, образованной всеми линейными преобразованиями соответствующей функциональной схемы. Замена совокупности нелинейных отображений (4) на любые другие отображения при тех же n^m^ никак не скажется на величине 9. Чем больше 9, тем соответствующий шифр является более стойким к линейному методу и тем легче можно этого добиваться путём специального выбора нелинейных отображений (4). Более тщательный выбор последних отображений позволяет также (в большинстве случаев) повышать стойкость к другим методам криптографического анализа.
5. Основной результат
Не ограничивая общность, для простоты изложения будем рассматривать случай d =3, n = n'(m/)3. Приведённые далее рассуждения могут быть без труда обобщены на случай d > 3.
Пусть также коммутация т на номерах координат имеет вид
(jo,j1,j2) ^ (j1,j2, jo), j0,j1,j2 G I0, l,...,m/ - l}, (7)
где при фиксированных j , j2 число j0 принимает всевозможные значения из множества {0,1,... ,m/ — l}. Как и в примере 1, в рассматриваемом алгоритме преобразование P будем отождествлять с поворотом влево 3-мерного куба относительно оси z в системе координат (x,y, z).
Покажем, что в данном случае для XSPL-алгоритма при любом числе итераций не наступает существенная зависимость бит промежуточного блока от каждого бита входного блока. Эта слабость приводит к появлению эффективной схемы согласования, что существенно влияет на стойкость рассматриваемого криптографического алгоритма.
Следуя работе [19], введём специальное представление XSLP-алгоритма в виде графа. Данное представление тесно связано с оценкой эффективности линейного метода криптографического анализа. В частности, теоретико-графовый подход хорошо зарекомендовал себя при вычислении показателя рассеивания линейной среды шифрпре-образования (более подробно см. [19, 20]).
Пусть £ = ((/j, //j), i = 1,... , r, j = 0,... , m — 1) — произвольный ненулевой согласованный набор столбцов без дефектов, входящий в определение (6) показателя 9. Столбец //j состоит из n/ бит меток входов подстановки п^ (без ограничения общности будем считать, что п^ = п), а столбец //j —из n/ меток выходов этой же подстановки. Отсутствие дефектов означает, что /j = 0 тогда и только тогда, когда //j = 0, i = 1,..., r, j = 0,..., m — 1. Согласованность £ означает, что
/// = P(L(//+i)), i = 0,1,...,r — 1,
где
— столбец /" составлен из столбцов //j, j = 0,..., m — 1;
— столбец составлен из столбцов //+1j-, j = 0,..., m — 1;
— Ь € СЕ(2)п/т,п/т — блочно-диагональная матрица, составленная из матриц ,
= 1,..., к, г = 1,..., г — 1, которые имеют показатель рассеивания р [19] относительно разбиения вектора длины п' • т' на подвектора длины п';
— Р € СЕ(2)плт,плт — подстановочная матрица, осуществляющая перестановку п'-векторов в соответствии с коммутацией т. При этом меняются местами только п'-векторы, соответствующие подстановкам
П^Оо,Л ,л) , П^(л ,.2 .о) ,
для всех г = 1,..., г и всех З = З0 + ^т' + З2(т')2, З0€ {0,1,..., т' — 1}. Набору £ поставим в соответствие неориентированный граф Г. Вершинами графа Г, располагающимися в следующих сверху вниз г — 1 ярусах, являются те блоки В^(л,;/2), г = 1,... , г — 1, ^1,^2 = 0,... , т' — 1, для которых /"*(.,•. = 0, а значит, и
^,*(л,л) = Здесь столбец 1"*(л,л) (/',*(л,л) = 0) составлен из столбцов /i'(j0,j1,j2) (соответственно /',(.0,.1,.2)), Зо = 0 ... ,т' — 1.
Ребром графа Г будем называть пару вершин (В^.-^), ^+1,(.2 ,.0)) при некотором
Зо = 0 . . . , т' — 1, таком, что /'+1,*(.2.0) = 0.
Дополнительно к каждой вершине В1(.1 ,.2) верхнего яруса добавим
[[/1.2)]] = |{Зо = 0,...,т' — 1 : /'/,(.2) = 0}|
рёбер, а к каждой вершине Вг-1,(.1 ,.2) нижнего яруса — [[В-—. .)/'' ^ .)]] рёбер. После этого величина в £ будет совпадать с числом рёбер в графе Г.
Для удобства графического представления графа Г будем изображать его следующим образом. Все (т')2 вершин графа Г запишем в таблицу из т' строк и столбцов. Запись в таблицу будем производить по строкам слева направо. Таким образом, граф Г имеет вид, приведённый на рис. 3.
Рис. 3. Общий вид графа Г для ХБЬР-алгоритма с длиной блока п = п'(т')3
Граф Г для ХБЬР-алгоритма, состоящего из г € N итераций, будем обозначать Г(г). Часть графа Г(г), соответствующую г-й итерации, будем называть (г —1)-м слоем, г ^ г. Слои в графе Г(г) занумеруем справа налево начиная с нуля. Количество неизолированных вершин в г-м слое обозначим через М^ 0 ^ г ^ г — 2.
5.1. Показатель рассеивания алгоритма типа гиперкуб
Лемма 1. Для любого г € N г ^ 2, и графа Г(г) каждая неизолированная вершина графа г-го слоя смежна лишь с такими вершинами (г + 1)-го слоя, которые стоят в одном столбце и в разных строках (г + 1)-го слоя, 0 ^ г ^ г — 2.
Доказательство. Рассмотрим произвольную неизолированную вершину графа Г(г). Из неё выходят рёбра с номерами (^0,^1,^2) = + Лш' + ,?2(ш')2; € Е {0,... , ш' — 1} фиксированы, принимает все значения из множества {0,..., ш'—1}. Согласно определению коммутации т (7), данные рёбра (подвекторы длины п') будут переставляться в соответствии с правилом
Для завершения доказательства необходимо заметить, что ребро с номером (^'0,^1,^2) инцидентно вершине, стоящей с строке с номером и столбце с номером ■
Следствие 1. В условиях леммы 1, вершины ¿-го слоя графа
Г (г), лежащие
в ^'-й строке, смежны лишь с такими вершинами (г + 1)-го слоя, которые лежат в ]-м столбце, ] = 1, 2,... , ш'.
Лемма 2. Для любого г € N г ^ 2, и графа Г(г) выполнены следующие неравенства:
М + Мг+2 ^ р, 0 ^ г ^ г — 3. (8)
Доказательство. Рассмотрим три подряд идущих слоя графа Г(г). Нетрудно убедиться в том, что неравенство (8) обращается в равенство при Мг+1 = 1. Так как в графе Г(г) отсутствуют петли и кратные дуги, а также в силу р(Аг) = р, г = 1,... , к, получаем, что единственная вершина (г + 1)-го слоя инцидентна по крайней мере р рёбрам, а значит, смежна по крайней мере с р вершинами, находящимися в г-м и (г + 2)-м слоях. Следовательно, Мг + Мг+2 ^ р. Графическая интерпретация ситуации, когда неравенство (8) обращается в равенство, при ш' = 3 представлена на рис. 4.
Mt =1 Мм = 1 М , = т' 1+2
/о \
• • • • /С »\
• ф
■ о о/
«
Рис. 4. Пример графа Г(4), для которого Mi + Mi+2 = р при m' = 3 и р = m' + 1
Если предположить, что Mi + Mi+2 < р, то неизолированная вершина (i + 1)-го слоя будет инцидентна менее чем р рёбрам, что противоречит условию p(Ai) = р, i = 1,..., k. ■
Теорема 1. Пусть р = m' + 1. Тогда для показателя рассеивания в = e(r) линейной среды XSLP-алгоритма на r G N, r ^ 2, итераций справедлива следующая оценка:
в(г) ^ t(r), t(1) = m',
r
t(r) = ((m')2 + m') - + m'(r mod 2), r ^ 2.
Доказательство. Используем лемму 1, а также тот факт, что для любого графа Г(r) выполнено e(r) ^ и(Г(r)), где и(Г(r)) —количество рёбер в графе Г(r). Построим граф Г(r), такой, что t(r) = и(Г(r)).
Выберем l G {1,...,m'}. Начнём построение графа с первого слоя, в котором m' неизолированных вершин находятся в l-м столбце. Из каждой неизолированной
вершины выходит по одному ребру, причём все рёбра смежны лишь с вершинами в / -й строке. Второй слой состоит из т' неизолированных вершин, находящихся в /-й строке. В каждую вершину входит одна и выходит т' рёбер таким образом, что третий слой содержит т' неизолированных вершин, лежащих в /-м столбце. Таким образом, в каждую неизолированную вершину третьего слоя входит т' рёбер и выходит одно ребро. Далее граф строится по индукции аналогичным образом.
Пример описываемого графа Г(г) при т' = 3 приведён на рис. 5. ■
Рис. 5. Граф ХБЬР-алгоритма с длиной блока п = п'(т')3 при т' = 3, для которого и(Г(г)) = ¿(г), г = 1, 2,...
5.2. Один подход к определению ключа алгоритмов типа «гиперкуб»
Более подробно остановимся на существенной слабости рассматриваемого ХБЬР-алгоритма, имеющего структуру «гиперкуб». Для этого приведём подход к методу определения ключа для данного алгоритма и оценим его трудоёмкость. Пусть для ХБЬР-алгоритма на каждой итерации используются случайно равновероятно выбранные ключи К € Разобъём ХБЬР-алгоритм на т' параллельно действующих алгоритмов меньшей размерности. При этом каждый из таких алгоритмов получается, согласно доказательству теоремы 1, путём выбора номера / € {1,... ,т'} столбца, содержащего неизолированные вершины в первом слое соответствующего графа. Тогда, используя результаты и терминологию теоремы 1, получаем, что в каждом алгоритме меньшей размерности при любом числе итераций г € N вместо п • г бит ключа будет использоваться только п' • ¿(г) бит.
Учитывая, что параллельно действующие алгоритмы меньшей размерности между собой никак не связаны, получаем следующую оценку трудоёмкости метода определения ключа:
т'(п' • ¿(г)),
что существенно меньше трудоёмкости полного опробования п • г.
5.3. Ещё один вариант коммутации д л я а л г о р и т м о в т и п а « г и п е р к у б »
Покажем, что, вообще говоря, выбор преобразования Р в ХБЬР-алгоритмах представляет собой нетривиальную задачу, а обоснование криптографических качеств таких алгоритмов в целом — трудоёмкий процесс, в котором можно легко пойти по ложному пути.
Рассмотрим вопрос выбора коммутации в описанном ХБЬР-алгоритме типа «гиперкуб» с длиной блока п = п'(т')3. За основу выбран принцип, используемый в алгоритме типа «гиперкуб» при й =2 и п = п'(т')2. Рассмотрев граф Г такого алгоритма, можно убедиться, что он состоит из т' вершин, в каждую из которой в общем случае приходит не более т' рёбер (каждое ребро выходит из своей вершины) и выходит не более т' вершин (опять-таки в разные вершины).
Сохранение этого принципа при d =3 в явном виде невозможно ввиду большого количества вершин в графе Г. В качестве альтернативы коммутации вида (1) рассмотрим коммутацию
(i0, ii, i2) "" (¿0, ¿1 + ¿о mod m', i2 + ¿о mod m'). (9)
При m' = 3 коммутация имеет следующий вид:
1,14, 27,4,17, 21, 7,11, 24,10, 23, 9,13, 26, 3,1620, 6,19, 5,18, 22, 8,12, 25, 2,15.
С одной стороны, данная коммутация обеспечивает указанный принцип: в графе Г в каждую вершину заходит и выходит по т' рёбер в разные вершины соответствующих слоёв. Однако эта коммутация сохраняет слабости коммутации вида (1). На это обстоятельство автору указал Ф. М. Малышев. Таким образом, имеет место следующее Утверждение 1. Пусть рассматриваемый ХБЬР-алгоритм имеет длину блока п = п'(т')3 и преобразование Р задаётся коммутацией вида (9). Тогда для показателя рассеивания в = в(г) линейной среды ХБЬР-алгоритма на г € N итераций выполнено:
1,
Р,
r) = < 2р - 1,
Р2,
(r - 4) + р2
если r = 1 , если r = 2, если r = 3, если r = 4, если r > 4.
Доказательство. Для доказательства утверждения нужно лишь заметить, что в графе Г существует подграф Г1, который соответствует XSLP-алгоритму с длиной блока n1 = n' • m2 и равномерно рассеивающими перестановками (в терминологии [20]), то есть коммутацией вида (1).
Действительно, выделим одну вершину в графе Г с номером i Е {1,..., (m')2}. Данная вершина инцидентна рёбрам, которые соответствуют подстановкам с номерами (i — 1)m' + 1, (i — 1)m' + 2, ..., (i — 1)m' + m'. Представив эти номера в виде i0 + m'j1 + + (m')2j2, получаем, что коммутация т действует следующим образом:
(i0, i1, i2) "" (i0, i1 + i0 mod m', i2 + i0 mod m') "" (i0, i1, i2).
Это с точностью до перенумерации соответствует коммутации вида (1). Таким образом, в каждом слое графа Г1 всего m' вершин, в каждую из которой входит не более m' рёбер и выходит не более m' рёбер, причём это справедливо при любой выборе i Е {1,..., (m')2}.
Осталось заметить, что для графа Г1, согласно [20], выполнено
(Г(1)) = 1, и(Г(2)) = р, и(Г(3)) = 2р — 1, и(Г(4)) = р2, и(Г(5)) = и(Г(r-4)) + р
что завершает доказательство утверждения. ■
В качестве примера, демонстрирующего результат утверждения 1, рассмотрим случай т' = 3. Для получаемого в этом случае ХБЬР-алгоритма подграф Г1 графа Г приведён на рис. 6.
о
Ф <2>
Ф Ф
<Т) (2)
I (2>
о
Рис. 6. Подграф А графа Г ХБЬР-алгоритма с длиной блока п = п'(ш')3 при ш' = 3 и коммутации вида (9). Рёбра и вершины занумерованы слева направо, начиная с 1
1. Трифонов Д. И., Фомин Д. Б. Об инвариантных подпространствах в XSL-шифрах // Прикладная дискретная математика. 2021. Т. 54. С. 59-77.
2. ГОСТ Р 34.12-2015. Информационная технология. Криптографическая защита информации. Блочные шифры. М.: Стандартинформ, 2015.
3. Burov D. A. and Pogorelov B. A. An attack on 6 rounds of KHAZAD // Матем. вопр. крип-тогр. 2016. Т. 7. №2. С. 35-46.
4. Глухов М. М., Елизаров В. П., Нечаев А. А. Алгебра. В 2-х т. Т. 1. М.: Гелиос АРВ, 2003. 336 с.
5. Глухов М. М, Елизаров В. П., Нечаев А. А. Алгебра. В 2-х т. Т. 2. М.: Гелиос АРВ, 2003. 416с.
6. Малышев Ф. М., Тараканов В. Е. Обобщенные графы де Брейна // Матем. заметки. 1997. Т. 62. Вып. 4. С. 540-548.
7. Daemon J. and Rijmen V. The Design of Rijndael: AES — The Advanced Encryption Standard. Berlin; Heidelberg: Springer, 2002. 238 p.
8. Ерохин А. В., Малышев Ф. М., Тришин А. Е. Многомерный линейный метод и показатели рассеивания линейной среды шифрпреобразований // Матем. вопр. криптогр. 2017. Т. 8. №4. С. 29-62.
9. Advanced Encryption Standard (AES). https://nvlpubs.nist.gov/nistpubs/fips/nist. fips.197.pdf. 2001.
10. ГОСТ Р 34.11-2012. Информационная технология. Криптографическая защита информации. Функция хэширования. М.: Стандартинформ, 2012.
11. Brown L., KwanM., Pieprzyk J., and Seberry J. Improving resistance to differential cryptanalysis and the redesign of LOKI // LNCS. 1993. V. 739. P. 36-50.
12. Knudsen L. R. Cryptanalysis of LOKI // LNCS. 1993. V. 739. P. 22-35.
13. Data Encryption Standard (DES). NIST FIPS PUB 46. 1977.
ЛИТЕРАТУРА
14. Massey J. L. SAFER K-64: A byte-oriented block-ciphering algorithm // LNCS. 1994. V. 809. P. 1-17.
15. Massey J. L. SAFER K-64: One year later // LNCS. 1995. V. 1008. P. 212-241.
16. FeistelH. Cryptography and computer privacy // Scientific Amer. 1973. V. 228. No. 5. P. 15-23.
17. Малышев Ф. М. Двойственность разностного и линейного методов в криптографии // Матем. вопр. криптогр. 2014. Т. 5. №3. С. 35-48.
18. Malyshev F. M. and Trishin A. E. Linear and differential cryptanalysis: Another viewpoint // Матем. вопр. криптогр. 2020. Т. 11. №2. С. 83-98.
19. Малышев Ф. М., Трифонов Д. И. Рассеивающие свойства XSLP-шифров // Матем. вопр. криптогр. 2016. Т. 7. №3. С. 47-60.
20. Федченко В. А. Показатели рассеивания линейной среды AES-подобных алгоритмов шифрования // Матем. вопр. криптогр. 2017. Т. 8. №3. С. 109-126.
REFERENCES
1. TrifonovD.I. and FominD.B. Ob invariantnykh podprostranstvakh v XSL-shifrakh [Invariant subspaces in SPN block c ipher]. Prikladnaya Diskretnaya Matematika, 2021, no. 54, pp. 59-77. (in Russian)
2. GOST R 34.12-2015. Informatsionnaya tekhnologiya. Kriptograficheskaya zashchita informatsii. Blochnyye shifry. [Information Technology. Cryptographic Information Protection. Block ciphers]. Moscow, Standartinform, 2015. (in Russian)
3. Burov D. A. and Pogorelov B. A. An attack on 6 rounds of KHAZAD. Matem. Vopr. Kriptogr., 2016, vol.7, no. 2, pp. 35-46.
4. Gluhov M. M., Elizarov V.P., and Nechaev A. A. Algebra [Algebra]. Vol.1. Moscow, Gelios ARV Publ., 2003. 336 p. (in Russian)
5. Gluhov M. M., Elizarov V.P., and Nechaev A. A. Algebra [Algebra]. Vol.2. Moscow, Gelios ARV Publ., 2003. 416 p. (in Russian)
6. Malyshev F. M. and Tarakanov V. E. Obobshchennyye grafy de Breyna [Generalized de Bruijn graphs]. Matem. Zametki, 1997, vol.62, no. 4, pp. 540-548. (in Russian)
7. Daemon J. and Rijmen V. The Design of Rijndael: AES — The Advanced Encryption Standard. Berlin; Heidelberg, Springer, 2002, 238 p.
8. Erokhin A. V., Malyshev F. M., and Trishin A. E. Mnogomernyy lineynyy metod i pokazateli rasseivaniya lineynoy sredy shifrpreobrazovaniy [Multidimensional linear method and diffusion characteristics of linear medium of ciphering transform]. Matem. Vopr. Kriptogr., 2017, vol. 8, no. 4, pp. 29-62. (in Russian)
9. Advanced Encryption Standard (AES). https://nvlpubs.nist.gov/nistpubs/fips/nist. fips.197.pdf, 2001.
10. GOST R 34.11-2012. Informatsionnaya tekhnologiya. Kriptograficheskaya zashchita informatsii. Funktsiya kheshirovaniya. [Information Technology. Cryptographic Information Protection. Hash Function]. Moscow, Standartinform, 2012. (in Russian)
11. Brown L., Kwan M., Pieprzyk J., and Seberry J. Improving resistance to differential cryptanalysis and the redesign of LOKI. LNCS, 1993, vol. 739, pp. 36-50.
12. Knudsen L. R. Cryptanalysis of LOKI. LNCS, 1993, vol. 739, pp. 22-35.
13. Data Encryption Standard (DES). NIST FIPS PUB 46. 1977.
14. Massey J.L. SAFER K-64: A byte-oriented block-ciphering algorithm. LNCS, 1994, vol.809, pp. 1-17.
15. Massey J. L. SAFER K-64: One year later. LNCS, 1995, vol. 1008, pp. 212-241.
66
fl. Irf. TpU^OHOB
16. Feistel H. Cryptography and computer privacy. Scientific Amer., 1973, vol.228, no. 5, pp.15-23.
17. Malyshev F. M. Dvojstvennost' raznostnogo i linejnogo metodov v kriptografii [The duality of differential and linear methods in cryptography]. Matem. Vopr. Kriptogr., 2014, vol.5, no.3, pp. 35-48. (in Russian)
18. Malyshev F. M. and Trishin A. E. Linear and differential cryptanalysis: Another viewpoint. Matem. Vopr. Kriptogr., 2020, vol.11, no. 2, pp. 83-98.
19. Malyshev F. M. and Trifonov D. I. Rasseivayushchiye svoystva XSLP-shifrov [Diffusion properties of XSLP-ciphers]. Matem. Vopr. Kriptogr., 2016, vol.7, no.3, pp. 47-60. (in Russian)
20. Fedchenko V. A. Pokazateli rasseivaniya lineynoy sredy AES-podobnykh algoritmov shifrovaniya [Diffusion rates of linear medium in AES-like ciphers]. Matem. Vopr. Kriptogr., 2017, vol. 8, no. 3, pp. 109-126. (in Russian)