Научная статья на тему 'Клеточные автоматы, основанные на графах Рамануджана, в задачах генерации псевдослучайных последовательностей'

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

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

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

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

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

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

Электронное научно-техническое издание

НАУКА и ОБРАЗОВАНИЕ

Эя №ФС 77 - 30569. Государственная регистрация №0421100025.155Н 1994-0408_

Клеточные автоматы, основанные на графах Рамануджана, в задачах генерации псевдослучайных последовательностей

77-30569/241308

# 10, октябрь 2011 Ключарёв П. Г.

УДК 519.713.1; 519.177; 004.056.55

МГТУ им. Н.Э. Баумана [email protected]

1. Введение

В задачах вычислительной математики, криптографии, математического моделирования часто применяются псевдослучайные последовательности. Причем такие последовательности должны быть неотличимы от истинно случайных последовательностей по своим статистическим свойствам. Для выработки таких последовательностей используют специальные алгоритмы - генераторы псевдослучайных последовательностей (ГПСП). В работах [3, 4] предлагается использовать клеточные автоматы в качестве элементов таких генераторов. Этот подход является многообещающим, так как ГПСП, основанные на клеточных автоматах, имеют очень высокую скорость работы, как при программной, так и при аппаратной реализации. Однако остается открытым вопрос о явном детерминируемом построении обобщенных клеточных автоматов для таких генераторов. Решению этого вопроса и посвящена настоящая статья.

2. Обобщенные клеточные автоматы

Классические клеточные автоматы впервые были предложены Дж. Фон Нейманом в работе [20]. Они активно исследовались (см. работы [15, 21-24]), в том числе и в контексте выработки псевдослучайных последовательностей. Недавно, в работах [3, 4], было предложено и исследовано обобщение клеточных автоматов - неоднородные клеточные автоматы. Такие автоматы мы будем называть обобщенными.

Назовем обобщенным клеточным автоматом пару (О, /), где G = (V, Е) -

ориентированный регулярный мультиграф (V - множество вершин, а Е - мультимножество ребер) размера п, с каждой вершиной которого ассоциирована булева переменная,

причем все вершины пронумерованы числами 0...(п-1). Переменную, ассоциированную с г-ой вершиной, будем обозначать тг. Такие переменные мы будем называть ячейками. Для каждой вершины входящие в нее ребра пронумерованы числами 0...(к — 1) .

Функция I : |0;1} —> |0;1} - локальная функция связи.

Обобщенный клеточный автомат работает следующим образом: в начальный момент времени, каждая ячейка памяти тг, I = 0...(п — 1) имеет некоторое

начальное значение т1 (0). Далее автомат работает по шагам. На шаге с номером г с помощью локальной функции связи вычисляются новые значения переменных:

тг (г) = I(т,0,0) (г— 1),тф ,ц (г— 1),...,тф(г — 1)), (1)

где /(г,у) - номер вершины, из которой исходит ребро, входящее в вершину г и имеющее номер у.

Выходом обобщенного клеточного автомата на шаге с номером г являются значения первых г ячеек: т0(г),т1(г),...,тг—1(г) . Соответственно, последовательность

т0(г0Х ml(t0),..., тг-Г т0(*0 + 1), т1^0 + 1),..., тг-1(0 + 1), т0^0 + 2Х... будем

называть выходной последовательностью клеточного автомата.

Поскольку клеточный автомат, очевидно, является конечным автоматом, выходная последовательность является периодической.

Рассмотрим частный случай обобщенных клеточных автоматов - неориентированный обобщенный клеточный автомат.

Назовем неориентированным обобщенным клеточным автоматом обобщённый клеточный автомат (О, I), где граф О = (V, Е) такой, что для любого (и, у) Е Е существует (у, и) Е Е .

Граф неориентированного обобщённого клеточного автомата можно рассматривать как неориентированный мультиграф, если каждую пару ребер вида (и,у) Е Е и

(у,и) Е Е заменить на одно неориентированное ребро |и, у}. Такой автомат можно рассматривать как тройку (О, I, /), где О - неориентированный мультиграф, I- локальная функция связи, а / : Z п X Z а —> Z п - функция нумерации ребер, определенная выше.

Одними из важных криптографических характеристик клеточного автомата являются характеристики лавинного эффекта. Лавинный эффект представляет собой способ-

ность динамической системы существенно изменять выходную последовательность при небольших изменениях входных данных.

Рассмотрим два идентичных неориентированных обобщенных клеточных автомата

А1 и А2. Будем обозначать векторы их ячеек соответственно т(1) = (т(1),...,т^Д) и

