ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА
2014 Прикладная теория графов №1(23)
ПРИКЛАДНАЯ ТЕОРИЯ ГРАФОВ
УДК 519.6
УТОЧНЁННЫЕ ОЦЕНКИ ЭКСПОНЕНТОВ ПЕРЕМЕШИВАЮЩИХ ГРАФОВ БИЕКТИВНЫХ РЕГИСТРОВ СДВИГА НАД МНОЖЕСТВОМ ДВОИЧНЫХ ВЕКТОРОВ
А. М. Дорохова*, В. М. Фомичев**
* Национальный исследовательский ядерный университет (МИФИ), г. Москва, Россия,
** Финансовый университет при Правительстве Российской Федерации, г. Москва, Россия
E-mail: [email protected], [email protected]
Для перемешивающего графа Г подстановочного преобразования регистра сдвига длины n над множеством r-мерных двоичных векторов получены новые оценки длин простых путей и циклов, доказаны достаточные условия примитивности графа Г, понижена полученная ранее верхняя оценка значения экспонента.
Ключевые слова: перемешивающий граф преобразования, диаметр графа, экспонент графа.
Введение
Раундовая подстановка алгоритмов шифрования, использующих конструкцию Фейстеля, построена на основе подстановки регистра сдвига длины 2 над множеством Vr двоичных r-мерных векторов. В [1] в порядке обобщения рассмотрена подстановка V регистра сдвига длины n ^ 2 над V-, получены в различных условиях верхние оценки диаметра и экспонента перемешивающего графа r(v) подстановки V. В настоящей работе получены новые достаточные условия примитивности перемешивающего графа r(v), улучшена оценка [1, теорема 3] экспонента графа r(v).
1. Определяющие свойства перемешивающего графа
Используем обозначения работы [1]. Обозначим V подстановку множества Vrn, реализуемую регистром сдвига длины n > 1 над пространством Vr двоичных r-мерных векторов, где r > 1 —длина в битах двоичных слов, записанных в ячейках регистра сдвига. Состояние регистра в текущий момент времени представим двоичной матрицей размера r х n, считая при этом, что (k + 1)-й столбец матрицы, обозначаемый Ук+i = (x1+rk,..., xr+rk)T, записан в k-й ячейке регистра сдвига, k = 0,1,... , n — 1.
Пусть подстановка V определена равенством
V(У1,...,Уп) = (У2,...,Уп,У1 © ф(У2,...,Уn)), (1)
где © — операция XOR в пространстве Vr и функция ф : V-(n-i) ^ Vr отлична от константы. Условие ф = const означает, что подстановка V не есть циклический сдвиг столбцов двоичной матрицы размера r х n.
Подстановка V задается системой rn булевых координатных функций
{^1 (x1 , . . . , Xrn) , . . ., <£rn(x1 , . . ., xrn) } ,
где функция ^у+тк (ж1,...,жгга) вычисляет г>-й бит Ху+тк вектора Уй+1, V = 1,..., г, к = 0,1,..., п — 1.
Обозначим Б(^) множество номеров существенных булевых переменных функции <Рз(х1 ,..., Хтп), ] = 1,... , гп. Отметим свойства множеств S(<pj), вытекающие из (1):
а) Б(^у+тк(Х1,.. .,хт)) = {V + г(к + 1)}, к = 0,1,..., п — 2, V = 1,..., г;
б) V € Б(^и+Т(га-1)(х1 ,..., Хтп)), где и, V € {1,..., г}, если и только если и = V;
в) (Б(^1+т(га-1)(Х1, . . ., Хт)) и ... и Б(^т+т(п-1)(Х1, . . .,Хт)))\{1, . . .,г} = 0.
Множество Б(^и+т(га-1)(х1,..., Хтп)) зададим таблицей Ти, состоящей из г строк, где
v-я строка состоит из номеров существенных переменных функции ^ад+т(га-1) (х1, ..., Хтп), взятых из множества {ху, Ху+т,..., ху+т(п-1)}; наибольшее из чисел v-й строки таблицы Ти обозначим ш^, и), V,и = 1,..., г.
Перемешивающий граф Г(^) подстановки ^ есть гп-вершинный орграф, в котором есть дуга (г, 7) тогда и только тогда, когда г € Б(^), г, ? € {1,.. .,гп}. При рассмотрении диаметра графа расстояние от г до г положим равным длине кратчайшего из циклов, проходящих через вершину г.
Обозначим функцию отождествления вершин графа Г(^): для любого V = 1,... , г положим + гк) = V, к = 0,1,..., п — 1. Функция индуцирует функцию 0, отображающую гп-вершинный орграф Г(^) в г-вершинный орграф Г(^), где пара (V, и) образует дугу графа Г(^) тогда и только тогда, когда функция ^и+т(га-1) зависит существенно хотя бы от одной из переменных множества {ху, Ху+т, . . ., Ху+т(п-1)}, V, и € {1,..., г} (записывается 0(Г(<^)) = Г(^)).
Отметим свойства орграфов Г(^) и Г(^), некоторые из них приведены в [1].
1) В силу свойств а и б множеств Б(^) орграф Г(^) содержит г независимых циклов С1,... , Ст длины п, где су = (V + г(п — 1), V + г(п — 2), . . ., V + г, V), V = 1,... , г.
2) Вершина ] достижима из вершины г в орграфе Г(^), если и только если в орграфе Г(^) любая вершина, принадлежащая циклу Cj, достижима из любой вершины, принадлежащей циклу С при г = ?, где г, ? € {1,..., г}.
3) Орграф Г(^) сильносвязный, если и только если орграф Г(^) сильносвязный.
4) Простой путь из вершины V+гг в вершину V + г? в цикле Су (обозначим его [г, 7]у) имеет длину Ь(г,7), где Ь(г,?) = г — ?, если г ^ ?, и Ь(г,?) = п — ? + г, если г < ?.
На рис. 1 изображена часть перемешивающего графа Г(^) подстановки <^, содержащая циклы Су и Си, которая при отождествлении вершин преобразуется в дугу ^,и) орграфа Г(^). Здесь координатная функция ^и+т(га-1) подстановки ^ зависит существенно от некоторых переменных множества {ху, Ху+т, . . ., Ху+т(п-1)}.
и
и+г
и+{п-2)г и+(п-\)г
Рис. 1. Часть орграфа Г(^>)
2. Простые пути и циклы в перемешивающем графе
Функция 0 отображает путь г = (г0, ..., г*) длины £ в графе Г(^) в путь 0(х) длины т ^ £ в графе Г(^), который получается с помощью замены числом г в последовательности (-$(г0),..., ^(г*)) каждой серии г,... , г одинаковых чисел.
Функция 0 определяет отношение эквивалентности = на множестве путей (циклов) графа Г(^): если г и х' — пути в графе Г(^), то г = х', если и только если 0(х) = 0(х'). Класс эквивалентных путей (циклов) х в графе Г(^), которым при отождествлении вершин соответствует путь (цикл) в графе Г(^), то есть 0(х) = ад, обозначим [ад].
Для последовательности из ш > 1 путей определена операция конкатенации (обозначим символом •), если конечная вершина предыдущего пути совпадает с начальной вершиной следующего пути; записывается х = х0 • х1 • ... • хт.
Теорема 1.
а) Если путь х в графе Г(^), начинающийся с вершины v0 + г(п — 1) (цикл х, проходящий через вершину v0 + г(п — 1)), простой, где v0 € {1,..., г}, то и путь (цикл) 0(х) в графе Г(^) простой.
б) Для любого простого пути ад длины т > 0 (цикла ад длины т > 1) в графе Г(^) класс [ад] содержит непустое множество простых путей (простых циклов) графа Г(^).
Доказательство.
а) Простой путь (цикл) х не содержит одинаковых вершин, в частности, не содержит более одного раза вершину v0 + (п — 1)г. Если путь (цикл) х целиком состоит из вершин цикла СУ0, то 0(х) есть путь (цикл длины 1), состоящий из единственной вершины v0, то есть 0(х) простой.
В противном случае путь (цикл) х представляется с помощью конкатенации путей,
составленной из вершин различных циклов СУ0,..., СУт, где т ^ 1, при этом путь х и
цикл х имеют соответствующий вид:
— х = хо • #0 • х1 • #1...#т-1 • хТ — путь,
— х = х0 • #0 • х1 • #1...#Т-1 • хТ • #Т — цикл,
где Zj —путь в цикле Су. с начальной вершиной vj• + г(п — 1) и с конечной вершиной V' + гkj, взятой из строки с номером V' таблицы Ту.+1; vТ+1 = v0 (длина пути Zj не более п, иначе путь х не простой); х' —путь в цикле СУт длины менее п с начальной вершиной vТ + г(п — 1); #' = (V' + гк', ^7+ + г(п — 1)) — дуги графа Г(^), ? = 0,... , т.
Осталось заметить, что 0(х) = (v0, v1,..., vТ) и числа v0, v1,.. .^Т попарно различные. Действительно, если VI = V', где г,7 € {0,1,..., т}, г = ?, то совпадают начальные вершины путей х^ и х' (х^ и хТ), это противоречит тому, что путь (цикл) х простой.
б) Дадим конструктивное описание всех эквивалентных простых путей (циклов) в графе Г(^), которым в графе Г(^) соответствует простой путь (цикл) 0(х), а именно: если ад = (v0, v1,.. .^Т) —простой путь (цикл) в графе Г(^), то простой путь (цикл) х в графе Г(^), для которого 0(х) = ад, является конкатенацией путей
х = хо • #0 • х1 • #1.#т-1 • хТ (х = хо • #0 • х1 • #1.#т-1 • хт • #т).
Перебирая все возможные комбинации вершин в строках с номерами V' таблиц Ту.+1, 7 = 0,..., т, получаем требуемое множество эквивалентных путей из класса [ад]. ■
Обозначим: (ад) —длина пути ад в графе Г(^); Ь^(х) —длина пути х в графе Г(^).
Теорема 2.
а) Если в графе Г(^) имеется простой путь w = (зд, v1,..., vТ) длины т > 0, то при любых А,^ € {0,..., п — 1} в графе Г(^) имеется принадлежащий классу [ад] простой
путь х(ад, А, ^) из вершины v0 + гА в вершину vТ + г^, длина которого
Ь^(х(ад, А, ^)) = пт + Ь(А, ш(v0, v1)) — ш(v1, V2) — ... — ш^Т-1, vТ) — ^.
б) Если в графе Г(^) имеется простой цикл ад = (v0, v1,.. .^Т-1) длины т > 1, то в Г(^) имеется принадлежащий классу [ад] простой цикл х(ад), длина которого
Ь^(х(ад)) = пт + Ь(А,ш(^, V!)) — ш(Vl, V2) — ... — ш(^-1, Vт).
Доказательство.
а) В соответствии с теоремой 1б путь х(ад, А, ^) € [ад] имеет вид (номера существенных переменных в строках таблиц Ти взяты наибольшие)
х(ад, А,^) = [А,ш(Vо, Vl)]vo • #0 • [п — 1, ш(Vl, V2)]vl • #1 • ... • #Т-1 • [п — 1,^]ут.
Длины путей [А, ш(v0, v1)]Vo, [п — 1, ш(^, ^+1)]у, и [п — 1,^]Ут в соответствии со свойством 4 равны соответственно L(А,ш(v0, v1)), п — 1 — ш^.^^) и п — 1 — ^, 5 = = 1,..., т — 1. В пути х(ад, А, ^) имеются также дуги #0,... , #Т-1. Следовательно,
Ь^(х(ад, А,^)) = L(А,ш(vо, Vl)) + (т — 1)(п — 1) — ш(vl, V2) — ... — ш(vт-1, ^) + (п — 1) — —^ + т = пт + Ь(А, ш(v0, v1)) — ш(v1, v2) — ... — ш^Т-1, vТ) — ^.
б) В соответствии с теоремой 1б проходящий через вершину v0 + г(п — 1) цикл х(ад) € [ад] имеет вид
х(ад) = [п — 1,ш(Vо, Vl)]vo • #0 • [п — 1,ш(Vl, V2)]vl • #1 • . . . • #Т-2 • [п — 1,ш^т-1^0)]^_1 • #т-1.
В соответствии со свойством 4 длины путей [п — 1, ш^., vs+1)] равны п — 1 — ш^., vs+1),
5 = 0,..., т — 1, vТ = v0. В цикле х(ад) имеются также дуги #0,..., #Т-1. Следовательно,
Ь^(х(ад)) = т(п — 1) — ш(vо, Vl) — ... — ш^т-2, ^-1) — ш(vт-1^0) + т =
= пт — ш(v0, v1) — ... — ш^Т-2, vТ-1) — ш^Т-1, v0).
Теорема доказана. ■
Следствие 1. В условиях теоремы имеют место следующие неравенства:
а) т ^ Ь^(х(ад, А, ^)) ^ пт + п — т;
б) т ^ Ь^(х(ад)) ^ пт — т.
Доказательство. Вытекает из оценок 1 ^ ш^^2) ^ п—1, ..., 1 ^ ш(vТ-1,vТ) ^ ^ п — 1, 0 ^ Ь(А,ш(v0, v1)) ^ п — 1, 0 ^ ^ ^ п — 1. ■
Обозначим через ^ и ^ диаметры графов Г(^) и Г(^) соответственно.
Теорема 3. Для сильносвязного графа Г(^) с диаметром ^ > 1 верны оценки
^ — 1 + п ^ ^ ^ (п — 1) шт{^,, г — 1} + п.
Доказательство. Верхняя оценка доказана в [1, теорема 3.1]. Докажем нижнюю оценку. При г > 1 в сильносвязном графе Г(^) с диаметром ^ > 1 имеется пара различных вершин (^, vТ), для которых кратчайший путь w = (^,..., vТ) имеет длину т = ^ — 1. Тогда по теореме 2а в Г(^) при А = ^ = 0 и ш^^, V') = п — 1, ? = 2,... , т, имеется кратчайший путь х(ад, 0, 0) € [ад] из вершины v0 в вершину vТ вида
х(ад, 0,0) = [0,ш(зд^1)]„0 • #0 • #1 • ... • #т-1 • [п — 1, 0]„,
где #' = (V' + г(п — 1),^+ + г(п — 1)) — дуги графа Г(^), ? = 0,... , т — 1. С учётом оценок Ь(0, ш(v0, v1)) ^ 1 и Ь(п — 1, 0) = п — 1 получаем отсюда длину пути х(ад, 0, 0) равную т + п. Длина пути х(ад, 0, 0) является нижней оценкой для ^, так как пути w и х(ад, 0,0) кратчайшие. ■
3. Примитивность и экспонент перемешивающего графа
Пусть Ц, —множество дуг (^,м) графа Г(^), таких, что координатная функция <^и+(п_1)г подстановки ^ зависит существенно от переменных х+іг не менее чем при двух различных значениях і, где і Є {1,..., п — 1} (в г>-й строке таблицы Ти записано не менее двух вершин).
Теорема 4 (достаточное условие примитивности сильносвязного орграфа Г(<^)). Пусть (^,м) Є Ц, и координатная функция ^и+(га-1)г зависит существенно от переменных с номерами V + г (і — ^’и)), і = 0,... , Л^, где
>0, 0 = 4",и) < ... < ^ п — 2, * Є {йч? + 1,..., п —1}.
Тогда граф Г(^) примитивен, если (п,д) = 1, где
д = НОД{д„,„ : (V, и) Є и,}, д„ = (<“\ .. ) .
Доказательство. По условию граф Г(^) сильносвязный, тогда и Г(^) сильносвязный. Обозначим w простой цикл длины т > 1 в графе Г(^), проходящий через дугу ^,и). Без ограничения общности можно считать, что ад = (1, 2,...,т), V = т и и = 1, то есть функция <^1+(п_1)г зависит существенно от переменных с номерами т + г (і — ^г,1)), і = 0,... , Лт,1. Следовательно, в сильносвязном графе Г(^) существует простой цикл х(ад), проходящий через вершину с номером т + г* (в этом случае і = 0 и ^0Т,1) = 0) и представимый конкатенацией следующих путей (при і = т(т, 1) данный цикл совпадает с циклом, рассмотренным при доказательстве теоремы 2 б):
х(ад) = [п — 1, т(1, 2)]1 ■ ^1 ■ ... ■ [п — 1, т(т — 1, т)]т_1 ■ £т_1 ■ [п — 1, і]т ■ £т,
где £т = (т + гі, 1 + г(п — 1)) и ^ = (^ + гт(з, 5 + 1), 5 + 1 + г(п — 1)), 5 = 1,..., т — 1.
Так как при і = 1,... , Лт,1 переменные с номерами т + г (і — ^(г,1)) также являются существенными для координатной функции <^1+(п_1)г, то в сильносвязном графе Г(^) существуют простые циклы ^(ад), каждый из которых проходит через все вершины цикла х(ад) и содержит новую вершину с номером т + г (і — ^г,1)):
х1(ад) = [п — 1, т(1, 2)]1 ■ ^1 ■ ... ■ [п — 1, т(т — 1, т)]т_1 ■ £т_1 ■ [п — 1, і — ^1т,1)]г ■ ^..., Хіт,і М = [п — 1,т(1, 2)]1 ■ ^1 ■ ... ■ [п — 1,т(т — 1,т)]г_1 ■ £г_1 ■ [п — 1,і — ^Г’1^ ■ ,
где = (т + г(і — ^(т’1)), 1 + г(п — 1)).
При фиксированных т и і длины циклов х(ад), х1(ад), ... , хіт1 (ад) равны
Ь^(х(ад)) = пт — т(1, 2) — т(2, 3) — ... — т(т — 1, т) — і,
^(^(ад)) = Ь^(х(ад)) + ^(1т,1), ..., Ь^(хіт1 (ад)) = Ь^(х(ад)) + ^’д.
Таким образом, если для рассмотренной дуги (т, 1) обозначить Ь^(х(ад)) = Лг,1 и распространить аналогичные рассуждения на произвольную дугу ^,и) Є Ц, , то получим, что для любой дуги в графе Г(^) имеются простые циклы длины п, Л",и, Л",и + ^’и), ..., Л",и + ^’^ при некотором натуральном числе Л^,и. Если все эти числа имеют делитель ^ > 1, то ^ делит не только число п, но и разность любой пары из этих чисел, в частности делит числа ^’и), ... , ^І^. Отсюда ^ делит числа д,и для
любой дуги (v,u) Є U, и, следовательно, ^ делит Й. Имеем противоречие с условием (n, Й) = 1. Тогда длины указанных простых циклов взаимно просты, и в соответствии с [2, с. 226] граф Г(^) примитивный. ■
В качестве следствия уточним оценку экспонента, полученную в [І, теорема З.З].
Следствие 2.
а) Если w — простой цикл длины т > 1 в примитивном графе Г(^), то
exp Г(^) ^ nr + min{n, L^(z(w))}(nr — 2).
б) Пусть т^. — длина простого цикла wv,. в графе Г(^), проходящего через дугу (v,u), где т^. > 1, и функция <£.+r(n-l) зависит существенно от xv+rt и Xv+r(t-l), t Є {2,..., n — 1}. Тогда граф Г(^) примитивный и
exp Г(^) ^ ^v,„)2 — 2Лv,u + 2nr — 1,
где Л^. — длина простого цикла z(wv,.) в графе Г(^), проходящего через дугу (v + rt, u + (n — 1)r).
в) Если в графе Г(^) имеется простой цикл H длины L, проходящий через дугу (v + tr, u + (n — 1)r), где (L, n) = 1, то
exp Г(^) ^ n(L + 2r) — t — L — 2 min{L, n}.
Доказательство.
а) Оценка экспонента следует из теоремы [2, с. 227]: для примитивного m-вершинного графа Г выполняется exp Г ^ m + Л(т — 2), где Л — длина кратчайшего цикла.
б) Граф Г(^) содержит простые циклы z(wv,.) и zl(wv,.), их длины равны соответственно Л^. и Л^. + 1, отсюда (Л^., Л^. + 1) = 1 и граф Г(^) примитивный. Тогда в соответствии с [З, теорема І б] для экспонента графа Г(^) верна оценка exp Г(^) ^ ^v,„)2 — 2Лv,. + 2nr — 1.
в) Граф Г(^) содержит независимые простые циклы Cl, ... , Cr длины n. Если (L,n) = 1, то граф Г(^) примитивный. По условию цикл H в графе Г(^) проходит через дугу (v + tr, u + (n — 1)r), следовательно, он проходит через вершины v + (n — 1)r, v + (n — 2)r, ... , v + tr, то есть цикл H имеет n — t общих вершин с циклом Cv.
Оценим экспонент графа Г(^). Используя формулу теоремы Іб [З] при n < L, получим
exp Г(^) ^ Ln — L — 3n + n — t + 2nr = n(L + 2r) — t — L — 2n, используя формулу теоремы І б [З] при L < n, имеем
exp Г(^) ^ nL — n — 3L + n — t + 2nr = n(L + 2r) — t — L — 2L.
Таким образом, в обоих случаях верна оценка
exp Г(^) ^ n(L + 2r) — t — L — 2 min{L, n}.
Следствие доказано. ■
Замечание. Оценка следствия а лучше оценки теоремы З.З [І] при L^(z(w))<n, необходимое условие этого т < n.
Оценка следствия б лучше оценки теоремы З.З [І] при Л^. < \Jv?r — n(r — 2).
Оценка следствия в лучше оценки теоремы З.З [І] при L < r(n — 1).
Заключение
Для подстановок ^ регистров сдвига длины п над множеством г-мерных двоичных векторов с сильносвязным перемешивающим графом Г(^):
— описаны множества простых путей и циклов графа Г(^), оценены их длины;
— получены новые достаточные условия примитивности графа Г(^);
— уточнены верхние оценки экспонента графа Г(^).
ЛИТЕРАТУРА
1. Коренева А. М., Фомичев В. М. Об одном обобщении блочных шифров Фейстеля // Прикладная дискретная математика. 2012. №3 (17). С. 34-40.
2. Сачков В. Н., Тараканов В. Е. Комбинаторика неотрицательных матриц. М.: ТВП, 2000.
3. Фомичев В. М. Оценки экспонентов примитивных графов // Прикладная дискретная математика. 2011. №2 (12). С. 101-112.