Научная статья на тему 'Построение случайных графов, предназначенных для применения в криптографических алгоритмах, основанных на обобщенных клеточных автоматах'

Построение случайных графов, предназначенных для применения в криптографических алгоритмах, основанных на обобщенных клеточных автоматах Текст научной статьи по специальности «Математика»

CC BY
226
24
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СЛУЧАЙНЫЙ ГРАФ / ОБОБЩЕННЫЙ КЛЕТОЧНЫЙ АВТОМАТ / ШИФР

Аннотация научной статьи по математике, автор научной работы — Ключарёв П. Г.

В работе приведены краткие сведения об обобщенных клеточных автоматах и требования, предъявляемые к графам таких автоматов, в том числе, следующие: граф должен иметь свойства, близкие к свойствам случайно выбранного графа

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Random Graph Construction for Cryptographic Applications

Briefly describing the generalized cellular automata it gives the requirements for graphs of such automata, including the following: the graph must have properties close to those of a randomly chosen graph; the graph diameter should be as small as possible; the graph must be regular; the graph should not be bipartite; the graph should have as minimum number of loops and multiple edges as possible; the graph degree should be (to reduce the communication complexity of the cellular automata) four, at least.

Текст научной работы на тему «Построение случайных графов, предназначенных для применения в криптографических алгоритмах, основанных на обобщенных клеточных автоматах»

Математика к Математическое

моделирование

Сетевое научное издание МГТУим. Н.Э. Баумана

http://mathm.elpub.ru

Ссылка на статью:

// Математика и математическое моделирование. МГТУ им. Н.Э. Баумана. Электрон. журн. 2017. №3. С. 77-90.

БОТ: 10.24108/шаШш.0317.0000076

Представлена в редакцию: 17.06.2017 © МГТУ им. Н.Э. Баумана

УДК 519.17

Построение случайных графов, предназначенных для применения в криптографических алгоритмах, основанных на обобщенных клеточных автоматах

Ключарёв П. ГЛ*

1МГТУ им. Н.Э. Баумана, Москва, Россия

Работа посвящена рассмотрению вопросов построения случайных графов, предназначенных для применения в качестве графов обобщенных клеточных автоматов в ряде основанных на них криптографических алгоритмов. Эмпирически получены распределения диаметров и параметров А для таких графов. Вероятность того, что случайный регулярный граф имеет необходимые для данного применения свойства, оказалась весьма высокой. Работа выполнена при финансовой поддержке РФФИ в рамках научного проекта № 16-07-00542 а.

Ключевые слова: случайный граф; обобщенный клеточный автомат; шифр

Ранее автором в целом ряде работ (в особенности, в [1,2]) были представлены методы построения симметричных криптографических алгоритмов, основанных на обобщенных клеточных автоматах. Дабы такие автоматы обладали хорошими криптографическими свойствами, их графы должны удовлетворять ряду условий. Производить построение таких графов возможно как детерминированными, так и рандомизированными методами. Рандомизированному методу их построения посвящена настоящая работа.

Введем вначале некоторые термины и определения. Обобщенным клеточным автоматом называется мультиграф А(У, Е), где V = {у1, ..., ум} — множество вершин, а Е — мультимножество ребер. С каждой его вершиной у^ ассоциированы:

• булева переменная ш^, которая называется ячейкой;

• булева функция /(х1,... ), которая называется локальной функцией связи ^й вершины.

Введение

1. Основные понятия

При этом каждой паре (V, е), где V — вершина, а е — инцидентное ей ребро, будет соответствовать номер аргумента локальной функции связи, вычисляемой в вершине V. Мы будем называть его номером ребра е относительно вершины V. Опишем теперь работу обобщенного клеточного автомата. В начальный момент времени каждая ячейка т», г = 1, ..., N, имеет некоторое начальное значение тг(0). Автомат работает пошагово. Значения ячеек на шаге номер £ вычисляются по формуле

где пц(г,з) — номер вершины, из которой исходит ребро, заходящее в вершину г и имеющее относительно этой вершины номер ].