т^2) = (т(2),...,тП)\). Начальное заполнение отличается только в одной ячейке. Для

определенности будем считать, что номер такой ячейки равен нулю (это не нарушает общности, поскольку перенумеровать переменные можно как угодно):

m(2)(0) =

m(1)(0), i * о

-m;(1)(0), i = 0 ' ()

Будем рассматривать две характеристики лавинного эффекта: интегральную и пространственную.

Интегральной характеристикой лавинного эффекта [3] назовем зависимость доли несовпадающих ячеек у двух конечных автоматов от номера такта:

" (*) = 1 £ К^) © )). (3)

7=0

Пространственной характеристикой лавинного эффекта назовем зависимость отношения расстояния от вершины с номером 0 до самой дальней вершины, ячейка которой у двух автоматов не совпадает, к эксцентриситету вершины с номером 0:

tit) = -1- -max ((jt) ® m?\t ))-A(0, j)), (4)

e(0) и vv ; '

где A(i, j) - длина минимального пути из вершины i в вершину j, а e(i) - эксцентриситет вершины i.

Как показано в работе [4], для того, чтобы вероятности нулей и единиц в выходной последовательности обобщенного клеточного автомата совпадали, необходимо и достаточно, чтобы локальная функция связи являлась равновесной. Мы будем полагать ее таковой.

Мы будем рассматривать усредненные по достаточно большому количеству начальных заполнений интегральную и пространственную характеристику лавинного эф-

Л л

фекта: ra(t) и ^(t) .

Начиная с некоторого гп, выполняется и)(г) = шп и /}(г) = цп при г > гп. Для обеспечений хороших статистических характеристик выходной последовательности необходимо, чтобы шп = 0.5, а цп = 1.

Для обеспечения хороших статистических свойств граф клеточного автомата должен быть таким, чтобы гп было как можно меньшим. Чтобы уменьшить эту величину следует использовать клеточный автомат, граф которого имеет возможно меньший диаметр.

Диаметр Б регулярного графа размера п степени к имеет следующую нижнюю оценку (граница Мура [8, 13]):

Учитывая тот очевидный факт, что tn > D, по-видимому, следует выбрать граф с

диаметром, не слишком превосходящим границу Мура. Кроме того, для реализации лавинного эффекта граф должен быть таким, чтобы изменения одной ячейки клеточного автомата приводило к изменению все большего и большего числа ячеек с каждым шагом. Этим требованиям отвечают так называемые расширяющие графы (expander graphs).

3. Расширяющие графы

Теория расширяющих графов - сравнительно молодая область дискретной математики, нашедшая много приложений в математике и информатике. Этой теории посвящено большое количество литературы. Не задаваясь целью дать полный ее обзор, приведем здесь ссылки лишь на основные источники: [5, 7, 9, 10, 14, 17, 18]. Расширяющие графы применяются в ряде прикладных областей, в том числе, в задачах дерандомизации [18, 19] и для построения кодов, исправляющих ошибки [1]. Приведем здесь основные определения из этой теории.

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

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

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

D > log*_1n + 1 - logk_1 к .

(5)

h(G) = min

\d(S)

(6)

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

Л > Л2 > - > Лп. (7)

Как известно из спектральной теории графов [5], Л1 = к, где к - степень графа О и справедливо следующее соотношение, называемое неравенством Чигера:

2(к - Л2) < Н(в) <у12к(к - Л2) . (8)

Для того, чтобы улучшить характеристики лавинного эффекта неориентированного клеточного автомата, основанного на расширяющем графе, следует, по-видимому, выбрать граф с возможно большим коэффициентом расширения графа. Учитывая то, что задача определения коэффициента расширения является вычислительно сложной, удовлетворимся выбором графа с величиной Л2 близкой к минимальной.

Согласно теореме Нили, нижняя граница для этой величины:

Л2 > 24к-1 -24к)-1,

— ■ 0 , (9)

где В - диаметр графа.

К этой границе приближаются графы Рамануджана, то есть такие расширяющие графы, для которых справедливо неравенство

Л2 < 2у/к -1. (10)

Для диаметра графов Рамануджана справедливо соотношение:

В = 21св к-1 п + О (1). (11)

Другими словами, диаметр графа Рамануджана всего в два раза больше границы Мура (5).

Учитывая близость графов Рамануджана к случайным графам по целому ряду свойств, можно ожидать, что для конечных автоматов, основанных на таких графах, 1п

будет близка к диаметру.

Все это позволяет высказать гипотезу о том, что графы Рамануджана позволят обеспечить хорошие характеристики лавинного эффекта для основанных на них клеточных автоматах.

