2015 Математические методы криптографии № 1(27)
МАТЕМАТИЧЕСКИЕ МЕТОДЫ КРИПТОГРАФИИ
УДК 519.7
ОБ ОЦЕНКЕ ЧИСЛА РАУНДОВ С НЕВОЗМОЖНЫМИ РАЗНОСТЯМИ В ОБОБЩЁННЫХ АЛГОРИТМАХ ШИФРОВАНИЯ ФЕЙСТЕЛЯ
М. А. Пудовкина, А. В. Токтарев Национальный исследовательский ядерный университет «МИФИ», г. Москва, Россия
Исследуется семейство обобщённых алгоритмов шифрования Фейстеля. С использованием методов теории графов и теории чисел получены верхняя и нижняя оценки максимального числа раундов, для которого существуют невозможные разности для любого алгоритма блочного шифрования из семейства.
Ключевые слова: обобщённый алгоритм шифрования Фейстеля, невозможная разность, число Фробениуса.
BOUNDS FOR THE NUMBER OF ROUNDS WITH IMPOSSIBLE DIFFERENCES IN GENERALIZED FEISTEL SCHEMES
M. A. Pudovkina, A. V. Toktarev
National Research Nuclear University MEPhI (Moscow Engineering Physics Institute), Moscow,
Russia
E-mail: [email protected], [email protected]
The class of ciphers described by a generalized Feistel scheme is considered. Some upper and lower bounds for the maximum number of rounds with impossible differences are provided. They do not depend on the type of Feistel scheme and on the number of nonlinear functions or blocks in the register.
Keywords: block cipher, generalized Feistel scheme, impossible differential, differential probability.
Введение
Обобщённые алгоритмы шифрования Фейстеля представляют естественное обобщение алгоритма шифрования Фейстеля [1, 2]. Они лежат в основе таких шифрсистем, как CAST-256, MARS, SMS4, CLEFIA, Piccolo, HIGHT и др. В основном обобщение осуществляется посредством увеличения числа ячеек регистра сдвига и выбором ячеек, содержимое которых меняется нелинейными функциями усложнения, зависящими от раундового ключа. При этом для обратимости раундовой функции не требуется обратимость нелинейных функций усложнения. Часто для построения функции усложнения используется SP-сеть. В последние годы стали предлагаться модификации обобщённых алгоритмов шифрования Фейстеля, улучшающие их свойства рассеивания [3-5].
Пусть K — ключевое множество; Vn — n-мерное векторное пространство над GF(2); gkr) —раундовая функция зашифрования на ключе k Е K; ф — бинарная операция покоординатного сложения в Vn. При атаке на /-раундовый n-битный алгоритм блочного шифрования один из этапов разностного метода и его обобщений состоит в нахождении
для некоторого числа раундов r, r ^ /, элементов матрицы p(r) = ^рЛГу) вероятностей переходов ненулевых разностей n-битных блоков текста r-раундовой функции зашифрования, т. е.
РЙ = 2-n|K|-1 |{(x, k) Е Vn х K : gkr)(x) Ф ^(x ф Л) = Л'}
Матрица pr также называется r-раундовой матрицей вероятностей переходов разностей. Как правило, в разностном методе ищется наибольшее r, при котором существуют Л(0), Л(г), такие, что РдГ(о>Л(г> > 2-n, и при этом r находятся такие Л(0), Л(г), для
которых р^Г(0>Л(г> принимает максимальное значение. Так как найти точное значение
(r) (r) _ П—n
элементарЛ(о>Л(г> часто не удается, приводится нижняя оценка рЛ(о>Л(г> для РЛ(0>Л(Г> > 2 ' . Для марковских алгоритмов блочного шифрования [6], у которых раундовые функции реализуют одно и то же отображение на декартовом произведении множества n-битных блоков текста и множества раундовых ключей, величина РлГ(о>л(г> находится с помощью разностной характеристики последовательности Л = Л(0), Л(1),..., Л(г) n-битных разностей промежуточных блоков текстов, у которой рЛил^+ч > 0 для каж-
(r—1)
дого i Е {0,... , r - 1}, при этом полагают Р^со^м) = П рЛ«Л(;+1>.
Для многих алгоритмов блочного шифрования существует такое число раундов F, что матрица p(r) не является положительной для каждого r Е {1,... ,г} , т.е. среди элементов матрицы p(r) есть нулевые. Например, при r = 1 такой матрицей является матрица p(1) алгоритма шифрования Фейстеля.
Равенство рЛ^/ = 0 для некоторых ненулевых разностей Л, Л' Е Vn означает, что ни при каком ключе шифрования k Е K и блоке открытого текста x Е Vn не выполняется равенство gf^x) Ф gkr)(x Ф Л) = Л'.
В этом случае пара Л, Л' называется r-раундовой невозможной разностью. Существование невозможной разности может позволить применить атаки различения, а также найти некоторые биты ключа шифрования или весь ключ с помощью метода невозможных разностей, первоначально предложенного в работе [7], а затем модифицированного в [8]. Часто рассматривается такая пара (Л, Л') r-раундовых невозможных множеств разностей, что каждая пара (Л, Л') Е Л х Л' является r-раундовой невозможной разностью.
При поиске невозможных разностей нередко применяется аналог разностной характеристики. В этом случае рассматривается такая последовательность множеств разностей Л = Л0,... , Лг, что Л0 С Vn,
Лг = {gk(i> (x) ф gk(i> (x ф Л) : (Л,Х, k(i)) Е Лг—1 х Vn х Ki}, i = 1,..., r,
где K¿ — множество раундовых ключей i-го раунда; gfc(¿> : Vn ^ Vn — раундовая функция на раундовом ключе k(i) Е K¿. Если Лг = Vn, \ {0n}, то пара Л0, V^ \ (Лг U {0n}) является r-раундовым невозможным множеством разностей, где 0n — нулевой n-мерный вектор.
В данной работе рассматривается семейство обобщенных алгоритмов шифрования Фейстеля. В частности, это семейство включает в себя сбалансированные алгоритмы
шифрования, предложенные в работах [1, 2, 5, 9, 10]. Приведены оценки сверху и снизу максимального числа раундов, для которого вероятность любой r-раундовой разности равна нулю для любого алгоритма шифрования из семейства. Предложен подход получения оценок для обобщённого алгоритма шифрования Фейстеля.
В п. 1 приводятся описания рассматриваемых семейств обобщённых алгоритмов шифрования Фейстеля. В п. 2 описаны свойства невозможных разностей и их применения к обобщённым алгоритмам шифрования Фейстеля. Пункт 3 посвящён теоретико-графовым свойствам обобщённых алгоритмов шифрования Фестеля. В п. 4 приведены верхние и нижние оценки максимального числа раундов, для которых существует /-раундовая невозможная разность. Доказательство оценок основано на теории числовых полугрупп.
1. Основные обозначения и определения 1.1. Обозначения
Пусть N — множество натуральных чисел; No = NU{0}; m, d, c G N, n = dm; c G {1,..., m}; Bx = B\{0} при B Ç V^; W = (A, A') — разбиение множества {1,..., m} на два подмножества A, A'; W(m) —множество всех упорядоченных разбиений множества {1,...,m} на два подмножества; P(B) —множество всех подмножеств множества B; S (B ) — множество всех подстановок на B ; k = (kb... , kc) G Vf; fi : V¿2 M Vd, fi,ki (a) = fi (a, ki) для всех a G Vd, i = 1,..., c;
Fdc) = {(fi,...,fc): fi : Vd2 M Vd,i =1,...,c} .
Здесь d — число бит в ячейке регистра; m — длина регистра; n — длина блока шифрования; c — количество функций усложнения f1, ... , fc на одном раунде; k1, ... , kc — ключи, используемые в этих функциях шифрования.
1.2. Описание обобщённых алгоритмов ш и ф р о в а н и я Ф е й с т е л я
Кроме классического алгоритма шифрования Фейстеля (например, используемого в DES), существуют различные его модификации. Говоря об обобщённых алгоритмах шифрования Фейстеля, будем иметь в виду объединение большинства из них. Некоторые обобщения, например алгоритмы шифрования Фейстеля 1-го, 2-го и 3-го типов, представлены в работе [11]. Блочными шифрсистемами, построенными на основе обобщённых алгоритмов шифрования Фейстеля, являются Skipjack, BEAR/LION, BlowFish, Camelia, DEAL, DES, MARS, Twofish. Обобщённые алгоритмы шифрования Фейстеля с длиной регистра 4 отражены в работе [9]. На рис. 1 изображено 19 обобщённых алгоритмов шифрования Фейстеля с длиной регистра 4.
Приведём описание математической модели, включающей эти обобщения. Рассмотрим семейство алгоритмов шифрования Фейстеля, заданных следующими параметрами: натуральным числом c; разбиением W = (A, A') G W(m); отображением x : A' M P (A); f G FiC); биективными отображениями p G S ({1,...,m}), : X(A') M {1,... , c}, где X(A') = (J (i, j). Отметим, что для любого A' верно
ieA' ,jex(i)
тождество |X(A')| = c.
Рассмотрим отображения vp, hk G S(Vm), определённые как
vp : (ai,... ,am) M- (ap-i(i),... ,ap-i(m)) , hk : (ai,..., am) M (a',..., am),
« 0 /кы)^) ), если г е А'.
Рис. 1. Раундовые функции обобщённых алгоритмов шифрования Фейстеля с длиной регистра 4
где
I если г е А,
а =
^ I «
I, ^ех(г)
Обобщённый алгоритм шифрования Фейстеля задаётся раундовой функцией е Б(^^т), где = . Пусть ... дк(1) — г-раундовая функция шифрования на ключе к = (к(1),..., к(г)) е (^с)г.
Семейство обобщённых алгоритмов шифрования Фейстеля с фиксированными параметрами (Ж, х,<р,р)с будем называть (Ж, х, <р, р)с-семейством. Каждый алгоритм блочного шифрования из (Ж, х, <р, р)с-семейства задан фиксированным набором функций / е и называется (Ж, х,<р,р, /)с-алгоритмом шифрования. Обозначим через х, <р, р) множество всех (Ж, х, <р, р, /)с-алгоритмов шифрования. Будем писать $ е Се(Ж, х, <Р, р), если д является раундовой функцией (Ж, х, <р, р, /)с-алгоритма шифрования. Обозначение д^) показывает зависимость $ от конкретного раундового ключа к(г).
Для нижнего крайнего справа семейства, изображённого на рис. 1, параметры (Ж, х, <р, р)с-семейства следующие:
: (аьа2,аэ,а4) м («2,аз Ф /1,^1 («4), «4,« ф /2^ («2) Ф /3^3(«4)),
Ж = (А, А'), А = {2,4}, А' = {1, 3}, х(1) = {2,4}, х(3) = {4}, <р(1,2) = 1, <р(1,4) = 2, <р(3, 4) = 3, р = (1, 4, 3, 2).
Заметим, что многие обобщённые алгоритмы шифрования Фейстеля основаны на описанной конструкции и р-1 часто совпадает с циклом (1, 2,..., т). Для обобщённых алгоритмов шифрования Фейстеля 1-го типа [12, 13] получаем
: («1,... ,ат) м- («2 Ф /1^(«1),аз,... ,ат,«1),
где c =1; A' = {2}; A = {1,... ,m}\{2}; X(2) = {1}; 1) = 1 и p-1 = (1, 2,... , m). Для обобщённых алгоритмов шифрования Фейстеля 2-го типа [11] и чётного числа m получаем
gk : (ai.., am) м- («2 0 /i,fcl (ai),a3,a4 0 /2^ («з),«5,. .. ,am,ai),
где c = m/2; A' = {2i : i G {1,... , m/2}}; A = {1,... ,m}\A'; x(2i) = p(2i,i - 1) = {i}, i G {1,...,m/2}, и p-1 = (1,2,...,m). В работе [9] приведены различные классификации обобщённых алгоритмов шифрования Фейстеля для параметров m = 4 и p-1 = (1, 2, 3, 4).
Отметим, что перестановка p-1 может не совпадать с циклом (1, 2,... ,m). Такие перестановки рассмотрены в работах [4, 5]. Например, p-1 = (1, 3,5, 7)(2, 8,6, 4) используется в блочной шифрсистеме Piccolo [4].
2. Невозможные усечённые разности
Существование невозможной разности для r раундов обобщённого алгоритма шифрования Фейстеля означает возможность применения метода невозможных разностей. Для анализа стойкости алгоритма важно оценивать максимальное число раундов, для которого существуют невозможные разности.
Рассмотрим произвольное (W, х, p)c-семейство. Пусть a(0) — n-битный открытый текст, 8 — ненулевая n-битная разность. Для 8 G Vf оценим верхнюю и нижнюю границы числа раундов r = rW,x,^,p(8), удовлетворяющего следующим условиям:
1) для любых g G Gc(W, х, p), (k(1),... , k(r)) G (Vf)r, a(0) G Vn и некоторого 8' G Vf выполняется неравенство gk(r) ... gk(i) (a(0)) 0 gk(r) ... gk(i) (8 0 a(0)) = 8';
2) для любого 8' G Vf существуют a(0) G K, g G Gc(W, х, p), (k(1),..., k(r+1)) G G (Vf)r+1, удовлетворяющие равенству
gk(r+i)... gk(i)(a(0)) 0 gk(r+i)... gk(i)(8 0 «(0)) = 8'.
Пусть rW,x,<p,p = max {rW,x,^,p(8) : 8 G Vf} и / — такое произвольное натуральное число, что / > rw,x,<p,p. Тогда rW,x,^,p — максимальное число раундов, для которого не существует невозможной разности для любого /-раундового (W, x,^,p, /)с-алгоритма шифрования. Другими словами, все элементы его разностной матрицы ненулевые.
Отметим, что если алгоритм шифрования Фейстеля не имеет невозможных разностей на раунде с номером r, то он не имеет невозможных разностей на любом раунде больше r. Действительно, пусть алгоритм шифрования не имеет невозможных разностей на r раундах, а на (r + 1)-м раунде разность a G V^f имеет парную невозможную в G Vf. Зашифруем два открытых текста с разностью a на ключе k G Vf; пусть при этом выходной разностью первого раунда будет в' G Vf. Тогда в силу того, что на r раундах невозможных разностей нет, существуют ключи на r раундах шифрования, переводящие блоки с разностью в' в блоки с разностью в. Значит, существуют ключи на r+1 раундах шифрования, переводящие блоки с разностью a в блоки с разностью в. Получено противоречие — значит, на (r + 1)-м раунде также отсутствуют невозможные разности.
Некоторые (W, х, p)c-семейства имеют невозможные разности для любого числа раундов / G N. Это означает, что для каждого / G N существует такая пара (8, 8') G G (V/) , что gk( 1).. .gk(i) (a(0)) 0 gk(o .. .gk(i)(8 0 a(0)) = 8' для любых g G Gc(W, х, <£,p), (k(1),... , k(1)) G (Vf)1, a(0) G Vn. В этом случае положим, что rW,x,^,p = то. Если rW,x,^,p
конечно, то после некоторого (конечного) числа раундов (Ж, х, <р, р)с-семейство не имеет невозможных разностей.
Для специального типа обобщённых алгоритмов шифрования Фейстеля в работах [14, 15] для параметра г^х^р получены различные оценки.
Для получения верхней и нижней оценок параметра г^х^р используется аддитивная коммутативная полугруппа (Д, ф), заданная на множестве Д = {7, А, 0}. Похожее множество, состоящее из пяти элементов, использовано в [5] для классификации разностей в ячейках регистра обобщённого алгоритма шифрования Фейстеля. Полугруппа (Д, ф) определена следующим образом:
ф 7 А 0
7 А А 7
А А А А
0 7 А 0
(1) (шЛ ( (1)
,..., а1 ), а2 = (а ,
1а2ШМ из V"
Для произвольных векторов а1 = ^и^ , . . . , С11 J , и;2 = ^ 1Л2 , ... ,1Л2 J из УЛ обозначим а1 ^ а2, если существуют такие раундовый ключ к Е и открытые тексты Х1,Х2 Е что «1 = х ф х2, а = (Х1) ф (Х2).
Приведём пример, иллюстрирующий построение невозможных усеченных разностей на основе введёной полугруппы. Рассмотрим обобщённый алгоритм шифрования Фейстеля, заданный как : (а1, а2, а3, а4) м- (а2, а3 ф /1,к(а4), а4, а1).
Приведём 14-раундовую усеченную разность:
(0, 0,7, 0) ^ (6,7, 0,0) ^ (7, 0,0, 0) ^ (0, 0, 6,7) ^ (0, А, 7, 0) ^ ^ (А,7,0,0) ^ (7,0,0, А) ^ ((), А, А,7) ^ (А, А,7,0) ^ (А,7,0, А) ^ ^ (А,7, А, А) ^ (7, А, А, А) ^ (А, А, А,7) ^ (А, А,7, А) ^ (А, А, А, А).
Очевидно, что максимальное число раундов, для которого существует невозможная разность, зависит от входной разности. Покажем, что максимальное число раундов достигается, если у входной разности существует ненулевая координата.
Рассмотрим (Ж, х, <р, р)с-семейство, в — номер раунда, х1, х2 — т^-битные открытые
тексты, х
х
(1)
,х(ш)) Е V", где г Е {1, 2}. Обозначим
х
х„-
(1,«)
х
(ш,«)
й^-Ч .. . ^а) х
(1)
х
(ш)
где х( ) — шифртекст после в раундов шифрования; — раундовые ключи
из Пусть Е — множество всех отображений из в
Определим отображение А : V" х V" х N ^ Дш, где А (х1, х2, в) = (/(1,8),
,/(ш,5));
7,
если
если
Ук(1),...,к(5) Е Vе, £1, Ук(1),...,к(5) е Vе, £1,..., £с Е Е
7-т I (М) (М) '
, £с Е Е ( х1 = х2 = х2
х
А, если Уг Е Vе Зк(1),..., к(в) Е у?, £1,..., £с Е Е ( х
-1"'' • ^ У(1 , 0 1, . . . , сс ^ ^ ф х2 =
Отметим, что А (х1 ,х2, в) определяет усечённую разность в-го раунда. Пусть
©Х1,Х2,« = {¿Е{1,...,ш} : /(г,5) Е {0,7}} , Фх1,х2= {г Е{1,...,т} : = А} , Т =
, т , т
{г Е {1,... , т} : = 0} .
г
Следующая лемма отражает важный факт об упомянутых выше множествах. Зафиксируем произвольные числа г Е {1,... , т}, в Е N и ненулевой вектор а Е У^. Лемма 1. Пусть Ж1,ж2,у1,у2 — такие т^-битные тесты, что
X 0 Х2 = ^0,..., 0, ^ 0,..., ^ Е УГ, У1 0 У2 = (в1,в2,...,вт) Е УТ,
где вл , вл —ненулевые ^-битные векторы для некоторых 32 Е {1,... ,т}, 3 = 32. Тогда имеют место включения ТЖ1,Ж2,« — ^^,«, ©уьда,« — ©Ж1
Доказательство. Проводится по индукции относительно числа в и числа ненулевых элементов среди в1,... , вТ и представляет собой перебор всевозможных вариантов и проверку условия включения. ■
Утверждение 1. Пусть г Е {1,..., т} и векторы
8 = (0а,..., Ой, 8», Ой,..., 0^), 8' = (¿1,52,... )
таковы, что 8» = Оа, 8^ = Оа, 8^ = Оа для некоторых 31,32 Е {1,... ,т}, 31 = 32. Тогда г^,х,<,р(8') ^ г^,х,<,р(8) для любого (Ж, х, р)с-семейства.
Доказательство. Пусть г1 = г^,х,<,р (8) + 1, г2 = г^,х,<,р (8'), х2 = х1 0 8'. Из леммы 1 следует, что |0ХьХ2,Г11 = 0, но |©Х1,Х2,Г21 > 0. Таким образом, г^,х,<,р (8) + 1 > > (8'). Отсюда (8) ^ (8'). ■
Утверждение 2. Пусть г Е {1,... , т}, а Е У/ и 8 = ^0,... , 0,^а^, 0,..., 0^ Е УТ.
Тогда для любого (Ж, х, р)с-семейства справедливо равенство г^,х,<,р = г^,х,<,р (8).
Таким образом, для нахождения нижней границы параметра г^,х,<,Р следует рассматривать только разности с ровно одной ненулевой координатой.
3. Представление обобщённого алгоритма шифрования Фейстеля
в виде орграфа
Для заданного (Ж, х, р)с-семейства рассмотрим ориентированный помеченный граф Г^,х,<,Р = (X, У) с множествами вершин X и дуг У. Между вершинами орграфа Г^,х,<,Р и ячейками регистров обобщённого алгоритма шифрования Фейстеля существует взаимно однозначное соответствие. Каждая вершина имеет такой же номер, как соответствующая ячейка регистра. Вершины с номерами г и 3 соединены дугой, если значение регистровой ячейки с номером 3 зависит от значения в регистровой ячейке с номером г после одного раунда зашифрования, другими словами, если верно одно из следующих условий:
1) Р (г) = 3;
2) г Е А и существует I Е А', такое, что г Е х (I), Р (I) = 3.
Если выполнено первое условие, то дуга не имеет метки; иначе дуга помечена меткой Ф.
Приведём пример орграфа, соответствующего некоторому обобщённому алгоритму шифрования Фейстеля. Рассмотрим обобщённый алгоритма шифрования Фейстеля вида : (а1, а2, а3, а4) м- (а2,а3 0 /1,к(а4),а4,а1). Он принадлежит (Ж, х,^,р)с-семейству с параметрами
Ж = (А, А'), А = {1, 2,4}, А' = {3},х(3) = {4},^(3,4) = 1,р = (1,4,3, 2).
Рис. 2. Орграф обобщённого алгоритма шифрования Фейстеля
Соответствующий орграф представлен на рис. 2.
Напомним некоторые определения из теории графов. Маршрут в графе (орграфе) из вершины г в вершину 3 — это последовательность вершин и рёбер (дуг), инцидентных двум соседним вершинам; путь — это ориентированный маршрут; длина пути — количество дуг в нём; замкнутый путь — это путь, у которого первая и последняя вершины совпадают; простой путь — это путь без повторяющихся вершин; орцепь — путь без повторяющихся дуг; простая орцепь — орцепь без повторяющихся вершин; контур — замкнутая орцепь; простой контур — контур без повторяющихся вершин. Максимальный кратчайший путь между вершинами орграфа Г называется диаметром и обозначается ^Г). Примитивным орграфом называется такой сильносвязный орграф, что наибольший общий делитель длин всех его простых контуров равен 1. Для произвольного замкнутого пути т через 1еп(т) обозначим его длину.
4. Числовые полугруппы с порождающими элементами и оценки
Пусть М — полугруппа с элементами из N0, замкнутая относительно операции сложения. Числовую полугруппу, порождённую элементами ... , ^ Е N определим как
лежит числовой полугруппе М, называется числом Фробениуса полугруппы М.
Пусть и —множество всех числовых полугрупп, $(5) —число Фробениуса полугруппы S Е и.
4.1. Построение множества порождающих элементов ч и с л о в о й п о л у г р у п п ы д л я к а ж д о й в е р ш и н ы примитивного орграфа Г^,х,<,р
Оценки максимального числа раундов г^,х,<,Р, для которого существуют невозможные разности для любого алгоритма шифрования Фейстеля из (Ж, х, р)с-семейства, получены с использованием максимального числа Фробениуса числовых полугрупп, соответствующих вершинам орграфа Г^,х,<,Р обобщённого алгоритма шифрования Фейстеля.
Алгоритм состоит из двух шагов. На первом шаге для каждой вершины орграфа Г^,х,<,Р находятся порождающие элементы соответствующей ей полугруппы. На втором шаге определяются числа Фробениуса для найденных числовых полугрупп. Затем выбирается максимальное из полученных чисел Фробениуса.
Наибольшее целое число, которое не принад-
Пусть V — множество номеров вершин орграфа ; С — множество его про-
стых контуров, содержащих вершину с номером г Е V.
Для любой вершины с номером г Е {1,... , т} и простого контура ад Е С через С^ обозначим множество простых контуров, принадлежащих целиком какому-либо маршруту с началом в вершине г и второй вершиной, принадлежащей контуру ад.
Алгоритм 1. Алгоритм нахождения максимального числа Фробениуса Вход: орграф
Выход: $тах; множества С(г, ад), С(г, ад, для всех вершин г Е {1,..., т} и контуров ад Е d Е 1: Для каждой вершины г Е V 2: Найти все простые контуры из 3: Для каждого простого контура ад Е С 4: в := ад, := {и} С(г,ад,ад) := {1еп(ад)}.
5: Для каждой вершины ^, принадлежащей контуру в (за исключением вершины г)
6: Найти все простые контуры (исключая в), которые содержат вершину ], но
не содержат вершину г, и поместить их в множество С". 7: Если С" = 0, то добавить все элементы множества С" в Сг,ш.
Вычислить множество
С (г, ад, в') = и < d + ^ тг ■ 1еп(в) : 0 ^ тг < d
[ «ее:;.
8: Для каждого простого контура в' Е С положить в := в' и повторить шаги 5-7. 9: Вычислить множество С (г,ад) = и С(г,ад^).
dеC¿,w
10: Для каждой вершины с номером г Е V вычислить число Фробениуса полугруппы и С(г,ад)\.
\weCi /
11: Найти максимальное из чисел Фробениуса, вычисленных на шаге 10, и обозначить
его ^тах.
Приведём пример нахождения $тах для обобщённого алгоритма шифрования Фейстеля с раундовой функцией : (а1, а2, а3, а4) м- (а2, а3, а4, а1 ф/1,к(а4)), которая принадлежит (Ш, х, <р, р)с-семейству с параметрами Ш = (А, А'), А = {2, 3, 4}, А' = {1}), х(1) = {4}, <р(1, 4) = 1, р = (1, 4, 3, 2). Соответствующий орграф представлен на рис. 3.
Прокомментируем работу алгоритма. Заметим, что орграф на рис. 3 содержит два простых контура. Первый из них (ад1) содержит все вершины из множества {1, 2, 3,4}; второй (ад2) —одну вершину 4. Приведём шаги работы алгоритма.
1-2. С1 = С = С3 = М, С4 = {^1,ад2}.
3. Для каждой вершины г Е {1, 2, 3} и контура ад1 применим шаги 4-9 и получим С^ = = = М, С (1,«л) = С (2,ад1) = С (3,«л) = {4, 5, 6, 7}. Для вершины 4 и циклов ад1,ад2 применим шаги 4-9 и получим = 0,
= 0, С (4, адО = {4}, С (4,ад2) = {1}. ' 1
10. Получим
I и С(М)\ = 1 и С(2,d)\ = 1 и См\ = (4,5,6,7)7 и С(М)\ = (1,4).
\deCi / \deC2 / \deC3 / \deC4 /
Рис. 3. Орграф обобщённого алгоритма шифрования Фейстеля
Числа Фробениуса полученных числовых полугрупп:
£«4, 5, 6, 7» = 3, 2«1, 4» = 0.
11- £тах = 34.2. Оценки максимального числа раундов г^,Х,<,Р
Приведём необходимое и достаточное условие конечности параметра г^,Х,<,р. Для этого сформулируем и докажем ряд лемм и утверждение. Для формулировок нам потребуются следующие обозначения.
Пусть г — номер раунда и а = (а(1),... , а(т)) € Ут Зададим такое отображение 0 : Уг ^ Д, что для любой ¿-битной разности 8 имеет место
7, если 8 = 0г, 0, если 8 = 0г.
Для входной разности а = а
как
(1)
а
^ € У™ зададим отображение £ : "У™ х N ^
£ (а, г) = (¿1,...
Л (а, 0™г, г),
(а(1)) (а(т
если г > 0, если г = 0.
Рассмотрим ориентированный помеченный орграф Г^,Х,<,Р,«,г = (У, Л, и), соответствующий (Ж, х, р)с-семейству, где У = ... , гт} —упорядоченное и пронумерованное множество вершин; Я — множество дуг. Отображение V : V ^ Д задаёт соответствие множеств вершин и меток и действует на V как и (г,) = Заметим, что любой орграф Г^,Х, <,р,а,г имеет те же множества вершин и дуг, что и орграф ^Г^х,^^ но метки его вершин зависят от параметров а и г.
Лемма 2. Для любых таких чисел 5, г € N ... , ^ € М, что (в, ... , ^) = 1, и числовой полугруппы М = (¿1,... , ) положим
С (в, ... , ^)
5 + ^ : 0 ^ т, <5
г=1
I (М,в) = <{ 5 + ЕМг : п € У {0} .
Тогда I (М, = (С (в, ..., ^)).
Доказательство. Любой элемент из I (М, в) может быть представлен как
в + + ... + ^ «,
где м1, ... ,« € N0. Рассмотрим два случая:
1) м1 = ... = « = 0;
2) существует такое натуральное число ], что 1 ^ ] ^ V и « = 0.
Пусть м1 = ... = « = 0. Тогда I (М, в) = {в, 0} и имеет место включение I (М, в) С С С (в, ... , ).
Пусть существует такое число ] € {1,... , V}, что « = 0. Положим {т1;..., тг} = = {« : 0 < « < в,] € {1,... , V}}, а соответствующие коэффициенты из ... } обозначим как ,... , . Аналогично положим
{^1,... , ^} = {« : « ^ в, € {1,... , V}},
а соответствующие коэффициенты из } обозначим й^,... , й^. Ясно, что
каждое число из {^1,..., } представимо как Л,г = кгв + т^, где кг > 0; 0 ^ < в для любого г € {1,... , ад}. Таким образом,
в + ¿1^1 +... + ^ « = в + Е + Е
т "Ч ~ "-г
г=1 г=1
в + Е + Е (в + + Е(кг - 1)в.
г=1 г=1 ^ ' г=1
Значит, I (М, в) С (С (в, ... , )). Доказательство включения (С (в, ... , )) С С I (М, в) очевидно. ■
Имеет место следующая
Лемма 3. Длина замкнутого пути ад представима в виде суммы длин простых контуров (не обязательно различных), все дуги и вершины которых принадлежат этому пути.
Лемма 4. Для любых г € {1,...,т}, простого контура ад, проходящего через вершину с номером г, простого контура й € Сг,ад и д € С(г,ад,й) существует замкнутый путь длины д с началом и концом в вершине с номером г, где множества Сг,ад и С(г, ад, й) —результаты работы алгоритма 1.
Доказательство. Для любых простых контуров ад, й и вершины г, принадлежащей контуру ад, множество С(г,ад,й) образовано путём последовательного обхода простых контуров, начиная с вершины г. Значит, для любого д € С(г, ад, й) существует такая последовательность простых контуров ад,в1, ... , , й, что существует замкнутый маршрут с началом в вершине г, содержащий только эти контуры (возможно, многократно). ■
Лемма 5. Пусть орграф примитивен и а = ^0,... , 0, 0,... , 0^ € Ут.
Тогда в орграфе Г^1Х,Р,«,Г метка вершины г не равна 0 тогда и только тогда, когда
г € < и С(г, й) У где множество С(г, й) —выход алгоритма 1. \deCi /
Доказательство. Опишем процесс образования орграфа Г^,Х,Аа,г+1 из орграфа
г
Зафиксируем вершину с номером ]. Рассмотрим все дуги (пусть их число равно
£ € {1,... , т}) с концом в вершине ]. Пусть номера вершин, являющихся началом
этих дуг, образуют множество и = {и1,... , иг} и в графе Г^,х,р,а,г каждая вершина из
множества и с номером , 1 ^ к ^ ¿, помечена меткой € Д. Тогда метка вершины ^
г
в графе Г^,Х,р,а,г+1 равна ф г,. Значит, в орграфе Г^,Х,Аа,г метка вершины г не равна О
г=1
тогда и только тогда, когда г — длина замкнутого пути, проходящего через вершину г. Рассмотрим такой произвольный замкнутый путь ад, что вершина г находится только в начале и конце этого пути.
Из лемм 2 и 3 следует, что длина любого замкнутого пути, проходящего через
вершину г, принадлежит множеству Р = ( и С(г,й) V
\сгес4 /
Рассмотрим произвольный элемент р множества Р. Пусть он образован генераторами £1, ..., . Докажем, что существует замкнутый путь длины р с началом и концом в вершине г. Доказательство проведём индукцией по числу к.
Пусть к =1. Ясно, что £1 € С(г,ад) для некоторого простого контура ад, проходящего через вершину г. Из алгоритма 1 следует, что £1 € С(г,ад,й) для некоторого простого контура й € С,,ш. Из леммы 4 следует, что существует замкнутый путь длины £1 с началом и концом в вершине г.
Пусть утверждение верно для к генераторов £1, ... , . Докажем для к + 1. В силу леммы 4 существует замкнутый путь с началом и концом в вершине г длины . Отсюда, учитывая предположение индукции и примитивность графа Г^,Х,Р,«,г, получаем справедливость индуктивного перехода для к + 1.
Утверждение леммы 5 напрямую следует из доказанного факта и леммы 4. ■
Утверждение 3. Для любого (Ж, х, р)с-семейства число г^,Х,<,р конечно тогда и только тогда, когда орграф Г^,Х,<,р примитивен.
Доказательство. Пусть орграф Гщ,х,р,а,г импримитивен. Рассмотрим входную разность
а = ^0,..., 0, а^, 0,..., 0 ^ € "Г
Если орграф Г^Х,р,а,г не является сильносвязным, то существуют по крайне мере два таких несвязных подграфа Г1 и Г2, что вершина г принадлежит множеству вершин подграфа Г1.
Метки всех вершин графа Г2 равны 0. Очевидно, что невозможные разности существуют для любого г. Отсюда г^,Х,<,р бесконечно.
Если орграф Г^|Х,р,а,г сильно связен, но наибольший общий делитель длин всех простых контуров равен £ > 1, то все графы Г^Х,р,а,гд+1, q € М, имеют метку 0 у вершины г. Число таких графов бесконечно. Таким образом, г^,Х,<,Р бесконечно. Если орграф Г^,Х,р,а,г примитивен, то из леммы 5 следует, что г^,Х,<,р конечно. ■
Отметим, что если параметр г^,Х,<,Р бесконечен, то все алгоритмы шифрования Фейстеля из (Ж, х, р)с-семейства не являются стойкими к методу невозможных разностей.
Пусть pmax —длина максимального простого контура в орграфе В следу-
ющем утверждении приведены нижняя и верхняя оценки конечного числа rw,x,^,p. Это основной результат работы.
Утверждение 4. Для любого (W, х, <р, р)с-семейства с примитивным орграфом rw,x,^,p справедливы неравенства
max (gmax, d (rw,x,^,p)) ^ rW,x,^,p ^ gmax + d (Г W,x,V,p) + Pmax-
Доказательство. Используем утверждение 1 и рассмотрим входную разность
а = ^0,..., 0, 0,..., G V7-
Пусть r = max (gmax, d (rW,x,^,p)). Из определения диаметра орграфа, числа Фробениу-са и леммы 4 получаем, что орграф VW,x,P,a,r содержит по крайней мере одну вершину с меткой не равной А. Отсюда max (gmax, d (Tw,x,v,p)) ^ rW,x,^,p.
Пусть r = gmax + d (rW,x,^,p). Очевидно, что все метки орграфа Vw,x,p,a,r принадлежат множеству {А, y}.
Пусть l = r + pmax. Из равенств yФ Y = А, yФ А = А, Аф А = А следует, что метки всех вершин в орграфе VW,x,P,a,i равны А. Таким образом, rW,x,<p,p ^ gmax + d (Tw,x,v,p) +
+ pmax. ®
Используя результаты утверждения 4, приведём пример нахождения оценок сверху и снизу величины rw,x,^,P для обобщённых алгоритмов шифрования Фейстеля 1-го типа. Рассмотрим такое (W, х, р)с-семейство, что |A| = {1,... , m} \ {j}, |A'| = {j} для некоторых i, j G {1,... , m}, х (j) = i . Ясно, что орграф rW,x,^,p, соответствующий семейству, есть объединение двух простых контуров и состоит из m вершин; он показан на рис. 4.
Из рис. 4 видно, что = т — 1. По теореме Сильвестра [16] имеем
д ((т + о (г, ^), т)) = (т + о (г, ^)) т — о (г, ^) — 2т.
Здесь о(г,]) —длина простого контура с началом в вершине г, проходящего через вершину ] и содержащего дугу с меткой Ф.
Длина максимального простого контура равна т. Очевидно, что д ((т + о (г, ]) , т)) максимально, если о (г, ^) = ш — 1. В этом случае получаем
дтах = д ((2т — 1, ш)) = 2т2 — 4т +1, 2т2 — 4т +1 ^ ^ 2т2 — 4т +1+ т — 1+ т = 2ш (т — 1).
В таблице приведены сравнительные характеристики оценок числа раундов для конкретных шифров и заявленного разработчиками числа раундов.
Алгоритм шифрования Оценка снизу Оценка сверху Заявленное число раундов
CAST-256 3 10 48
RC-6 2 10 20
MARS 9 13 32
ЛИТЕРАТУРА
1. Nyberg K. Generlized Feistel networks // ASIACRYPT'1996. LNCS. 1996. V. 1163. P. 91-104.
2. Schneier B. and Kelsey J. Unbalanced Feistel networks and block cipher design // FSE'2005. LNCS. 2005. V. 3557. P. 121-144.
3. Zhang L., Wu W., and Zhang L. Proposition of two cipher structures // Inscrypt'2009. LNCS. 2010. V. 6151. P. 215-229.
4. Shibutani K., Isobe T., Hiwatari H., et al. Piccolo: an ultra-lightweight blockcipher // CHES'2011. LNCS. 2011. V.6917. P. 342-357.
5. Suzaki T. and Minematsu K. Improving the generalized Feistel // FSE'2010. LNCS. 2010. V. 6147. P. 19-39.
6. Lai X., Massey J. L., and Murphy S. Markov ciphers and differential cryptanalysis // EuroCrypt'91. LNCS. 1991. V. 547. P. 17-38.
7. KnudsenL.R. DEAL — a 128-bit block cipher. Technical report 151. Department of Informatics, University of Bergen, Norway, February 1998.
8. Biham E., Biryukov A., and Shamir A. Cryptanalysis of Skipjack reduced to 31 rounds using impossible differentials // EUROCRYPT'99. LNCS. 1999. V. 1592. P. 12-23.
9. Bogdanov A. and Shibutani K. Generalized Feistel networks revisited // Designs, Codes and Cryptography. 2012. V. 66. P. 75-79.
10. Li R., Sun B., Li C., and Qu L. Cryptanalysis of a generalized unbalanced Feistel network structure // ACISP'2010. LNCS. 2010. V.6168. P. 1-18.
11. Zheng Y., Matsumoto T., and Imai H. On the construction of block ciphers provably secure and not relying on any unproved hypotheses // CRYPTO'1989. LNCS. 1989. V.435. P. 461-480.
12. Schnorr C. P. On the construction of random number generators and random function generators // EUROCRYPT'88. LNCS. 1988. V.330. P. 225-232.
13. Feistel H., Notz W., and Smith J. L. Some cryptographic techniques for machine-to-machine data communications // Proc. IEEE. 1975. V. 63. No. 11. P. 1545-1554.
14. Luo Y., Wu Z., Lai X., and Gong G. A unified method for finding impossible differentials of block cipher structures // Inform. Sci. 2014. V.263. P. 211-220.
15. Kim J., Hong S., and Lim J. Impossible differential cryptanalysis using matrix method // Discr. Math. 2010. V.310. P. 988-1002.
16. Sylvester J. J. Problem 7382 // Math. Quest. From Educat. Times. 1884. V.37. P. 26.
REFERENCES
1. Nyberg K. Generlized Feistel networks. ASIACRYPT'1996, LNCS, 1996, vol. 1163, pp. 91-104.
2. Schneier B. and Kelsey J. Unbalanced Feistel networks and block cipher design. FSE'2005, LNCS, 2005, vol.3557, pp. 121-144.
3. Zhang L., Wu W., and Zhang L. Proposition of two cipher structures. Inscrypt'2009, LNCS, 2010, vol.6151, pp. 215-229.
4. Shibutani K., Isobe T., Hiwatari H., et al. Piccolo: an ultra-lightweight blockcipher. CHES'2011, LNCS, 2011, vol.6917, pp. 342-357.
5. Suzaki T. and Minematsu K. Improving the generalized Feistel. FSE'2010, LNCS, 2010, vol. 6147, pp. 19-39.
6. Lai X., Massey J. L., and Murphy S. Markov ciphers and differential cryptanalysis. EuroCrypt'91, LNCS, 1991, vol.547, pp. 17-38.
7. KnudsenL.R. DEAL — a 128-bit block cipher. Technical report 151. Department of Informatics, University of Bergen, Norway, February 1998.
8. Biham E., Biryukov A., and Shamir A. Cryptanalysis of Skipjack reduced to 31 rounds using impossible differentials. EUROCRYPT'99, LNCS, 1999, vol. 1592, pp. 12-23.
9. Bogdanov A. and Shibutani K. Generalized Feistel networks revisited. Designs, Codes and Cryptography, 2012, vol. 66, pp. 75-79.
10. Li R., Sun B., Li C., and Qu L. Cryptanalysis of a generalized unbalanced Feistel network structure. ACISP'2010, LNCS, 2010, vol.6168, pp. 1-18.
11. Zheng Y., Matsumoto T., and Imai H. On the construction of block ciphers provably secure and not relying on any unproved hypotheses. CRYPTO'1989, LNCS, 1989, vol.435, pp.461-480.
12. Schnorr C. P. On the construction of random number generators and random function generators. EUROCRYPT'88, LNCS, 1988, vol.330, pp. 225-232.
13. Feistel H., Notz W., and Smith J. L. Some cryptographic techniques for machine-to-machine data communications. Proc. IEEE, 1975, vol.63, no. 11, pp. 1545-1554.
14. Luo Y., Wu Z., Lai X., and Gong G. A unified method for finding impossible differentials of block cipher structures. Inform. Sci., 2014, vol.263, pp. 211-220.
15. Kim J., Hong S., and Lim J. Impossible differential cryptanalysis using matrix method. Discr. Math., 2010, vol.310, pp. 988-1002.
16. Sylvester J. J. Problem 7382 // Math. Quest. From Educat. Times, 1884, vol.37, p.26.