Назовем обобщенный клеточный автомат неориентированным, если для любого ребра (и, V) в его графе существует и ребро (V, и). Граф такого автомата можно рассматривать как неориентированный, если заменить каждую пару ориентированных ребер (и, V) и ^,и) на неориентированное ребро {и, V}. Здесь мы будем использовать лишь неориентированные обобщенные клеточные автоматы.

Ранее автором были предложены семейства симметричных криптографических алгоритмов, основанных на обобщенных клеточных автоматах. Автором указывалось, что для построения таких обобщенных клеточных автоматов требуются графы, обладающие следующими свойствами:

• граф должен иметь свойства, близкие к свойствам случайно выбранного графа;

• диаметр графа должен быть как можно меньше;

• граф должен быть регулярным;

• граф не должен быть двудольным;

• граф должен иметь как можно меньшее число петель и кратных ребер;

• граф должен иметь как можно меньшую степень (чтобы снизить коммуникационную сложность клеточного автомата);

• степень графа должна быть не меньше четырех;

• в семействе графов должно существовать достаточно большое количество графов с количеством вершин от нескольких десятков до нескольких тысяч.

Этим требованиям удовлетворяют расширяющие графы, в особенности, так называемые графы Рамануджана [3,4,5]. Теория расширяющих графов — относительно молодая область дискретной математики, которая нашла большое количество приложений в различных теоретических и прикладных областях информатики и математики. Ей посвящено большое количество литературы. Упомянем лишь основные источники: [3,6,4,7,8,9].

Коэффициентом реберного расширения неориентированного регулярного мультиграфа С = (V, Е) называется величина

т%(Ь) = ¡г(тф,х)(г - 1),тч(г,2}(£ - 1),..., т^г,*) (* - 1)),

(1)

к(С)

Ш1П

|д($ )|

(2)

{ЯСУ: 0<|5|< Ш } ^1

где dS — множество ребер, каждое из которых инцидентно ровно одной вершине из множества S.

Расширяющим графом (expander graph) называется неориентированный регулярный мультиграф G, такой, что h(G) > c, где c — некоторая положительная константа.

Коэффициент реберного расширения графа связан с его спектральными свойствами. Спектром графа называется набор собственных значений его матрицы смежности, отсортированный по убыванию:

Ai > А2 > ... > An. (3)

Как известно из спектральной теории графов, для d-регулярных графов выполняется равенство А1 = d и справедливо следующее соотношение, называемое неравенством Чигера:

1(d - А2) < h(G) < ^2d(d - А2). (4)

Обозначим максимальный по модулю, но не равный d, компонент спектра графа G, как

A(G):

А = A(G) = max |Аг|. (5)

|Ai|<d

Графом Рамануджана называется d-регулярный связный граф, для которого выполняется неравенство

А^) < 1. (6)

Как известно из спектральной теории графов [8], для диаметра D графов Рамануджана степени d справедливо соотношение

D = 2logd-i N + O(l). (7)

Другими словами, диаметр графа Рамануджана достаточно близок к границе Мура. Известно два способа построения небольших графов Рамануджана:

1) построение случайного регулярного графа с последующей проверкой значения А;

2) построение графа при помощи некоторого известного детерминированного алгоритма.

2. Построение случайных графов

Рассмотрим алгоритм выработки графов Рамануджана, основанный на случайном выборе регулярного графа. Случайным графам посвящено большое количество литературы, в том числе [10,11,12,13,14,15,16,17,18].

Известно [4], что случайный регулярный граф с большой вероятностью является графом Рамануджана. В работе [19] доказано, что для случайного ^-регулярного графа выполняется:

А2 < - 1 + 2 ^ & + 0(1). (8)

Поэтому генерировать графы Рамануджана можно посредством следующего алгоритма.

1. Сгенерировать случайный регулярный граф G с заданным числом вершин.

2. Проверить граф G на связность. Если он не связен, перейти к п. 1.

3. Вычислить значение Л графа G. Если условие (6) не выполняется, то перейти к п. 1.

Для генерации случайного регулярного графа, содержащего N вершин и имеющего степень d, используется следующий алгоритм, предложенный в работе [20]. Пусть U — множество, состоящее из Nd точек, разделенных на N подмножеств по d точек в каждом, где Nd — четное число. Каждое подмножество пронумеровано: 1, 2, . .., N. Пусть A = 0.

