2018 Прикладная теория графов №42
УДК 519.17
ДЕТЕРМИНИРОВАННЫЕ МЕТОДЫ ПОСТРОЕНИЯ ГРАФОВ РАМАНУДЖАНА, ПРЕДНАЗНАЧЕННЫХ ДЛЯ ПРИМЕНЕНИЯ В КРИПТОГРАФИЧЕСКИХ АЛГОРИТМАХ, ОСНОВАННЫХ НА ОБОБЩЁННЫХ КЛЕТОЧНЫХ АВТОМАТАХ1
П. Г. Ключарёв
Московский государственный технический университет им. Н. Э. Баумана, г. Москва,
Россия
Рассматриваются детерминированные методы построения графов Рамануджана в контексте их применения в качестве графов обобщённых клеточных автоматов, предназначенных для использования в криптографии. Изучены два семейства графов Любоцкого — Филипса — Сарнака (Xp'q и Yp'q), семейство графов Пайзера и семейство графов Моргенштерна. Сделан вывод, что для применения в указанном качестве подходят графы Пайзера и графы Yp'q. Приведены значения параметров графов из этих семейств, полученные численно.
Ключевые слова: расширяющий граф, граф Рамануджана. DOI 10.17223/20710410/42/6
DETERMINISTIC METHODS OF RAMANUJAN GRAPH CONSTRUCTION FOR USE IN CRYPTOGRAPHIC ALGORITHMS BASED ON GENERALIZED CELLULAR AUTOMATA
P. G. Klyucharev Bauman Moscow State Technical University, Moscow, Russia E-mail: [email protected]
Earlier, the author proposed a number of methods for constructing symmetric cryptographic algorithms based on generalized cellular automata. In order to make such automata to be cryptographically strong, their graphs must satisfy a number of requirements. In particular, they must be regular not bipartite graphs with a small diameter, a small degree (but not less than 4) and the amount of graphs in the family with the number of vertices from dozens to several thousand must be large enough (it would be desirable to have at least several dozens of graphs with a number of vertices more or less uniformly distributed in the given range). Some of Ramanujan graphs satisfy these requirements. There are two ways to construct relatively small Ramanujan graph: the random way and the deterministic way. In this paper, the deterministic methods for Ramanujan graphs construction in the context of their application in generalized cellular automata being a base of cryptographic algorithms are considered. Each method can be identified with the family of graphs generated by it. Among them are two families of graphs constructed by Lubotzky, Philips and Sarnak — Xp'q and Yp'q, the family of graphs constructed by Pizer, and the family of graphs constructed by Morgenstern. Values of parameters of graphs from these families are numerically computed. After research, we came to conclusion that Pizer
1 Работа выполнена при финансовой поддержке РФФИ в рамках научного проекта №16-07-00542.
graphs (based on isogenies of elliptic curves over finite fields) and the Yp>q Lubotzky — Philips — Sarnak graphs (based on projective transformations of a projective line over a finite field) are suitable for the purposes under consideration, because, according to literature review, they meet all the necessary requirements, in particular, they are not bipartite, and among them there are sufficiently large amount of relatively small graphs with small degrees (all Ramanujan graphs are regular and have a small diameter). At the same time, the Xp'q Lubotzky — Philips — Sarnak graphs and Morgenstern graphs are not suitable for considered purposes, because among them there are too few not bipartite graphs with a small degree and with a number of vertices in the desired range.
Keywords: expander graph, Ramanujan graph.
Введение
Ранее автором в ряде работ (в том числе в [1, 2]) предложены методы построения симметричных шифров и криптографических хэш-функций, основанных на обобщённых клеточных автоматах. Криптоалгоритмы, полученные с помощью этих методов, обладают рядом ценных свойств, в частности высокой производительностью при аппаратной реализации. Для того чтобы такие алгоритмы были криптостойкими, графы обобщённых клеточных автоматов должны удовлетворять ряду требований. Данная работа посвящена детерминированным методам построения таких графов.
1. Основные понятия
Будем использовать термин «граф», допуская наличие петель и кратных рёбер.
Обобщённым клеточным автоматом называется ориентированный граф (граф обобщённого клеточного автомата) с множеством вершин V = {v1,..., vN}, с каждой вершиной vi которого ассоциированы:
— булева переменная mi, которая называется ячейкой;
— булева функция fi(x 1,... , x^), которая называется локальной функцией связи вершины vi (di — степень вершины vi).
При этом каждой паре (v,e), где v Е V — вершина, e — входящее в неё ребро, соответствует номер аргумента локальной функции связи, вычисляемой в вершине v. Будем называть его номером ребра e относительно вершины v. Работа обобщённого клеточного автомата происходит следующим образом. В начальный момент времени каждая ячейка mi, i = 1,... , N, принимает некоторое начальное значение mi(0). Автомат работает пошагово, значения ячеек на шаге номер t вычисляются по формуле
mi(t) = fi(mv(i,i)(t - l),mv(i2)(t - 1),... ,mv(i4i)(t - 1)),
где r/(i,j) —номер вершины, из которой исходит ребро, входящее в вершину vi и имеющее относительно этой вершины номер j.
Будем рассматривать только неориентированные обобщённые клеточные автоматы, т. е. такие, что для каждого ребра (u, v) в графе автомата существует и ребро (v, u). Такой граф можно рассматривать как неориентированный, для чего достаточно заменить каждую пару ориентированных рёбер (u,v) и (v,u) на неориентированное ребро {u, v}. Будем рассматривать только обобщённые клеточные автоматы, графы которых являются регулярными (d1 = ... = dn = d).
Обобщённый клеточный автомат представляет собой обобщение клеточного автомата [3], предложенного Дж. фон Нейманом. Подобные обобщения под разными на-
званиями использовались в различных областях (см., например, [4, 5]). Методы применения обобщённых клеточных автоматов в криптографии развиты в [1, 2].
2. Требования к графам
Как обосновано в предыдущих работах автора, для построения обобщённых клеточных автоматов, применяемых в составе криптографических алгоритмов, требуются связные неориентированные графы, обладающие следующими свойствами:
— граф должен иметь свойства, близкие к свойствам случайного графа;
— диаметр графа должен быть близок к минимально возможному;
— число петель и кратных рёбер в графе должно быть как можно меньшим;
— граф должен являться регулярным;
— степень графа должна быть как можно меньшей (для повышения эффективности аппаратной реализации обобщённого клеточного автомата);
— степень графа должна быть не меньше четырёх;
— граф не должен являться двудольным;
— количество графов с числом вершин от нескольких десятков до нескольких тысяч в семействе графов должно быть достаточно велико, чтобы в семействе существовали графы, годящиеся для построения обобщённых клеточных автоматов с различным числом ячеек (хотелось бы иметь хотя бы несколько десятков графов с числом вершин, более или менее равномерно распределённым в данном диапазоне).
Заметим, что в этом ряду требований словосочетание «как можно меньшее» следует понимать в приближённом смысле — достаточна лишь близость к минимально возможным значениям. Приведённым требованиям удовлетворяют графы Рамануджана [6-8].
3. Расширяющие графы
Графы Рамануджана изучаются в теории расширяющих графов. Это сравнительно молодая область дискретной математики, нашедшая много приложений в различных теоретических и прикладных областях математики и компьютерных наук. Ей посвящено большое количество работ, в том числе [6, 7, 9-12]. Приведём некоторые сведения из этой теории, необходимые для дальнейшего изложения.
Коэффициентом рёберного расширения неориентированного d-регулярного графа G с множеством вершин V называется величина
h(G) = min М, {SCV:0<|S|<|V|/2} | S |
где |ÖS| —число рёбер, каждое из которых соединяет вершину из множества S c вершиной из множества V \ S.
Расширяющим графом (expander graph) называется неориентированный регулярный граф G, для которого h(G) ^ с, где с — некоторая наперёд заданная положительная константа.
Коэффициент рёберного расширения графа связан с его спектральными свойствами. Спектр неориентированного графа — это набор собственных значений его матрицы смежности, отсортированный по невозрастанию: Ai ^ Л2 ^ • • • ^ An. Здесь и далее N — число вершин графа.
Как известно из спектральной теории графов, для d-регулярных графов A1 = d и справедливо следующее неравенство Чигера:
1(d - A2) ^ h(G) ^ d(d - A2).
Пусть Л = A(G) = max |Ai|. Графом Рамануджана называется связный d-регуляр-|Ai|<d
ный неориентированный граф G, для которого справедливо следующее неравенство:
A(G) ^ 2Vd—l. (1)
Для диаметра D(G) графов Рамануджана справедливо соотношение [13]
D(G) ^ 2 logd-i N + O(1).
Этот диаметр достаточно близок к границе Мура.
Известны следующие подходы к построению небольших графов Рамануджана:
1) построение при помощи известного детерминированного метода;
2) случайная генерация с последующей проверкой значения A.
В данной работе мы рассмотрим известные детерминированные методы построения графов Рамануджана, чтобы выбрать подходящие для использования сгенерированных с их помощью графов в качестве графов обобщённых клеточных автоматов с расчётом на их применение в криптографии. Такой метод должен давать достаточную свободу в выборе числа вершин графа. Важным является вопрос о диаметре таких графов. Для некоторых приложений важен также обхват графа (обхватом графа называется длина наименьшего содержащегося в нём цикла).
Одним из понятий, используемых в явных конструкциях графов Рамануджана, являются графы Кэли. Пусть H — конечная группа, S — её подмножество, такое, что 1 Е S и ж-1 Е S для любого ж Е S. Графом Кэли G(H, S) группы H по множеству S называется неориентированный граф, вершинами которого являются элементы группы H. Вершины u H и v H соединены ребром тогда и только тогда, когда существует такое s Е S, что v = us. Такой граф, очевидно, является |S|-регулярным, в нём отсутствуют петли и кратные ребра.
4. Семейство графов Xpq Любоцкого — Филипса — Сарнака
Пожалуй, наиболее известным семейством графов Рамануджана является так называемое семейство Xp'q Любоцкого — Филипса — Сарнака [8, 10, 14]. Чтобы описать графы из этого семейства, напомним стандартные определения некоторых теоретико-групповых конструкций [15-19].
Пусть K — коммутативное кольцо с единицей, F — поле. Полной линейной группой GL(n, K) называется мультипликативная группа всех обратимых матриц размера ихи над кольцом K. Её подгруппа SL(n, K) матриц с определителем, равным единице, называется специальной линейной группой.
Проективной полной линейной группой PGL(n, F) называется фактор-группа полной линейной группы GL(n, F) по её центру — подгруппе ненулевых скалярных матриц. Проективной специальной линейной группой PSL(n, F) называется фактор-группа специальной линейной группы SL(n, F) по её центру. Элементами групп PGL(n, F) и PSL(n, F) являются смежные классы, которые будем обозначать их представителями.
Для удобства изложения через PSL'(2, Fm) обозначим подгруппу группы PGL(2, Fm), содержащую те и только те смежные классы, определители элементов которых являются квадратами. Группа PSL'(2, Fm) изоморфна группе PSL(2, Fm).
Перейдём к описанию метода построения рассматриваемых графов [8, 10, 14].
Пусть p и q — различные простые числа, такие, что p = 1 (mod 4) и q = 1 (mod 4). Пусть i Е Fq такое, что i2 + 1 = 0.
Рассмотрим все наборы из четырёх элементов (а0, а\, а2, а3) € Ц4, для которых выполняются следующие условия:
1) а0 — нечётное положительное число;
2) а1, а2, а3 — чётные числа;
3) а2 + а1 + а2 + а2 = р.
Таких наборов ровно р +1. Каждому такому набору а = (а0, а1, а2, а3) сопоставим € РОЬ(2,¥д):
_ а0 + га1 а2 + га3 |
—а2 + га3 а0 — га1
Пусть множество Б состоит из всех таких ва. Его мощность равна р + 1.
Отметим, что если р является квадратичным вычетом по модулю д, то все ва лежат в подгруппе РЯЬ'(2, ), изоморфной группе РЯЬ(2, ).
Семейство графов Любоцкого — Филипса — Сарнака Xм определяется следующим образом:
X р'(
[б(РОЬ(2, ), Б)
1
р
если | -
Л
р
б(РЯЬ'(2, ¥„), Б), если -
Я,
—1, 1,
р
где ( - I —символ Лежандра. Такие графы являются (р + 1)-регулярными. В них отсутствуют петли и кратные рёбра. Число вершин у этих графов равно
д(д2 — 1), если ( - ) = — 1,
N
р
9
9(д2 — 1) /р -, если -
2 , V?
1.
Для графов Xм доказано [8], что они являются графами Рамануджана, для их диаметра выполняется неравенство
Я(Х™) ^ 2(^р N + logp 2) + 1,
а обхват таких графов имеет следующую оценку:
р
2(2log„ д — log„ 2), если - = — 1
А р
если | -Л,
1.
Если ( р
р
1
недвудольным.
= — 1, то граф Хр'я является двудольным, а если —
К сожалению, недвудольных графов небольшой степени с небольшим числом вершин из этого семейства очень мало. Так, если рассматривать только графы степени d ^ 20 с числом вершин N ^ 20000, то таких графов всего четыре (их параметры — числа р и д, степень d и число вершин N — приведены в табл. 1). Такая особенность делает эти графы непригодными для использования в рассматриваемых целях.
Таблица 1
p q d N
5 29 6 12180
13 17 14 2448
13 29 14 12180
17 13 18 1092
5. Семейство графов Ур'я Любоцкого — Филипса — Сарнака
Рассмотрим другое семейство графов Рамануджана — семейство Ум, также предложенное Любоцким, Филипсом и Сарнаком [10]. Графы, принадлежащие этому семейству, являются недвудольными. Опишем метод построения этих графов.
Выберем простые числа р и д, для которых выполняются следующие условия:
p = 1 (mod 4), q = 1 (mod 4), p = q,
p
1.
Построим граф Ум. Множеством V его вершин является проективная прямая над конечным полем , т.е. V = и {то}. Каждая вершина и Е V соединена ребром с вершиной V, определяемой по формулам
' (ao + iai)u + (a2 + ias) (—a2 + ia3)u + (a0 — ia1) то,
ia1 + ao
ia3 — a2'
,
если (a2 — ia3)u = a0 — ia1 и u = то, если (a2 — ia3)u = a0 — ia1 и u = то, если ia3 = a2 и u = то, если ia3 = a2 и u = то,
для каждой четвёрки (a0, a1, a2, a3) Е Z4, такой, что выполняются следующие условия:
1) a0 — нечётное положительное число;
2) a1, a2, a3 — чётные числа;
3) a02 + a21 + a22 + a32 = p.
Здесь i Е Fq такое, что i2 + 1 = 0. Граф имеет степень, равную количеству таких четвёрок (p +1). В построенном графе могут присутствовать кратные рёбра и петли. Для графов Yp'q доказано [10], что они являются графами Рамануджана.
Различных графов из семейства Yp'q с числом вершин от 100 до 10000 для p = 5 (т. е. 6-регулярных) насчитывается 298, а для p =13 (т.е. 14-регулярных) — 301. При этом они достаточно равномерно распределены в указанном диапазоне.
В целях проведения вычислительных экспериментов разработано программное обеспечение на языке Python. С помощью него построено 448 таких графов степени 6 с числом вершин от 30 до 15902. Их параметры A приведены на рис. 1, а диаметры — на рис. 2. Количество петель у каждого из построенных графов равно 6, а количество пар кратных рёбер — либо 0, либо 12. Заметим, что существенно сократить число петель и кратных рёбер позволяет описанный в п. 8 способ коррекции.
q
v
4,5 4,45 4,4 4,35 4,3 4,25 4,2 4,15 4,1
-Л' • • . • • ••
V *
0 2000 4000 6000 8000 10000 12000 14000 16000
Число вершин
• А — Граница
Рис. 1. Значения параметра Л графов Ум степени 6 и граница (1)
3 2 1
0 2000 4000 6000 8000 10000 12000 14000 16000
Число вершин Рис. 2. Диаметры графов Ур'д степени 6
6. Семейство графов Моргенштерна
Другое семейство графов Рамануджана предложено Моргенштерном в работе [20]. Опишем метод построения таких графов [20-22].
Графы Моргенштерна представляют собой графы Кэли для группы РЯЬ' или РОЬ над полем Галуа по некоторому множеству.
Сначала рассмотрим случай поля чётной характеристики. В этом случае граф Мор-генштерна недвудольный. Пусть д = 2Т (для некоторого т). Выберем такое е € Fq, что
многочлен /(х) = х2 + х + е неприводим над , и неприводимый многочлен РП(Х) Е Е ^[X] степени п, где п — чётное. Будем использовать поле = [Х]/(РП(Х)). Пусть г Е ^п —корень многочлена /(х) и $м0^ = {з0, ..., }, где
1
а,- + 6, i
(а,- + г + 6,- )Х 1
Здесь а,-, 6,- — все лежащие в поле решения уравнения
а2 + а,- 6,- + б2е = 1.
В случае поля чётной характеристики граф Моргенштерна представляет собой граф Кэли
= 0^(2,
Рассмотрим теперь случай поля нечетной характеристики. Пусть р — нечётное простое, д = рт (для некоторого т). Выберем е Е Fq, такое, что оно не является квадратом в поле Fq; неприводимый многочлен РП(Х) Е Fq [X] степени п, где п — чётное; г Е Fqn, такое, что г2 = е. Будем использовать поле Fqn = Fq[Х]/(Рп(Х)). Определим множе-
ство S(
Morg
{s0,s1,...,sq}, где
1
а — i
(а, + i)(X — 1) 1
Здесь а,, 6, — все лежащие в поле Fq решения уравнения
е — а.,- = 1.
В случае поля нечётной характеристики граф Моргенштерна представляет собой граф Кэли
ie(PSL'(2, Fqn ),SM org),
X
если
GMorg
1
G(PGL(2, Fqn ),SM org), если
,PnJX ).
1,
1,
где
Pn(X )
— символ Лежандра в поле Fq
Графы Моргенштерна являются (д + 1)-регулярными графами Рамануджана без петель и кратных рёбер с числом вершин
N=
qn(q2n — 1) для группы PGL(2,Fqn), qn(q2n — 1)/2 для группы PSL'(2,Fqn).
Такой граф является недвудольным при использовании группы РЯ1/(2, Fqn) и двудольным при использовании группы РОЬ(2, Fqn). Для таких графов доказано [20], что они имеют малый диаметр и большой обхват:
ДСМУ ^ 2 (X) + 2,
для группы РОЬ(2, Fqn),
girth(GMMOrg)
4
44 logq(N)
2
- logq(N) + 1 для группы PSL'(2, Fqn).
о —од ^ ' ) 1 ^ ^ ¡^ J ^ >->■•-•
О
К сожалению, недвудольных графов Моргенштерна малых степеней с небольшим числом вершин очень мало. Параметры таких графов приведены в табл. 2, из которой видно, что для обсуждаемых целей это семейство графов не подходит.
s
а
n
Таблица 2 Параметры недвудольных графов Моргенштерна малых степеней (для небольших значений параметра п)
Параметры Число вершин N графа Моргеншерна
d Р т q n = 2 n = 4 n = 6 n = 8 n = 10
4 3 1 3 360 265680 1,94 • 108 1,41 • 1011 1,03 1014
5 2 2 4 2040 8388480 3,44 • 1010 1,41 • 1014 5,76 1017
6 5 1 5 7800 122070000 1,91 • 1012 2,98 • 1016 4,66 1020
8 7 1 7 58800 6920642400 8,14 • 1014 9,58 • 1019 1,13 1025
9 2 3 8 131040 34359736320 9,01 • 1015 2,36 • 1021 6,19 1026
10 3 2 9 265680 1,41 • 1011 7,5 • 1016 3,99 • 1022 2,12 1028
7. Семейство графов Пайзера
Опишем ещё одно семейство графов Рамануджана — графы Пайзера [21, 23, 24]. Они основаны на эллиптических кривых. Эллиптическим кривым и их применению в криптографии посвящено большое количество работ, например [25 - 28].
Напомним, что эллиптической кривой над полем F называется гладкая (т. е. не имеющая особых точек) алгебраическая кривая над этим полем, задаваемая уравнением
y2 + а^у + а3 y = х3 + а2 х2 + а4х + а6, (2)
вместе с точкой в бесконечности O. Если эллиптическая кривая определена над полем, характеристика которого отлична от 2 и 3, то линейным преобразованием координат её уравнение сводится к форме Вейерштрасса
y2 = x3 + ах + b. (3)
Пусть p и l — простые числа, причём p = 1 (mod 12), а l является квадратичным вычетом по модулю p. Множеством вершин графа Пайзера является множество классов изоморфизма суперсингулярных эллиптических кривых над полем Fp2. Вершины такого графа удобно задавать с помощью j-инвариантов соответствующих эллиптических кривых. Будем писать «вершина j», имея в виду вершину, соответствующую классу изоморфизма эллиптических кривых с j-инвариантом j. Представителя такого класса будем обозначать Ej. Для j ^ {0,1728} эллиптическую кривую Ej над полем характеристики, отличной от 2 и 3, можно задать, например, уравнением вида
2 3 3j , 2j
У2 = Х3--:-ГТ^ТГ X +
3 - 1728 3 - 1728
Вершины 31 и 32 являются смежными, если существует /-изогения между Е^ и Е^. Более подробно построение рёбер графа описано далее. Напомним, что если Е' и Е" — эллиптические кривые, то изогенией из Е' в Е" называется морфизм ^ : Е' ^ Е", для которого <^(О) = О. Изогения является гомоморфизмом групп точек эллиптических кривых. Степенью изогении называется мощность её ядра. Изогению степени / часто называют /-изогенией.
Полученный граф Пайзера, который будем обозначать П^р, имеет N = |_р/12] вершин. Он является недвудольным (/ + 1)-регулярным неориентированным графом и графом Рамануджана. Для его диаметра справедливо неравенство
D(n^) ^ 2log, N + 2,
а для обхвата — неравенство
^ р — 4].
Важным является понятие группы /-кручения эллиптической кривой. Группа /-кручения Е [/] эллиптической кривой Е, определённой над полем I, представляет собой множество точек, которое задается следующим образом:
Е[/] = (деЕ(I): /д = О}, (4)
где Е (I) — группа точек эллиптической кривой Е с координатами из алгебраического замыкания поля I. Известно, что если характеристика поля I не делит /, то имеет место изоморфизм Е[/] = Z1 ф Z1. В этом случае |Е[/]| = /2.
Нас будет интересовать случай, когда число / — простое. Тогда группа /-кручения имеет / + 1 подгруппу порядка /, а х-координаты точек, входящих в неё, являются корнями некоторого специального полинома "г. Для эллиптических кривых в форме Вейерштрасса (над полями характеристики, отличной от 2 и 3) этот полином вычисляется в соответствии с рекуррентными формулами
02т+1 = 0т+20" - 0т-10"+1 для Ш ^ 2; (5)
"02" = |(0т+20"-1 - 0"-2""+1) для Ш ^ 3, (6)
при этом = 1; "2 = 2у; 03 = 3х4 + бах2 + 12Ьх — а2; 04 = 4у(х6 + 5ах4 + 20Ьх3 — — 5а2 х2 — 4аЬх — 8Ь2 — а3).
Рёбра графа Пайзера соответствуют изогениям. Для построения всех рёбер, инцидентных вершине г, следует найти ]-инварианты образов всех /-изогений из эллиптической кривой Е^. Для построения изогении нужно найти её ядро. Ядро /-изогении является подгруппой порядка / группы /-кручения эллиптической кривой. Таким образом, каждой подгруппе порядка / группы Е^ [/] соответствует инцидентное вершине г ребро.
Пусть для эллиптической кривой вида (2) изогения задана ядром С. Образ изогении может быть найден с помощью формул Велу, предложенных в [29]. Приведём их (формулы приводятся на основе работы [30]).
Для точки Р = (хр, ур) е С, не являющейся точкой в бесконечности, определим следующие параметры:
др = 3хр + 2а2хр — а1ур + а4, др = —2ур — аз — а1Хр,
др, если 2Р = О,
Гр = <
1 2др — а1дУ, если 2Р = О,
ир = (ду )2.
Пусть С2 С С — множество точек порядка 2, содержащихся в множестве С. Выберем такое множество К С С, что С является объединением четырёх попарно непересекающихся множеств:
С = (О} и С2 и К и (—К),
где (—Я) = {—^ : Q € Я}. Вычислим параметры г и ад следующим образом:
г = Е гд; W = Е (хдгд + деД-С дед-с
Тогда образом изогении будет являться эллиптическая кривая
2 / / 3/2 / /
у + а1жу + а3 у = х + а2 х + а4х + а6,
где а! = а1; а'2 = а2; а'3 = а3; а4 = а4 — 5г; а'6 = а6 — (а! + 4а2)г — 7w. Сама изогения задаётся формулами
х = х + Е -+ 7-ча
дедисА х — хд (х — хд )2У
2у + а1х + аз + у — уд + а^ж — хд) + а1ид — \
/ V"1 I У 1 1 1 3 у уд I ду
У = У — деДисЛ(ж — х0)з + гд-^-+ (ж — хд)2 )
Чтобы узнать, какой вершине графа Пайзера соответствует образ изогении (ребро, соответствующее изогении, инцидентно этой вершине), остаётся вычислить его 3-ин-вариант.
Для эллиптических кривых в форме Вейерштрасса (3) вышеприведенные формулы Велу упрощаются:
— 3хр + а,
= —2ур ,
_ , если 2Р = О, гР = |2д|,, если 2Р = О,
= (ду )2,
г = Е гФ w = Е (хдгд + ид). дедис2 дедис2
Образом изогении в этом случае является эллиптическая кривая, заданная уравнением
у2 = х3 + (а — 5г)х + (Ь — 7w).
Для построения всех образов изогений для данной эллиптической кривой можно предложить следующую методику:
1) Найти полином ^ по формулам (5), (6).
2) Найти корни полинома ^. Множество точек, соответствующих этим корням, вместе с точкой в бесконечности составляет группу /-кручения эллиптической кривой.
3) Найти все подгруппы порядка / группы /-кручения. Их число равно / + 1.
4) Каждая подгруппа порядка / группы /-кручения образует ядро одной из /-изо-гений. Найти образы всех /-изогений с помощью формул Велу.
Итак, построение графа Пайзера П,р происходит следующим образом:
1) выбирается 3 -инвариант, соответствующий суперсингулярной эллиптической кривой над полем Ер2;
2) производится обход графа в ширину с построением образов /-изогений и вычислением их 3-инвариантов. Получившийся граф является графом Пайзера Щр.
Графов Пайзера существует достаточно много. Так, число графов Пайзера степени 6 с числом вершин от 100 до 10000 составляет 1360. Данные по количеству графов Пайзера различных степеней с числом вершин в этом диапазоне приведены в табл. 3.
Таблица 3
Степень Параметр l Число графов Пайзера
4 3 2749
6 5 1360
8 7 1361
12 11 1377
14 13 1352
18 17 1360
20 19 1351
Некоторые графы Пайзера (степеней 4, 6, 8) были явно построены с целью проведения вычислительных экспериментов. Всего построено 56 графов степени 6, 57 графов степени 4 и 21 граф степени 8. Программа построения графов разработана автором для системы компьютерной алгебры Magma [31, 32]. Параметры Л построенных графов приведены на рис. 3-5, а значения их диаметров — на рис. 6.
4,5 4,45 4,4 4,35 4,3 4,25 4,2 4,15 4,1 4,05
2000 4000 6000 8000
Число вершин
10000
12000
14000
• А — Граница
Рис. 3. Значения параметра Л графов Пайзера степени 6 и граница (1)
0
3,48 3,46 3,44 3,42 •
3,4 3,38 3,36 3,34 3,32 *
3,3
0 2000 4000 6000 8000 10000 12000 14000
Число вершин
• А — Граница
Рис. 4. Значения параметра Л графов Пайзера степени 4 и граница (1)
• • •
5,3 5,28 5,26 5,24 -< 5,22 5,2 5,18 5,16 5,14
• ••
• •
2000
4000 6000
Число вершин
8000
10000
• А — Граница
Рис. 5. Значения параметра Л графов Пайзера степени 8 и граница (1)
0
14
12
10
4 Ш
«■• ♦♦♦♦♦ ♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦
• ♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦ ♦ А Л
• »ИМ ♦♦АДА АДА А
Ш».....А А
2000
4000
6000 8000 Число вершин
10000
12000
14000
• ^=4 О d=6 Д d=8
Рис. 6. Диаметры графов Пайзера степени d
8. Удаление петель и кратных рёбер
Наличие в графе петель и кратных рёбер может ухудшить криптографические свойства обобщённого клеточного автомата, поэтому необходимо уменьшить их количество. Сделать это нужно так, чтобы граф оставался регулярным. Приведём простой алгоритм, вариант которого использовался автором ранее [33].
Обработаем кратные рёбра следующим образом. Рассмотрим две пары кратных рёбер: пару ребер, соединяющих вершины «1, VI, и пару ребер, соединяющих вершины (здесь € V — попарно различные вершины графа, V — множество
вершин графа). Удалим одно ребро |м1,^1} и одно ребро |м2,^2}, после чего добавим рёбра |м1,м2} и |^1,^2}. Обработаем так все пары кратных ребер в графе (если их количество нечётное, то все, кроме одной).
Петли обработаем следующим образом. Пусть в графе имеются петли |м1,м1}, {м2,м2}, ... , {ш, «Л, где иь ...€ V. Удалим эти петли из графа, после чего добавим рёбра {м1,м2}, {м2,м3},..., {«¿-ъ«;}, {«*,«1} (заметим, что если при этом появятся кратные рёбра, то порядок вершин последовательности м1,м2,... следует, если возможно, изменить так, чтобы кратных рёбер не появлялось).
Если после выполнения этих процедур петли и кратные рёбра остаются, можно произвести следующие действия. Пусть для некоторых попарно различных вершин и,1',и' € V имеется пара кратных рёбер, соединяющих вершины м,^, и петля {и^и} Тогда можно удалить одно ребро из этой пары и петлю, после чего добавить рёбра {м, и {V,
Приведённый алгоритм позволяет существенно уменьшить количество кратных рёбер и петель, не влияя на регулярность графа и не приводя к увеличению его диаметра.
8
6
2
0
Для большинства сгенерированных в рамках настоящей работы графов его применение не привело к существенному изменению параметра Л.
Заключение
Для применения в качестве графов обобщённых клеточных автоматов графы Мор-генштерна и графы Xp'q, очевидно, не подходят, поскольку таких графов небольшой степени с небольшим числом вершин существует очень мало. Вместе с тем для рассматриваемых целей подходят графы Yp'q и графы Пайзера, так как они удовлетворяют всем необходимым требованиям. Следует заметить, что число петель и кратных рёбер в графе может быть при необходимости сведено к минимуму способом, изложенным в п. 8.
ЛИТЕРАТУРА
1. Ключарёв П. Г. Блочные шифры, основанные на обобщённых клеточных автоматах // Наука и образование. МГТУ им. Н. Э. Баумана. Электрон. журн. 2012. №12. C. 361-374.
2. Ключарёв П. Г. Криптографические хэш-функции, основанные на обобщённых клеточных автоматах // Наука и образование. МГТУ им. Н. Э. Баумана. Электрон. журн. 2013. №1. C. 161-172.
3. Тоффоли Т., Марголус Н. Машины клеточных автоматов: пер. с англ. М.: Мир, 1991. 280 с.
4. Kauffman S. A. Metabolic stability and epigenesis in randomly constructed genetic net // J. Theor. Biol. 1969. No. 22. P. 437-467.
5. Сухинин Б. М. Разработка генераторов псевдослучайных двоичных последовательностей на основе клеточных автоматов // Наука и образование. МГТУ им. Н. Э. Баумана. Электрон. журн. 2010. №9. http://engineering-science.ru/doc/159714.html
6. Davidoff G., Sarnak P., and Valette A. Elementary Number Theory, Group Theory and Ramanujan Graphs. Cambridge: Cambridge University Press, 2003. V. 55. 144 p.
7. Hoory S., Linial N., and Wigderson A. Expander graphs and their applications // Bull. Amer. Math. Soc. 2006. V. 43. No. 4. P. 439-562.
8. Lubotzky A., Phillips R., and Sarnak P. Ramanujan graphs // Combinatorica. 1988. V. 8. No. 3. P. 261-277.
9. Krebs M. and Shaheen A. Expander Families and Cayley Graphs: A Beginner's Guide. Oxford: Oxford University Press, 2011. 258 p.
10. Sarnak P. Some Applications of Modular Forms. Cambridge: Cambridge University Press, 1990. V. 99. 111 p.
11. Chung F. Spectral Graph Theory. Amer. Math. Soc., 1997. 207 p.
12. Sarnak P. What is ... an expander? // Notices Amer. Math. Soc. 2004. V. 51. P. 762-770.
13. Lubotzky A. Discrete Groups, Expanding Graphs and Invariant Measures. Springer Science & Business Media, 2010. 196 p.
14. Lubotzky A., Phillips R., and Sarnak P. Explicit expanders and the Ramanujan conjectures // Proc. 18th Ann. ACM Symp. on Theory of Computing. ACM, 1986. P. 240-246.
15. Grove L. Classical Groups and Geometric Algebra. Fields Institute Communications. Amer. Math. Soc., 2002. 169 p.
16. Humphreys J. A Course in Group Theory. Oxford Graduate Texts in Mathematics. Oxford: Oxford University Press, 1996. 279 p.
17. James G. and Liebeck M. Representations and Characters of Groups. Cambridge Mathematical Textbooks. Cambridge: Cambridge University Press, 2001. 458 p.
18. Lanski C. Concepts in Abstract Algebra. Amer. Math. Soc., 2005. 545 p.
19. Каргаполов М. И., Мерзляков Ю. И. Основы теории групп. М.: Наука, Физматлит, 1996. 287 с.
20. Morgenstern M. Existence and explicit constructions of q + 1 regular Ramanujan graphs for every prime power q //J. Combinatorial Theory. Ser. B. 1994. V. 62. No. 1. P. 44-62.
21. Petit C. On Graph-Based Cryptographic Hash Functions. PhD Thesis. Catholic University of Louvain, 2009. 286p. wwwO.cs.ucl.ac.uk/staff/c.petit/files/thesis.pdf
22. Nikkel T. Ramanujan Graphs. Master's Thesis. University of Manitoba, 2007. 112 p. http: //mspace.lib.umanitoba.ca/bitstream/handle/1993/9146/thesis.pdf
23. Pizer A. K. Ramanujan graphs and Hecke operators // Bull. Amer. Math. Soc. 1990. V. 23. No. 1. P. 127-137.
24. Charles D. X., Lauter K. E., and Goren E. Z. Cryptographic hash functions from expander graphs // J. Cryptology. 2009. V. 22. No. 1. P. 93-113.
25. Silverman J. Advanced Topics in the Arithmetic of Elliptic Curves. Graduate Texts in Mathematics. N.Y.: Springer, 2013. 528p.
26. Blake I., Seroussi G., and Smart N. Elliptic Curves in Cryptography. Lecture Note Series. Cambridge: Cambridge University Press, 1999. 204 p.
27. Silverman J. The Arithmetic of Elliptic Curves. Graduate Texts in Mathematics. N.Y.: Springer, 2009. 402 p.
28. Washington L. Elliptic Curves: Number Theory and Cryptography. 2nd Ed. Discrete Mathematics and its Applications. Boca Raton: CRC Press, 2008. 536 p.
29. Velu J. Isogenies entre courbes elliptiques // CR Acad. Sci. Paris Ser. AB. 1971. V. 273. P. A238-A241.
30. Shumow D. Isogenies of Elliptic Curves: A Computational Approach. Master's Thesis. University of Washington, 2009. 78p. https://arxiv.org/abs/0910.5370
31. Bosma W., Cannon J., and Playoust C. The Magma algebra system. I. The user language // J. Symbolic Comput. 1997. V.24. No. 3-4. P. 235-265.
32. Handbook of Magma Functions. Edition 2.20 / eds. W. Bosma, J. Cannon, C. Fieker, and A. Steel. 2014. 5583p. https://www.math.uzh.ch/sepp/magma-2.19.8-cr/Handbook.pdf
33. Ключарёв П. Г. Построение псевдослучайных функций на основе обобщенных клеточных автоматов // Наука и образование. МГТУ им. Н. Э. Баумана. Электрон. журн. 2012. №10. С. 263-274.
REFERENCES
1. Klyucharev P. G. Blochnye shifry, osnovannye na obobshchyonnyh kletochnyh avtomatah [Block ciphers based on generalized cellular automata]. Science and Education of the Bauman MSTU, 2012, no. 2, pp. 361-374. (in Russian)
2. Klyucharev P. G. Kriptograficheskie hesh-funkcii, osnovannye na obobshchyonnyh kletochnyh avtomatah [Cryptographic hash functions based on generalized cellular automata]. Science and Education of the Bauman MSTU, 2013, no. 1, pp. 161-172. (in Russian)
3. Toffoli T. and Margolus N. Cellular Automata Machines. MIT Press, 1987. 276 p.
4. Kauffman S. A. Metabolic stability and epigenesis in randomly constructed genetic net. J. Theor. Biol., 1969, no. 22, pp. 437-467.
5. Suhinin B. M. Razrabotka generatorov psevdosluchajnyh dvoichnyh posledovatelnostej na osnove kletochnyh avtomatov [Construction of pseudorandom binary sequence generators based on cellular automata]. Science and Education of the Bauman MSTU, 2010, no. 9. http://engineering-science.ru/doc/159714.html. (in Russian)
6. Davidoff G., Sarnak P., and Valette A. Elementary Number Theory, Group Theory and Ramanujan Graphs. Cambridge, Cambridge University Press, 2003, vol.55. 144p.
92
П. r. K^KinapeB
7. HooryS., LinialN., and Wigderson A. Expander graphs and their applications. Bull. Amer. Math. Soc., 2006, vol.43, no. 4. pp. 439-562.
8. Lubotzky A., Phillips R., and Sarnak P. Ramanujan graphs. Combinatorica, 1988, vol. 8, no. 3, pp.261-277.
9. Krebs M. and Shaheen A. Expander Families and Cayley Graphs: A Beginner's Guide. Oxford, Oxford University Press, 2011. 258 p.
10. Sarnak P. Some Applications of Modular Forms. Cambridge, Cambridge University Press, 1990, vol.99. 111 p.
11. Chung F. Spectral Graph Theory. Amer. Math. Soc., 1997, 207 p.
12. Sarnak P. What is ... an expander? Notices Amer. Math. Soc., 2004, vol.51, pp. 762-770.
13. Lubotzky A. Discrete Groups, Expanding Graphs and Invariant Measures. Springer Science & Business Media, 2010. 196 p.
14. Lubotzky A., Phillips R., and Sarnak P. Explicit expanders and the Ramanujan conjectures. Proc. 18th Ann. ACM Symp. on Theory of Computing, ACM, 1986, pp. 240-246.
15. Grove L. Classical Groups and Geometric Algebra. Fields Institute Communications. Amer. Math. Soc., 2002. 169 p.
16. Humphreys J. A Course in Group Theory. Oxford Graduate Texts in Mathematics. Oxford, Oxford University Press, 1996. 279 p.
17. James G. and Liebeck M. Representations and Characters of Groups. Cambridge Mathematical Textbooks. Cambridge, Cambridge University Press, 2001. 458 p.
18. Lanski C. Concepts in Abstract Algebra. Amer. Math. Soc., 2005. 545 p.
19. Kargapolov M. I. and Merzlyakov Yu. I. Osnovy Teorii Grupp [Foundations of Group Theory]. Moscow, Nauka, Fizmatlit Publ., 1996. 287 p. (in Russian)
20. Morgenstern M. Existence and explicit constructions of q + 1 regular Ramanujan graphs for every prime power q. J. Combinatorial Theory, Ser. B, 1994, vol.62, no. 1, pp. 44-62.
21. Petit C. On Graph-Based Cryptographic Hash Functions. PhD Thesis, Catholic University of Louvain, 2009. 286p. www0.cs.ucl.ac.uk/staff/c.petit/files/thesis.pdf
22. Nikkel T. Ramanujan Graphs. Master's Thesis, University of Manitoba, 2007. 112 p. http: //mspace.lib.umanitoba.ca/bitstream/handle/1993/9146/thesis.pdf
23. Pizer A. K. Ramanujan graphs and Hecke operators. Bull. Amer. Math. Soc., 1990, vol.23, no. 1, pp. 127-137.
24. Charles D. X., Lauter K. E., and Goren E. Z. Cryptographic hash functions from expander graphs. J. Cryptology, 2009, vol.22, no. 1, pp. 93-113.
25. Silverman J. Advanced Topics in the Arithmetic of Elliptic Curves. Graduate Texts in Mathematics. N.Y., Springer, 2013. 528p.
26. Blake I., Seroussi G., and Smart N. Elliptic Curves in Cryptography. Lecture Note Series. Cambridge, Cambridge University Press, 1999. 204 p.
27. Silverman J. The Arithmetic of Elliptic Curves. Graduate Texts in Mathematics. N.Y., Springer, 2009. 402 p.
28. Washington L. Elliptic Curves: Number Theory and Cryptography, 2nd Edition. Discrete Mathematics and Its Applications. Boca Raton, CRC Press, 2008. 536 p.
29. Velu J. Isogenies entre courbes elliptiques. CR Acad. Sci. Paris Ser. AB, 1971, vol.273, pp. A238-A241.
30. Shumow D. Isogenies of Elliptic Curves: A Computational Approach. Master's Thesis, University of Washington, 2009. 78p. https://arxiv.org/abs/0910.5370
31. Bosma W., Cannon J., and Playoust C. The Magma algebra system. I. The user language. J. Symbolic Comput., 1997, vol.24, no. 3-4, pp. 235-265.
32. Handbook of Magma Functions. Edition 2.20 / eds. W. Bosma, J. Cannon, C. Fieker, and A. Steel. 2014. 5583p. https://www.math.uzh.ch/sepp/magma-2.19.8-cr/Handbook.pdf
33. Klyucharev P. G. Postroenie psevdosluchajnyh funkcij na osnove obobshchennyh kletochnyh avtomatov [Construction of pseudorandom functions based on generalized cellular automata]. Science and Education of the Bauman MSTU, 2012, no. 10, pp. 263-274. (in Russian)