I МЕТОД ПОСТРОЕНИЯ КРИПТОГРАФИЧЕСКИХ ХЭШ-ФУНКЦИЙ НА ОСНОВЕ ИТЕРАЦИЙ ОБОБЩЕННОГО КЛЕТОЧНОГО АВТОМАТА
Ключарёв П.Г.'
В статье предлагается новый метод, предназначенный для построения криптографических хэш-функций. Метод основан на использовании обобщенных клеточных автоматов. Работа таких хэш-функций состоит из трех этапов: этапа абсорбирования, этапа дополнительного перемешивания и этапа выжимания. На этапе абсорбирования к заполнению обобщенного клеточного автомата раз в определенное количество шагов подмешивается очередной блок сообщения. На этапе дополнительного перемешивания выполняется определенное количество шагов автомата. А на этапе выжимания происходит съем выходных значений, также через определенное количество шагов. Такую схему можно рассматривать как аналог криптографической губки (Sponge). В качестве графа обобщенного клеточного автомата используются расширяющие графы, в особенности графы Рамануджана, такие как графы Любоцкого-Филипса-Сарнака. Согласно предварительным исследованиями производительности, хэш-функции, построенные с помощью предложенного метода, как и другие криптоалгоритмы, основанные на обобщенных клеточных автоматах, отличаются высокой производительностью при аппаратной реализации, например, на базе программируемых логических интегральных схем. Также уделено внимание вопросам использования хэш-функций, основанных на обобщенных клеточных автоматах, в качестве функций формирования ключа.
Работа выполнена при финансовой поддержке РФФИ (проект № 16-07-00542).
Ключевые слова: криптография, криптостойкость, криптографическая губка, граф Рамануджана, криптоалгоритмы, программируемые интегральные схемы, информационная безопасность, обобщенный клеточный автомат, локальная функция связи, способ построения криптографических хэш-функций, три этапа вычисления хэш-функции, коллизии в клеточных автоматах.
Введение
Во многих задачах управления и обработки информации существует необходимость быстро передавать большие объемы информации, обеспечивая при этом необходимый уровень информационной безопасности. Это приводит к необходимости разработки высокопроизводительных криптографических алгоритмов, в том числе, хэш-функций.
Криптографическим хэш-функциям посвящено большое количество работ. Хороший обзор современного состояния этой области криптографии можно найти в работах [1, 2].
Данная статья является продолжением серии статей (в том числе, [3-9]), посвященных обобщенным клеточным автоматам и методам построения основанных на них криптографических алгоритмов.
Целью статьи является построение нового семейства хэш-функций, в основе которого лежит процесс итераций обобщенного клеточного автомата. Схема построения таких хэш-функций имеет общие черты с концепцией криптографической губки (Sponge), которой посвящен целый ряд работ
Р01: 10.21581/2311-3456-2017-1-45-50
[10-13]. В частности, хэш-функция Keccak [13], ставшая стандартом США SHA-3, основана на этой схеме.
Автором уже предлагалось использовать обобщенные клеточные автоматы для построения криптографических хэш-функций, при этом использовалась древовидная схема [14]. Предлагаемый в данной статье метод построения хэш-функций обладает, по предварительным оценкам, значительно большей производительностью.
Обобщенные клеточные автоматы
Будем называть обобщённым клеточным автоматом ориентированный мультиграф Л(¥,Е), где V = (у15 ..., уы } - множество вершин, а Е -мультимножество ребер. С каждой вершиной этого графа ассоциированы:
• булева переменная т1, которая называется ячейкой;
• булева функция £(), которая называется локальной функцией связи / -й вершины.
При этом каждой паре (V,е), где V - вершина, а е - инцидентное ей ребро, будет соответствовать номер аргумента локальной функции связи, вычисляемой в вершине V. Мы будем называть его номером ребра е относительно вершины V.
1 Ключарёв Петр Георгиевич, кандидат технических наук, доцент МГТУ им. Н.Э. Баумана, Москва, [email protected]
Обобщенный клеточный автомат работает пошагово. Перед началом работы автомата каждая ячейка т{, / = 1...^, имеет начальное значение т. (0) е{0,1} . Далее, значения ячеек на шаге номер I вычисляются по формуле:
т(0 = I (гпт)С -1),п( -1)' П)( -!))' (1)
где /) - номер вершины, из которой исходит ребро, заходящее в вершину / и имеющее относительно этой вершины номер 7 . Заполнением клеточного автомата на шаге t будем называть набор значений ячеек (т1 (г), т2 (г),..., ты (г)).
Обобщенный клеточный автомат будем называть однородным, если для любого I е{1,...,N} выполняется £ = £, то есть локальная функция связи для всех ячеек одинакова. Степени захода вершин такого клеточного автомата, очевидно, одинаковы: = ё2 = ...= = ё.
Назовем обобщённый клеточный автомат неориентированным, если для любого ребра (и, V) в его графе существует и ребро (V, и) . Граф такого автомата можно рассматривать как неориентированный, если заменить каждую пару ориентированных ребер (и, V) и (V, и) на неориентированное ребро {и, V}.
Здесь мы будем использовать лишь неориентированные однородные обобщённые клеточные автоматы, для краткости называя их просто обобщёнными клеточными автоматами.
Пусть ^ : {0,1}м ^ {0,1}м - функция, аргументом которой является начальное заполнение данного обобщенного клеточного автомата, а значением - заполнение этого автомата через г шагов.
Хэш-функции
Здесь мы предложим способ построения криптографических хэш-функций. Хэш-функция основана на итерациях обобщенного клеточного автомата. Принцип работы заключается в том, чтобы через определенное количество шагов обобщенного клеточного автомата подмешивать к его заполнению очередной блок хэшируемого сообщения, а затем, опять-таки через определенное количество шагов, снимать выходное значение.
Опишем этот процесс более строго. Пусть к -длина блока хэш-функции. Тогда разделим набор ячеек клеточного автомата на два набора, один -длины к, а другой - длины N - к . Соответственно будем записывать преобразование, выполняемое за I шагов автомата, в виде: (хм, yi+1) = ^(х, у) .
Пусть М = (М1,М2,...,Ыч) - разбитое на блоки сообщение, для которого вычисляется хэш.
Тогда процесс вычисления хэш-функции состоит из трех этапов:
1. Этап абсорбирования:
(x, у,)=ftl(x-1® Mi 'ум) (2)
2. Этап дополнительного перемешивания:
hz) = Ft2(xq,yq) (3)
3. Этап выжимания:
(hj+vzj+1) = FH(hJ,zJ) (4)
При этом значением хэша является конечная последовательность вида hl, h2,..., h^s k k ^, необходимой длины.
Конкретная хэш-функция задается графом обобщенного клеточного автомата, локальной функцией связи, числом ячеек автомата, параметрами tx,t2, t3, длиной блока и длиной хэша. Поэтому можно говорить как о методе построения хэш-функций, так и о семействе хэш-функций, которое порождается этим методом. Будем называть предлагаемое семейство GRACE-H2.
Выбор параметров
Наиболее нетривиальный вопрос - выбор графа обобщенного клеточного автомата и локальной функции связи. Вопрос их выбора для криптографических применений был подробно исследован автором, в частности, в работах [5, 10]. Исследования эти показали, что хорошим выбором графа клеточного автомата являются графы Рама-нуджана [21-25]. При этом, отношение числа вершин графа к длине блока должно быть не менее 4.
Напомним, что графом Рамануджана называется регулярный граф, для которого справедливо неравенство
X, < 2 V d -1,
где X2 - второй по величине компонент спектра графа, а d - степень графа.
Такие графы имеют большой коэффициент реберного расширения, малый диаметр (0(log N) ) и ряд других свойств, делающих такие графы особенно подходящими для клеточных автоматов, применяющихся в криптоалгоритмах. Применение таких графов в криптографических примитивах подробно рассматриваются в работах автора [4, 6, 11]. В частности, там предлагается использовать семейство графов Любоцкого-Филипса-Сар-нака (LPS). Кратко опишем здесь строение таких графов.
Выберем простые числа p и q, для которых выполняются условия:
р = 1 ( шоё4) д = 1 ( шо<14)
Р * д
р
= 1,
V д у ( р ^
мультиграф V вершин
где — - символ Лежандра.
V ч У
Построим неориентированный G = (¥, Е). В качестве множества возьмем проективную прямую над полем Галуа , т.е., V = Р1(V) = ^ (да) . В качестве мультимножества ребер Е возьмем мультимножество, состоящее из всех пар (и, V), таких, что выполняется:
(а0 + ¡аг )и + (а2 + ¡а3)
выполнение этих условий, согласно работе [11], необходимо чтобы выполнялось неравенство > 1.40, где Б - диаметр графа. Заметим, что (5) диаметр графа Рамануджана равен 0(1о§(Ы)).
Таким образом, из соображений обеспечения высокой производительности, в качестве значения параметра гх имеет смысл выбрать минимальное значение, удовлетворяющее вышеприведенному неравенству, т.е. 1.40. При этом, в качестве значений параметров г2 и 13 следует взять большие величины, например, не меньшие трехкратного диаметра графа, с тем, чтобы обеспечить хорошее перемешивание информации и реализацию сложных зависимостей значения хэш-функции от ее входа.
V = -
(-а2 + ¡а3 )и + (а0 - ¡аг)
(6)
для что а,
а0,а1,а2,а3 е □
всех таких четверок - нечетное положительное число,
ах,а2,а3 - четные числа и выполняется равенство
+ а12 + «2 + а32 = р. Степенью графа является количество таких четверок, очевидно равное р +1.
Здесь I е VЧ, такое, что /2 = -1.
Ч
В построенном таким образом графе могут быть как кратные ребра, так и петли. От них необходимо избавиться так, чтобы граф оставался регулярным. После этого граф можно считать построенным.
Кроме ЬРБ-графов в качестве графа обобщенного клеточного автомата можно использовать и другие семейства графов Рамануджана. Можно генерировать такие графы и случайно, с последующей проверкой на принадлежность к графам Рамануджана (с помощью стандартных методов линейной алгебры), поскольку случайный регулярный граф является с большой вероятностью графом Рамануджана.
В качестве локальной функции связи следует выбирать равновесную функцию, имеющую достаточно высокую нелинейность (т.е. возможно большее расстояние до множества аффинных функций), являющуюся шефферовой и обладающую некоторыми дополнительными свойствами. Подробно такие функции описаны в работах [9-11].
Параметры г2,г3 имеет смысл выбирать так, чтобы каждый разряд выхода преобразования ^ зависел от каждого разряда входа и чтобы эти преобразования были неотличимы от псевдослучайных функций. Для того, чтобы обеспечить
Использование в качестве функций формирования ключа
Важное применение хэш-функций - их использование в качестве функций формирования ключа. Такие функции предназначены в первую очередь для выработки ключевой информации из паролей. Они должны обладать дополнительными свойствами, затрудняющими восстановление паролей методом грубой силы, такими как низкая способность к распараллеливанию и относительно высокая вычислительная сложность.
Хэш-функции, основанные на обобщенных клеточных автоматах, прекрасно подходят в качестве таких функций, благодаря тому, что количество ячеек обобщенного клеточного автомата принципиально ничем не ограничено и, следовательно, может быть выбрано достаточно большим с тем, чтобы сделать невозможным эффективное распараллеливание вычислений.
В частности, для того, чтобы сделать невозможным эффективное вычисление выходных значений клеточных автоматов с помощью графических процессоров (технологий ОрепСЬ и СиЭА), необходимо выбрать число ячеек большим, чем количество потоков в рабочей группе графического процессора, которое составляет от нескольких сотен до нескольких тысяч, в зависимости от конкретного графического процессора.
Важно также обеспечить противодействие параллельной обработке на программируемых логических интегральных схемах (ПЛИС). Заметим, что для реализации одного клеточного автомата необходимо количество логических элементов, примерно равное количеству ячеек (в случае, если конкретной ПЛИС поддерживаются не менее чем ^-местные логические элементы). У современных ПЛИС количество логических элементов
достигает нескольких миллионов. В любом случае, использование клеточных автоматов, состоящих из десятков и сотен тысяч ячеек, существенно ограничивает возможность распараллеливания с использованием ПЛИС, поскольку одновременно на такой ПЛИС можно будет реализовать не более a / N J клеточных автоматов, где a - количество логических элементов ПЛИС, а N - число ячеек клеточного автомата.
Увеличение количества ячеек клеточного автомата приводит к некоторому снижению производительности, однако, учитывая, что в случае использования графов Рамануджана необходимое число шагов оценивается как Q(log N), вычислительная сложность растет достаточно медленно, что позволяет использовать такие функции на практике.
Криптостойкость
В работе [11] было обнаружено, что при достаточном числе шагов, преобразование, вычисляемое обобщенным клеточным автоматом, граф которого является графом Рамануджана, в случае правильного выбора локальной функции связи, неотличимо от псевдослучайной функции посредством стандартного набора статистических тестов NIST. Поэтому, как было сказано выше, мы
будем считать, что функции F. являются псевдос-
ii
лучайными при достаточно большом числе шагов (согласно работе [11] - не меньшим 1.4D, где D - диаметр графа). Это приводит к возможности тривиального переноса известного из теории конструкции криптографической губки результата о том, что в случае, если функция преобразования криптографической губки является случайной функцией либо случайной подстановкой и используется подходящая процедура дополнения сообщения, то в случае отсутствия внутренних коллизий, все разряды выхода являются независимыми и равномерно распределенными случайными величинами. Применительно к нашему случаю, для этого требуется отсутствие коллизий обобщенного клеточного автомата.
Вопрос коллизий в клеточных автоматах исследовался в работе [13]. Там был получен метод построения обобщенных клеточных автоматов, устойчивых к определенным типам коллизий. В частности, предлагалось использовать локальную функцию связи, линейную по одной из перемен-
ных, причем граф клеточного автомата должен быть таким, чтобы ребра, соответствующие переменным, по которым имеется линейная зависимость, вместе с инцидентными им вершинами, образовывали 2-фактор графа.
Отметим, что одной из подходящих процедур дополнения сообщения, как это известно из теории схемы Sponge, является дополнение последовательностью вида 10*1 до длины кратной длине блока. Такую процедуру мы рекомендуем использовать и в нашем случае.
Реализация
Хэш-функции из предложенного семейства, как и другие криптоалгоритмы, основанные на клеточных автоматах, предназначены, прежде всего, для аппаратной реализации, в частности, на базе программируемых логических интегральных схем (ПЛИС). Поточные и блочные шифры, основанные на клеточных автоматах показали очень высокую производительность при реализации на ПЛИС [12]. В частности, такие поточные шифры показывали производительность до 1.1 Тб/с. Предварительные исследования показывают, что и рассматриваемые в этой статье хэш-функции также демонстрируют весьма высокий уровень производительности, доходящий до сотен гигабит в секунду, однако более подробное выяснение скоростных характеристик требует дополнительных исследований.
Применение
Рассматриваемые хэш-функции могут быть применены в различных приложениях, в частности в системах электронной подписи [15], системах организации доступа к данным [1,3,14] и другим задачам информационной безопасности [2].
Выводы
Таким образом в статье представлен новый метод построения криптографических хэш-функций, основанных на обобщенных клеточных автоматах. Этот метод порождает целое семейство хэш-функций, каждая из которых задается набором параметров. Эти хэш-функции рассчитаны на аппаратную реализацию (например, на базе ПЛИС) и могут найти весьма широкое применение в различных задачах, связанных с обеспечением информационной безопасности.
Рецензент: Цирлов Валентин Леонидович, кандидат технических наук, доцент кафедры ИУ-8 «Информационная безопасность» МГТУ им.Н.Э.Баумана, [email protected]
Работа выполнена при финансовой поддержке РФФИ (проект № 16-07-00542 а).
Литература
1. Al-Kuwari S., Davenport J.H., Bradford R.J. Cryptographic hash functions: recent design trends and security notions // 2010. URL: http://eprint.iacr.org/2011/565
2. Preneel B. The first 30 years of cryptographic hash functions and the NIST SHA-3 competition // Topics in Cryptology-CT-RSA 2010. 2010. — C. 1-14.
3. Ключарев П.Г. Клеточные автоматы, основанные на графах Рамануджана, в задачах генерации псевдослучайных последовательностей // Наука и образование. Электронное научно-техническое издание. 2011. № 10. URL: http://technomag. neicon.ru/doc/241308.html
4. Ключарев П.Г. Криптографические свойства клеточных автоматов, основанных на графах Любоцкого-Филипса-Сарнака // Безопасные информационные технологии. - М.: НИИ радиоэлектроники и лазерной техники. 2011. — C. 163-173.
5. Ключарев П.Г. Построение псевдослучайных функций на основе обобщённых клеточных автоматов // Наука и образование. Электронное научно-техническое издание. 2012. № 10. DOI: 10.7463/1112.0496381
6. Ключарев П.Г. Блочные шифры, основанные на обобщённых клеточных автоматах // Наука и образование. Электронное научно-техническое издание. 2012. № 12. DOI: 10.7463/0113.0517543
7. Ключарев П.Г. Обеспечение криптографических свойств обобщённых клеточных автоматов // Наука и образование. Электронное научно-техническое издание. 2012. № 3. URL: http://technomag.neicon.ru/doc/358973.html
8. Ключарев П.Г. NP-трудность задачи о восстановлении предыдущего состояния обобщенного клеточного автомата // Наука и образование. Электронное научно-техническое издание. 2012. № 1. URL: http://technomag.neicon.ru/doc/ 312834.html
9. Ключарев П.Г. О периоде обобщённых клеточных автоматов // Наука и образование. Электронное научно-техническое издание. 2012. № 2. URL: http://technomag.neicon.ru/doc/340943.html
10. Bertoni G., Daemen J., Peeters M., Van Assche G. Sponge functions. : Citeseer, 2007.
11. Bertoni G., Daemen J., Peeters M., Van Assche G. Keccak sponge function family main document. 2009. — 30 p.
12. Bertoni G., Daemen J., Peeters M., Van Assche G. Sponge-based pseudo-random number generators. : Springer, 2010. — P. 33-47.
13. Bertoni G., Daemen J., Peeters M., Van Assche G. Keccak. : Springer, 2013. — P. 313-314.
14. Ключарев П.Г. Криптографические хэш-функции, основанные на обобщённых клеточных автоматах // Наука и образование. Электронное научно-техническое издание. 2013. № 1. DOI: 10.7463/0113.0534640
15. Charles D.X., Goren E.Z., Lauter K.E. Families of Ramanujan graphs and quaternion algebras // Groups and symmetries: from Neolithic Scots to John McKay. 2009. Т. 47. — C. P. 53-63.
16. Davidoff G.P., Sarnak P., Valette A. Elementary number theory, group theory, and Ramanujan graphs. — New York : Cambridge University Press, 2003. — 144 p.
17. Lubotzky A., Phillips R., Sarnak P. Ramanujan graphs. 1988. — P. 261-277.
18. Sarnak P. Some applications of modular forms. — Cambridge ; New York : Cambridge University Press, 1990. — 111 p.
19. Ключарёв П.Г. Об устойчивости обобщенных клеточных автоматов к некоторым типам коллизий // Наука и образование. Электронное научно-техническое издание. 2014. № 9. — C. 194-202. DOI: 10.7463/0914.0727086
20. Ключарев П.Г. Производительность и эффективность аппаратной реализации поточных шифров, основанных на обобщенных клеточных атоматах // Наука и образование. Электронное научно-техническое издание. 2013. № 10. — C. 299-314. DOI: 1013.0624722
21. Лeбедев A.H. Электронная подпись: новый этап // Вестник Московско-го городского педагогического университета: серия Экономика. 2013. № 1. — C. 43-51.
22. Лeбедев A.H. Способ рассылки защищенных данных с регулировани-ем доступа к отдельным их разделам // Вопросы кибербезопасности. 2015. № 5. — C. 70-72.
23. Быков А.Ю. Алгоритмы распределения ресурсов для защиты информации между объектами информационной системы на основе игровой модели и принципа равной защищенности объектов // Наука и образование. Электронное научно-техническое издание. 2015. № 9. — C. 160-187. DOI: 10.7463/0915.0812283
24. Быков А.Ю., Панфилов Ф.А., Ховрина А.В. Алгоритм выбора классов защищенности для объектов распределенной информационной системы и размещения данных по объектам на основе приведения оптимизационной задачи к задаче теории игр с непротивоположными интересами // Наука и образование. Электронное научно-техническое издание. 2016. Т. 1. — C. 90107. DOI: 10.7463/0116.0830972
25. Быков А.Ю., Артамонова А.Ю. Модификация метода вектора спада для оптимизационно-имитационного подхода к задачам проектирования систем защиты информации // Наука и образование. Электронное научно-техническое издание. 2015. № 1. — C. 158-175. DOI: 10.7463/0115.0754845
METHODS OF DESIGNING CRYPTOGRAPHIC HASH-FUNCTIONS BASED ON ITERATION OF THE UNIFORM CELLULAR AUTOMAT
P. Klyucharev2
Abstract. The article suggests a new method of designing cryptographic hash-functions. The method is based on the use of uniform cellular automata. The work of such hash-functions consists of three stages: absorption stage, additional hashing stage and extraction stage. At the absorption stage, another message block is added to the fill of the uniform cellular automaton once in a certain number of steps. A certain number of
2 Petr Klyucharev, Ph.D., Bauman Moscow State Technical University, Moscow, [email protected]
the automaton steps is accomplished at the additional hashing stage. At the extraction stage, the output values are removed, also in a certain number of steps. Such scheme can be viewed as an analogue of cryptographic sponge (Sponge). The graph of the uniform cellular automaton in use is represented by the expander graphs, especially Ramanujan graphs, such as Lubotzky-Phillips-Sarnak graphs. Subject to the preliminary performance studies, hash-functions are built with the help of the suggested method, just like other encryption algorithms based on uniform cellular automata, which have high performance in hardware implementation, for instance, on the basis of programmable integrated logic circuits. The article also covers the issue of the use of hash-functions based on uniform cellular automata as the key generation function.
Keywords: cryptography, cryptographic, cryptographic sponge, Ramanujan graph, cryptographic algorithms, programmable integrated circuits, information security, generalized cellular automaton, a local communication function, a method for constructing cryptographic hash functions, three steps of calculating hash collisions in cellular automat.
References
1. Al-Kuwari S., Davenport J.H., Bradford R.J. Cryptographic hash functions: recent design trends and security notions,2010. URL: http://eprint.iacr.org/2011/565
2. Preneel B. The first 30 years of cryptographic hash functions and the NIST SHA-3 competition,Topics in Cryptology-CT-RSA 2010. 2010. — C. 1-14.
3. Klyucharev P.G. Kletochnye avtomaty, osnovannye na grafakh Ramanudzhana, v zadachakh generatsii psevdosluchaynykh posledovatel'nostey,Nauka i obrazovanie. Elektronnoe nauchno-tekhnicheskoe izdanie. 2011, No 10. URL: http://technomag. neicon.ru/doc/241308.html
4. Klyucharev P.G. Kriptograficheskie svoystva kletochnykh avtomatov, osnovannykh na grafakh Lyubotskogo-Filipsa-Sarnaka,Bezopasnye informatsionnye tekhnologii. - M.: NII radioelektroniki i lazernoy tekhniki. 2011. — C. 163-173.
5. Klyucharev P.G. Postroenie psevdosluchaynykh funktsiy na osnove obobshchennykh kletochnykh avtomatov,Nauka i obrazovanie. Elektronnoe nauchno-tekhnicheskoe izdanie. 2012, No 10. DOI: 10.7463/1112.0496381
6. Klyucharev P.G. Blochnye shifry, osnovannye na obobshchennykh kletochnykh avtomatakh,Nauka i obrazovanie. Elektronnoe nauchno-tekhnicheskoe izdanie. 2012, No 12. DOI: 10.7463/0113.0517543
7. Klyucharev P.G. Obespechenie kriptograficheskikh svoystv obobshchennykh kletochnykh avtomatov,Nauka i obrazovanie. Elektronnoe nauchno-tekhnicheskoe izdanie. 2012, No 3. URL: http://technomag.neicon.ru/doc/358973.html
8. Klyucharev P.G. NP-trudnost' zadachi o vosstanovlenii predydushchego sostoyaniya obobshchennogo kletochnogo avtomata,Nauka i obrazovanie. Elektronnoe nauchno-tekhnicheskoe izdanie. 2012, No 1. URL: http://technomag.neicon.ru/ doc/312834.html
9. Klyucharev P.G. O periode obobshchennykh kletochnykh avtomatov,Nauka i obrazovanie. Elektronnoe nauchno-tekhnicheskoe izdanie. 2012, No 2. URL: http://technomag.neicon.ru/doc/340943.html
10. Bertoni G., Daemen J., Peeters M., Van Assche G. Sponge functions. : Citeseer, 2007.
11. Bertoni G., Daemen J., Peeters M., Van Assche G. Keccak sponge function family main document. 2009. — 30 p.
12. Bertoni G., Daemen J., Peeters M., Van Assche G. Sponge-based pseudo-random number generators. : Springer, 2010. — P. 33-47.
13. Bertoni G., Daemen J., Peeters M., Van Assche G. Keccak. : Springer, 2013. — P. 313-314.
14. Klyucharev P.G. Kriptograficheskie khesh-funktsii, osnovannye na obobshchennykh kletochnykh avtomatakh,Nauka i obrazovanie. Elektronnoe nauchno-tekhnicheskoe izdanie. 2013, No 1. DOI: 10.7463/0113.0534640
15. Charles D.X., Goren E.Z., Lauter K.E. Families of Ramanujan graphs and quaternion algebras,Groups and symmetries: from Neolithic Scots to John McKay. 2009. T. 47. — C. P. 53-63.
16. Davidoff G.P., Sarnak P., Valette A. Elementary number theory, group theory, and Ramanujan graphs. — New York : Cambridge University Press, 2003. — 144 p.
17. Lubotzky A., Phillips R., Sarnak P. Ramanujan graphs. 1988. — P. 261-277.
18. Sarnak P. Some applications of modular forms. — Cambridge ; New York : Cambridge University Press, 1990. — 111 p.
19. Klyucharev P.G. Ob ustoychivosti obobshchennykh kletochnykh avtomatov k nekotorym tipam kolliziy,Nauka i obrazovanie. Elektronnoe nauchno-tekhnicheskoe izdanie. 2014, No 9. — C. 194-202. DOI: 10.7463/0914.0727086
20. Klyucharev P.G. Proizvoditel'nost' i effektivnost' apparatnoy realizatsii potochnykh shifrov, osnovannykh na obobshchennykh kletochnykh atomatakh,Nauka i obrazovanie. Elektronnoe nauchno-tekhnicheskoe izdanie. 2013, No 10. — C. 299-314. DOI: 1013.0624722
21. Lebedev A.H. Elektronnaya podpis': novyy etap,Vestnik Moskovsko-go gorodskogo pedagogicheskogo universiteta: seriya Ekonomika. 2013, No 1. — C. 43-51.
22. Lebedev A.H. Sposob rassylki zashchishchennykh dannykh s regulirovani-em dostupa k otdel'nym ikh razdelam, Voprosy kiberbezopasnosti, 2015, No 5, pp. 70-72.
23. Bykov A.Yu. Algoritmy raspredeleniya resursov dlya zashchity informatsii mezhdu ob''ektami informatsionnoy sistemy na osnove igrovoy modeli i printsipa ravnoy zashchishchennosti ob''ektov,Nauka i obrazovanie. Elektronnoe nauchno-tekhnicheskoe izdanie. 2015, No 9. — C. 160-187. DOI: 10.7463/0915.0812283
24. Bykov A.Yu., Panfilov F.A., Khovrina A.V. Algoritm vybora klassov zashchishchennosti dlya ob''ektov raspredelennoy informatsionnoy sistemy i razmeshcheniya dannykh po ob''ektam na osnove privedeniya optimizatsionnoy zadachi k zadache teorii igr s neprotivopolozhnymi interesami,Nauka i obrazovanie. Elektronnoe nauchno-tekhnicheskoe izdanie. 2016. T. 1. — C. 90-107. DOI: 10.7463/0116.0830972
25. Bykov A.Yu., Artamonova A.Yu. Modifikatsiya metoda vektora spada dlya optimizatsionno-imitatsionnogo podkhoda k zadacham proektirovaniya sistem zashchity informatsii,Nauka i obrazovanie. Elektronnoe nauchno-tekhnicheskoe izdanie. 2015, No 1. — C. 158-175. DOI: 10.7463/0115.0754845