1. Выбрать две случайных точки i и j из множества U, принадлежащие разным подмножествам, таким, что ранее не была выбрана пара точек принадлежащих этим же двум подмножествам. Если выбор произвести удалось, то убрать эти точки из множества U и добавить пару {i, j} в множество A. Если выбор произвести не удалось (так как в множестве U не осталось подходящих точек), то перейти к п. 3.

2. Перейти к п. 1.

3. Создать граф G на N вершинах. В графе G имеется ребро (a, b) тогда и только тогда, когда в множестве A имеется пара точек, в которой одна точка принадлежит подмножеству номер a, а другая — подмножеству номер b.

4. Если граф G является регулярным, то вывести граф G и закончить работу. Иначе перейти к п. 1.

В работе [20] показано, что вычислительная сложность этого алгоритма оценивается как O(Nd2). В работе [21] доказано, что распределение графов, сгенерированных посредством этого алгоритма асимптотически равномерное при d < N1/3.

Для практических целей важно знать какие характеристики имеют случайные регулярные графы. С целью установления этого был проведен вычислительный эксперимент. Для каждого N из множества {256, 512, 1024, 2048, 4096} и каждого d из множества {3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16} было сгенерировано большое число случайных d-регулярных графов на N вершинах. Для значений N, не превышающих 1024, было сгенерировано по 10000 графов для каждой пары (N, d), а для остальных значений N — по 1000 графов для каждой пары (N, d). Всего было сгенерировано 448 тыс. графов. Для всех их были вычислены значения Л. Плотности распределения этого значения показаны на рис. 1-3.

Распределение значений диаметров графов, полученных с помощью предложенного выше алгоритма, т.е. тех, которые являются графами Рамануджана (выполняется условие (6)), показаны на рис. 4, 5. Из графиков видно, что среди сгенерированных описанным образом графов, графы Рамануджана появляются с большой вероятностью, а диаметр полученных графов весьма мал.

Программа для генерации графов была написана на языке Python и запускалась с использованием стандартного интерпретатора версии 2.7.13. Наибольшую вычислительную сложность имеет часть алгоритма, связанная с вычислением спектра графа. Для его вычисле-

Рис. 1. Плотности распределения значений А для случайных графов с числом вершин N и степенью d, для d Е {3,4, 5,6, 7}. По горизонтальным осям — значения А. Пунктирной линией показана граница, соответствующая неравенству (6)

Рис. 2. Плотности распределения значений А для случайных графов с числом вершин N и степенью й, для d Е {8, 9, 10, 11, 12}. По горизонтальным осям — значения А. Пунктирной линией показана граница, соответствующая неравенству (6)

с1=13; N=256

Ок.

I—г

6.5

-Г"

6.7

-Г-

6.9

1-1

7.1

Ь=13; N=512

Л

I-1-1-г~

6.7 6.8 6.9 7.0

7.1

с!=13; N=1024

1

к.

I—I—Г"

6.80 6.90

1-1

7.00

а=13; N=2048

i

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

къ_

I—I—I—I—I—I

6.86 6.90 6.94

с*=13; N=4096

6.88

I—I—I—Г

6.92

6.96

а=14; N=256

Ц]

[к.

6=14; N=512

I—I—I—I—I—I—I

6.8 7.0 7.2 7.4

I—Г

7.0

"Л—

7.2

оо — со —

С\1 —

6=14; N=1024

J

7.4

I—I—I—I—I—I

7.05 7.15 7.25

6=14; N=2048

А

Тти-пп

I—I—I—I—I—I

7.14 7.18 7.22

а=14; N=4096

7.16

I—I—Г

7.20

1-1

7.24

6=15; N=256

Л

I I I I I I I I

7.0 7.2 7.4 7.6

6=15; N=512

7.2

7.4

~~I

7.6

6=15; N=1024

со — со —

Л]

к

с!=15; N=2048

Л

I—I—I—I—I—I—I

7.30 7.40 7.50 7.60

I-1-1

7.40 7.45 7.50

6=15; N=4096

7.44

I—I—I—Г

7.48

7.52