Одно из семейств графов Рамануджана - графы Любоцкого-Филипса-Сарнака (¿/'¿'-графы) [2, 11]. Одним из вариантов явных конструкций таких графов является конструкция, приведенная в книге [17]. Опишем ее здесь.

Выберем простые числар и q, для которых выполняются условия:

р = 1 (шоё4) q = 1 (шоё4)

р ^ q =1

(12)

( \ q

р

Мы будем строить неориентированный мультиграф О = (У, Е) . Множеством

вершин мультиграфа V является проективная прямая над конечным полем К , другими

q

словами, V = К и {то} . Мультимножество ребер Е состоит из всех пар (и,у), для которых выполняется:

((а0 + га1)и + (а2 + га3)) •

• ((—а2 + га3)г + (а0 — га1))—1, при (^ — iaъ)z ^^ — iax, z ^то

то, при — ia3)z = а0 —ia1, z ^то (13)

(а0 + га1)(—а2 + га3)—1, при a2 ^ia3, z = то

то, при a2 = ia3, z = то

для всех четверок а0, а1, а2, а3 Е Z, таких что:

• а0 - нечетное положительное;

• а1, а2, а3 - четные положительные;

у =

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

Выполняется условие:

а<2 + а^ + а^ + а32 = р

(14)

В построенном таким образом графе могут быть кратные ребра (в том случае, когда (13) выполняется и для (и, у) и для (у, и) ) и петли. Степенью графа является количество решений уравнения (14), равное р +1.

В книге [17] доказано, что этот граф является графом Рамануджана.

4. Применение графов Рамануджана в клеточных автоматах

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

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

В качестве графа обобщенного клеточного автомата, мы будем использовать ЬРБ-граф, конструкция которого приведена в предыдущем разделе. У полученного таким образом клеточного автомата имеется q +1 ячейка, а его граф имеет степень р + 1. Числа р и

q являются простыми. На них накладываются приведенные в предыдущем разделе ограничения (12).

Были проведены вычислительные эксперименты по определению характеристик лавинного эффекта построенных таким образом клеточных автоматов, при параметрах

268 < q < 500 и р е {5,13}, удовлетворяющих ограничениям (12). Во всех случаях, характеристики лавинного эффекта были близки к лучшим возможным теоретически: параметр 1п был близок к диаметру графа, шп = 0.5 и ¡1п = 1.

Были произведены исследования статистических свойств выходных последовательностей, при помощи тестов, рекомендованных МБТ [16], по стандартной методике. При р = 5 выходные последовательности автоматов проходили большинство тестов, в

том числе такие важные тесты, как универсальный тест Маурера [12]. При р = 13 последовательности проходили все тесты.

В качестве примера рассмотрим £Р£-граф размера 270 и степени 6 (q = 269,

р = 5), вид которого показан на Рис. 1, а характеристики лавинного эффекта соответствующего обобщенного клеточного автомата приведены на Рис. 2 и Рис. 3. У этого графа параметр Л2 = 4.4281, а диаметр равен 5. Этот диаметр близок к минимально возможному для регулярных графов такой степени и такого размера диаметру, равному, согласно границе Мура (5), четырем. Из графиков видно, что = 6, что близко к диаметру графа.

Рис. 1. LPS-граф размера 270, степени 6.

Рис. 2. Усредненная пространственная характеристика лавинного эффекта.

Рис. 3. Усредненная интегральная характеристика лавинного эффекта.

Использование одного автомата не обеспечивает непредсказуемости. Поэтому, мы, основываясь на схеме, предложенной в работе [4], будем использовать два обобщенных клеточных автомата A1 и A2 разного размера с различными локальными функциями связи: f1 и f2 . Выходные последовательности этих автоматов поразрядно складываются по модулю два (выбор именно сложения по модулю два связан с тем, что эта функция является корреляционно-иммунной). Функции f и f2, судя по результатам экспериментов, могут быть почти любыми равновесными, с нелинейностью, близкой к максимальной. Единственное условие, которое на них следует, по-видимому, наложить, это f ^ f © 1. Такая схема также существенно улучшает статистические свойства последовательности.

В качестве примера удачного сочетания параметров, для длины выхода r = 256, можно использовать размеры клеточных автоматов 270 и 282, как наиболее близкие к r. Для повышения эффективности реализации, степень графов должна быть наименьшей возможной, то есть равной 6.

Построенный таким образом ГПСП, при p = 5 генерирует случайные последовательности, которые успешно проходят все статистические тесты, рекомендованные NIST.

5. Заключение

Предложен способ детерминированного построения обобщенных клеточных автоматов, имеющих близкие к оптимальным характеристики лавинного эффекта. Генераторы псевдослучайных последовательностей, основанные на таких клеточных автоматах, вырабатывают последовательности, имеющие статистические свойства криптографического качества, что подтверждается успешным прохождением тестов, рекомендованных NIST. Такие генераторы могут найти применения как в криптографии и стеганографии, так и в различных областях математического моделирования.

Литература

1. Жуков Д.А. Асимптотически хорошие коды с линейной сложностью кодирования и декодирования // Дискретная математика и её приложения. - 2009. - №5. - С. 23-25.

2. Маргулис Г.А. Явные теоретико-групповые конструкции комбинаторных схем и их применения в построении расширителей и концентраторов // Пробл. передачи информ. - 1988. - Vol. 24, №1. - С. 51-60.

3. Сухинин Б.М. Исследование характеристик лавинного эффекта в двоичных клеточных автоматах с равновесными функциями переходов // Наука и образование: электронное научно-техническое издание. -2010. - №8. - http://technomag.edu.ru/doc/159565.html.

4. Сухинин Б.М. Разработка генераторов псевдослучайных двоичных последовательностей на основе клеточных автоматов // Наука и образование: электронное научно-техническое издание. - 2010. - №9.

- http: //technomag. edu. ru/doc/159714. html.

5. Chung F.R.K. Regional conference series in mathematics,. Spectral graph theory. - Providence, R.I.: Published for the Conference Board of the mathematical sciences by the American Mathematical Society, 1997. - 207 p.

6. Cusick T.W., Stanica P. Cryptographic Boolean functions and applications. Academic Press, 2009.

7. Davidoff G.P., Sarnak P., Valette A. London Mathematical Society student texts. Elementary number theory, group theory, and Ramanujan graphs. -New York: Cambridge University Press, 2003. - 144 p.

8. Hoffman A., Singleton R. On Moore graphs with diameter 2 and 3, IBM Res // Develop. - 1960. - Vol. 4, P. 497-504.

9. Hoory S., Linial N., Wigderson A. Expander graphs and their applications // Bulletin-American Mathematical Society. - 2006. - Vol. 43, №4. - 439 p.

10. Krebs M., Shaheen A. Expander families and Cayley graphs. - Oxford ; New York: Oxford University Press, 2011.

11. Lubotzky A., Phillips R., Sarnak P. Ramanujan graphs // Combinatorica. -1988. - Vol. 8, №3. - P. 261-277.

12. Maurer U.M. A universal statistical test for random bit generators // Journal of cryptology. - 1992. - Vol. 5, №2. - P. 89-105.

13. Miller M., Siran J. Moore graphs and beyond: A survey of the degree/diameter problem // Electronic Journal of Combinatorics. - 2005. -Vol. 61, P. 1-63

14. Morgenstern M. Existence and explicit constructions of q+ 1 regular Ramanujan graphs for every prime power q // Journal of Combinatorial Theory, Series B. - 1994. - Vol. 62, №1. - P.44-62.

15. Packard N.H., Wolfram S. Two-dimensional cellular automata // Journal of Statistical Physics. - 1985. - Vol. 38, №5. - P.901-946.

16. Rukhin A., и др. A statistical test suite for random and pseudorandom number generators for cryptographic applications (SP 800-22). NIST, 2010.

17. Sarnak P. Cambridge tracts in mathematics. Some applications of modular forms. - Cambridge ; New York: Cambridge University Press, 1990. - 111 p.

18. Vadhan S. The unified theory of pseudorandomness // ACM SIGACT News.

- 2007. - Vol. 38, №3. - P. 39-54.

19. Vadhan S.P. Pseudorandomness // Foundations and Trends in Theoretical Computer Science. - 2010. - 200 p.

20. Von Neumann J. The general and logical theory of automata // Cerebral mechanisms in behavior. - 1951. - P. 1-41.

21. Wolfram S. Cryptography with cellular automata //: Springer, 1986. - P. 429-432.

22. Wolfram S. Statistical mechanics of cellular automata // Reviews of Modern Physics. - 1983. - Vol. 55, №3. - 601 p.

23. Wolfram S. Theory and applications of cellular automata // Advanced Series on Complex Systems, Singapore: World Scientific Publication, 1986. -1986. - Vol. 1.

24. Wolfram S. Universality and complexity in cellular automata // Physica D: Nonlinear Phenomena. - 1984. - Vol. 10, №1-2. - P. 1-35.

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