6=16; N=256 6=16; N=512 с!=16; N=1024 с!=16; N=2048 с!=16; N=4096

---- 1 со — | ю — 1 ' 1 _ | со — ! 1 1 1 1 Тп 1 с\| ь > -, 1 1 1

г- 1 1 1 со — 1 1 1 1

1 СО — | С\|- 1 _ 1 ^г-1 1 1 1 и ю- 1 "11

1 1—1— о -И" || сч-1Ьъ-- о Ьь^ 0 -Л..... 1 -1 ю — 1 ГК^ - о К-

Р&&. 3. МноЫи рас7п^редеё!ния Значений АДля Ьй^ч^^йых гр^^&в с чй^ёом вершийN и^^епе^ЬЮ й, для d Е {13, 14, 15, 16}. По горизонтальным осям — значения А. Пунктирной линией показана граница, соответствующая неравенству (6)

Рис. 4. Распределение диаметров среди случайных графов Рамануджана с числом вершин N и степенью й для й Е {3, 4, 5, 6, 7, 8, 9, 10}. Под столбцами указаны значения диаметра графов. Над столбцами — доля графов (в процентах) такого диаметра среди всех случайных графов с числом вершин N и степенью й, для которых выполняется неравенство (6)

Рис. 5. Распределение диаметров среди случайных графов Рамануджана с числом вершин N и степенью й для й Е {11, 12, 13, 14, 15, 16}. Под столбцами указаны значения диаметра графов. Над столбцами — доля графов (в процентах) такого диаметра среди всех случайных графов с числом вершин N и степенью й, для которых выполняется неравенство (6)

ния использовался эффективный код, написанный на языке C. Вычисления осуществлялись в многопоточном режиме с целью эффективного использования многоядерности. При этом количество потоков динамически регулировалось для того, чтобы не возникало переполнения памяти. Для статистических вычислений и построения графиков использовался язык R (версии 3.3). Вычисления заняли около шести суток на компьютере с 16 ядрами Intel Xeon E5-2690 и 16 ГБ ОЗУ

Заключение

В статье рассмотрен способ построения случайных графов, подходящих для использования в качестве графов обобщенных клеточных автоматов, применяемых в криптографии. Эксперимент показал, что вероятность генерации графа с малым значением Л весьма высока. При этом вырабатываемые графы имеют весьма малый диаметр. Следовательно, графы, предназначенные для рассматриваемых целей, возможно эффективно генерировать описанным методом.

Работа выполнена при финансовой поддержке РФФИ в рамках научного проекта № 1607-00542 а.

Список литературы

1. Ключарёв П.Г. Блочные шифры, основанные на обобщенных клеточных автоматах // Наука и образование. МГТУ им. Н.Э. Баумана. Электрон. журн. 2012. № 12. С. 361-374. DOI: 10.7463/0113.0517543

2. Ключарёв П.Г. Криптографические хэш-функции, основанные на обобщенных клеточных автоматах // Наука и образование. МГТУ им. Н.Э. Баумана. Электрон. журн. 2013. № 1. С. 161-172. DOI: 10.7463/0113.0534640

3. Davidoff G., Sarnak P., Valette A. Elementary number theory, group theory and Ramanujan graphs. N.Y.: Camb. Univ. Press, 2003. 144 p.

4. Hoory S., Linial N., Wigderson A. Expander graphs and their applications // Bulletin of the American Mathematical Society. 2006. Vol.43, no.4. Pp. 439-562. DOI: 10.1090/S0273-0979-06-01126-8

5. Lubotzky A., Phillips R., Sarnak P. Ramanujan graphs // Combinatorica. 1988. Vol. 8, no. 3. Pp. 261-277. DOI: 10.1007/BF02126799

6. KrebsM., Shaheen A. Expander Families and Cayley Graphs: A Beginner's Guide. N.Y.: Oxf. Univ. Press, 2011. 258 p.

7. Sarnak P. Some applications of modular forms. Camb.; N.Y.: Camb. Univ. Press, 1990. 111 p.

8. Chung F.R.K Spectral graph theory. Providence: Amer. Mathematical Soc., 1997. 207 p.

9. Sarnak P. What is ... an expander? // Notices of the Amer. Mathematical Soc. 2004. Vol. 51, no. 7. Pp. 762-763.

10. Alon N., Roichman Y. Random Cayley graphs and expanders // Random Structures & Algorithms. 1994. Vol. 5, no. 2. Pp. 271-284. DOI: 10.1002/rsa.3240050203

11. Durrett R. Random Graph Dynamics. Camb.; N.Y.: Camb. Univ. Press, 2006. 212 p.

12. Hofstad R. van der. Random Graphs and Complex Networks. Camb.: Camb. Univ. Press, 2017.

13. Janson S., Luczak T., Rucinski A. Random Graphs. N.Y.: Wiley, 2011. DOI: 10.1002/ 9781118032718

14. Kolchin V.F. Random Graphs. Camb.; N.Y.: Camb. Univ. Press, 1999. 252 p.

15. Krivelevich M., Penrose M., Fountoulakis N., Hefetz D. Random Graphs, Geometry and Asymptotic Structure. Camb.: Camb. Univ. Press, 2016.

16. Marchette D. Random Graphs for Statistical Pattern Recognition. Hoboken: Wiley-Interscience, 2004. 237 p. DOI: 10.1002/047172209X

17. Spencer J.H. The Strange Logic of Random Graphs. B.; N.Y.: Springer, 2001. 168 p. DOI: 10.1007/978-3-662-04538-1

18. Райгородский A.M. Модели случайных графов. 2-е изд. M.: МЦНМО, 2016. 139 с.

19. Friedman J. On the second eigenvalue and random walks in randomd-regular graphs // Combinatorica. 1991. Vol. 11, no. 4. Pp. 331-362. DOI: 10.1007/BF01275669

20. Steger A., Wormald N. Generating random regular graphs quickly // Combinatorics Probability and Computing. 1999. Vol. 8, no. 4. Pp. 377-396.

21. Kim J.H., Vu V.H. Generating random regular graphs // 35th Annual ACM symp. on theory of computing: STOC (San Diego, CA, June 9-11, 2003): Proc. N.Y.: ACM, 2003. Pp. 213-222. DOI: 10.1145/780542.780576

Mathematics i Mathematical Modelling

Electronic journal of the Bauman MSTU

Mathematics and Mathematical Modelling of the Bauman MSTU, 2017, no. 3, pp. 77-90.

DOI: 10.24108/mathm.0317.0000076

Received: 17.06.2017

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

© Bauman Moscow State Technical University

Random graph construction for cryptographic applications

Klyucharev P. G. [email protected]

1 Bauman Moscow State Technical University, Russia

Keywords: random graph, generalized cellular automata, cipher

The author in a number of his previous papers proposed methods to construct symmetric cryptographic algorithms based on the generalized cellular automata. To possess good cryptographic properties, graphs of such automata must meet a number of requirements. To construct such graphs both the deterministic methods and the randomized ones can be used. The paper deals with the randomized method of their construction.

Briefly describing the generalized cellular automata it gives the requirements for graphs of such automata, including the following: the graph must have properties close to those of a randomly chosen graph; the graph diameter should be as small as possible; the graph must be regular; the graph should not be bipartite; the graph should have as minimum number of loops and multiple edges as possible; the graph degree should be (to reduce the communication complexity of the cellular automata) four, at least.

In the family of graphs there must be a sufficiently large number of graphs with the number of vertices from several tens to several thousand.

The expanding graphs, in particular, the so-called Ramanujan graphs meet these requirements. To build small Ramanujan graphs two methods are known, namely constructing a random regular graph with subsequent verification of spectral characteristics and constructing a graph by using a certain known deterministic algorithm. The paper considers the first method and gives an algorithm for generating such graphs.

For practical purposes, it is important to know what characteristics random regular graphs have. In order to find this, a computer experiment was carried out. For each N of the set {256, 512, 1024, 2048, 4096} and each d of the set {3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16} was generated a large number of random d-regular graphs on N vertices. A total of 448 thousand graphs were generated. The paper presents graphs of the density distribution of A parameters and diameters of these graphs. It can be seen from the graphs that among the randomly generated regular graphs, the Ramanujan graphs appear with a high probability, and the diameter of

the graphs obtained is quite small. In general, such graphs are well suitable for the purposes

considered.

The research activity was supported by the Grant of the Russian Foundation for Basic Research

within the framework of the scientific project No. 16-07-00542 a.

References

1. Klyucharev P.G. Block ciphers based on generalized cellular automata. Nauka i obrazovanie MGTU im. N.E. Baumana [Science and Education of the Bauman MSTU], 2012, no. 12, pp. 361-374. DOI: 10.7463/0113.0517543 (in Russian)

2. Klyucharev P.G. Cryptographic hash functions based on generalized cellular automata. Nauka i obrazovanie MGTU im. N.E. Baumana [Science and Education of the Bauman MSTU], 2013, no. 1, pp. 161-172. DOI: 10.7463/0113.0534640 (in Russian)

3. Davidoff G., Sarnak P., Valette A. Elementary number theory, group theory and Ramanujan graphs. N.Y.: Camb. Univ. Press, 2003. 144 p.

4. Hoory S., Linial N., Wigderson A. Expander graphs and their applications. Bulletin of the American Mathematical Society, 2006, vol. 43, no. 4, pp. 439-562. DOI: 10.1090/S0273-0979-06-01126-8

5. Lubotzky A., Phillips R., Sarnak P. Ramanujan graphs. Combinatorica, 1988, vol.8, no. 3, pp. 261-277. DOI: 10.1007/BF02126799

6. Krebs M., Shaheen A. Expander Families and Cayley Graphs: A Beginner's Guide. N.Y.: Oxf. Univ. Press, 2011. 258 p.

7. SarnakP. Some applications ofmodular forms. Camb.;N.Y.: Camb. Univ. Press, 1990. 111 p.

8. Chung F.R.K Spectral graph theory. Providence: Amer. Mathematical Soc., 1997. 207 p.

9. Sarnak P. What is . .. an expander? Notices of the Amer. Mathematical Soc., 2004, vol. 51, no. 7, pp. 762-763.

10. Alon N., Roichman Y. Random Cayley graphs and expanders. Random Structures & Algorithms, 1994, vol. 5, no. 2, pp. 271-284. DOI: 10.1002/rsa.3240050203

11. Durrett R. Random Graph Dynamics. Camb.; N.Y.: Camb. Univ. Press, 2006. 212 p.

12. HofstadR. van der. Random Graphs and Complex Networks. Camb.: Camb. Univ. Press, 2017.

13. Janson S., Luczak T., Rucinski A. Random Graphs. N.Y.: Wiley, 2011. DOI: 10.1002/ 9781118032718

14. Kolchin V.F. Random Graphs. Camb.; N.Y.: Camb. Univ. Press, 1999. 252 p.

15. Krivelevich M., Penrose M., Fountoulakis N., Hefetz D. Random Graphs, Geometry and Asymptotic Structure. Camb.: Camb. Univ. Press, 2016.

16. Marchette D. Random Graphs for Statistical Pattern Recognition. Hoboken: Wiley-Interscience, 2004. 237 p. DOI: 10.1002/047172209X

17. Spencer J.H. The Strange Logic of Random Graphs. B.; N.Y.: Springer, 2001. 168 p. DOI: 10.1007/978-3-662-04538-1

18. Rajgorodskij A.M. Modeli sluchajnykh grafov [Models of random graphs]. 2nd ed. Moscow: MTSNMO Publ., 2016. 139 p. (in Russian).

19. Friedman J. On the second eigenvalue and random walks in randomd-regular graphs. Combi-natorica, 1991, vol. 11, no. 4, pp. 331-362. DOI: 10.1007/BF01275669

20. Steger A., Wormald N. Generating random regular graphs quickly. Combinatorics Probability and Computing, 1999, vol. 8, no. 4, pp. 377-396.

21. Kim J.H., Vu V.H. Generating random regular graphs. 35th Annual ACM symp. on theory of computing: STOC (San Diego, CA, June 9-11, 2003): Proc. N.Y.: ACM, 2003. Pp. 213-222. DOI: 10.1145/780542.780576

i Надоели баннеры? Вы всегда можете отключить рекламу.