Наука и Образование
МГТУ им. Н.Э. Баумана
Сетевое научное издание
Наука и Образование. МГТУ им. Н.Э. Баумана. Электрон. журн. 2014. №9. С. 194-202.
Б01: 10.7463/0914.0727086
Представлена в редакцию: 07.09.2014 © МГТУ им. Н.Э. Баумана
ISSN 1994-0448
ХДК 004.056.55+519.713
Об устойчивости обобщенных клеточных автоматов к некоторым типам коллизий
Ключарёв П. Г.1'*
[email protected] 1МГТУ им. Н.Э. Баумана, Москва, Россия
Статья посвящена некоторым вопросам синтеза обобщенных клеточных автоматов, предназначенных для использования в составе различных криптографических алгоритмов. Вводится понятие коллизии в обобщенном клеточном автомате. Исследуются вопросы построения обобщенных клеточных автоматов, устойчивых к определенному типу коллизий. Получено достаточное условие отсутствия одношаговых коллизий веса 1, состоящее в том, что локальная функция связи должна линейно зависеть от одного из аргументов, а соответствующие этим аргументам ребра графа клеточного автомата, вместе с инцидентными им вершинами, должны образовывать 2-фактор. Рассматривается вопрос существование 2-фактора в таком графе и приводится метод его нахождения за полиномиальное время.
Ключевые слова: криптография, клеточный автомат, коллизия.
Введение
Современные информационные технологии, активно развиваясь, предъявляют все новые требования как к уровню защищенности каналов связи, так и к их пропускной способности. В этой связи активно развиваются криптографические методы. Криптографии посвящено очень большое количество источников, в частности, [7, 9, 13, 14], существует большое количество различных криптоалгоритмов (хороший обзор можно найти в [5]). Однако в свете интенсификации развития так называемой легковесной (lightweight) криптографии [15, 18], многие из них не удовлетворяют современным требованиям в части производительности и эффективности. Это приводит к необходимости разработки новых криптоалгоритмов.
В работах [1, 4] и ряде других, автором были разработаны принципы построения симметричных криптоалгоритмов на основе обобщенных клеточных автоматов. Эти криптоалгоритмы имеют очень высокую производительность при аппаратной реализации. Данная работа продолжает это направление исследований. В ней исследуются коллизии, возникающие при работе обобщенных клеточных автоматов и решается оставленный ранее открытым
важный для обеспечения криптостойкости вопрос о нумерации ребер графа клеточного автомата. Основной задачей настоящей статьи является разработка метода построения обобщенный: клеточнык автоматов, устойчивых к определенному виду коллизий. Именно такие автоматы и должны быть использованы в криптографических алгоритмах.
1. Обобщенные клеточные автоматы
Назовем обобщенным клеточным автоматом ориентированный мультиграф А(У, Е), где V = {^1, ..., Ум} — множество вершин, а Е — мультимножество ребер. С каждой его вершиной уг ассоциированы:
• булева переменная тг, которая называется ячейкой;
• булева функция /г(х1,..., х^), которая называется локальной функцией связи г-й вершины.
При этом каждой паре (ребро у, инцидентная ему вершина е) будет соответствовать номер аргумента локальной функции связи, вычисляемой в вершине у. Мы будем называть его номером ребра е относительно вершины у.
Здесь мы рассматриваем только клеточные автоматы, графы которых не имеют кратных ребер.
Опишем теперь работу обобщенного клеточного автомата. В начальный момент времени каждая ячейка тг, г = 1...М, имеет некоторое начальное значение тг(0). Автомат работает пошагово. Так, значения ячеек на шаге номер £ вычисляются по формуле:
тг(Ь) = /¿(тч(г,1)(£ - 1),тч(г,2)(£ - 1),... ,тч(гД)(£ - 1)), (1)
где 'ц(г,.) — номер вершины, из которой исходит ребро, заходящее в вершину г и имеющее относительно этой вершины номер .. Заполнением клеточного автомата М (£) на шаге £ будем называть набор значений ячеек (т1(£),т2(£),..., тм(£)).
Обобщенный клеточный автомат будем называть однородным, если для любого г € {1, ..., N} выполняется / = /, т.е. локальная функция связи для всех ячеек одинакова. Степени захода вершин такого клеточного автомата, очевидно, одинаковы: = й2 = ... =
= d.
Назовем обобщенный клеточный автомат неориентированным, если для любого ребра (и, у) в его графе существует и ребро (у, и). Граф такого автомата можно рассматривать как неориентированный, если заменить каждую пару ориентированных ребер (и, у) и (у, и) на неориентированное ребро {и, у}.
Здесь мы будем использовать лишь неориентированные однородные обобщенные клеточные автоматы, для краткости называя их просто обобщенными клеточными автоматами.
Для криптостойкости шифров большое значение имеет выбор графа обобщенного клеточного автомата. Согласно работе [3], хорошим выбором являются графы Рамануджана [8, 10, 12].
Кроме того, важным является правильный выбор локальной функции связи обобщенного клеточного автомата, требования к которой сформулированы автором в работе [3]. Семейство функций, удовлетворяющих этим требованиям построено автором в работе [2]. В настоящей статье мы получим новые требования к таким функциям (сразу заметим, что семейство функций из работы [2] удовлетворяет и им).
2. Коллизии в обобщенных клеточных автоматах
Выходной последовательностью клеточного автомата А назовем функцию ^А: Вп х N ^ ^ Вп, аргументами которой является начальное заполнение и номер шага, а значением — заполнение на этом шаге.
Будем называть ¿-шаговой коллизией веса т такие два различных заполнения обобщенного клеточного автомата х\, х2 € {0, , что 1х1 ф х2| = т и ^А(х 1,Ь) = ^А(х2,£), но ^А(хь£ — 1) = *А(х2,* — 1), где |х| — вес вектора х.
Заметим, что любая ¿-шаговая коллизия одновременно является и (£ + т)-шаговой коллизией, для любого натурального т.
Очевидно, что существование коллизий в обобщенном клеточном автомате, при условии наличия эффективных алгоритмов их нахождения, резко ухудшает криптографические свойства основанных на нем криптоалгоритмов. Поэтому очень важны методы синтеза обобщенных клеточных автоматов, для которых коллизии либо отсутствуют, либо их нахождение является вычислительно-трудной задачей. Такие автоматы мы будем называть устойчивыми к коллизиям.
В данной работе мы изучим устойчивость к одношаговым коллизиям веса 1.
Итак, пусть в клеточном автомате А существует одношаговая коллизия веса 1: (х1, х2). Пусть х2 = х1 ф е, где |е| = 1. Пусть единица в е соответствует ячейке клеточного автомата с номером ]. Тогда для любой ячейки V смежной с Vj должны существовать такие значения
а1, ..., ак-1, ак+1, аа € {0, 1}, что выполняется:
/ (аь ... ,ак-1, 0,аи+1,... ,ал) = / (аь ... ,ак-1,1,... ,ак+1 ,ал), (2)
где к — номер относительно вершины V ребра (vj,
Для того чтобы рассматриваемых коллизий не существовало, достаточно, чтобы для некоторого к нельзя было найти а1, ..., ак-1, ак+1, ..., аа € {0, 1}, удовлетворяющие уравнению (2). При этом, нумерация ребер графа должна быть такой, чтобы каждой вершине было инцидентно ребро, имеющее номер к относительно какой-либо другой вершины.
Отсюда возникает два вопроса:
• какой должна быть локальная функция связи?
• какой должна быть нумерация ребер и каким требованиям должен удовлетворять граф обобщенного клеточного автомата?
Далее мы подробно остановимся на этих вопросах.
3. Локальная фукция связи
Итак, построим такую локальную функцию связи /(x1,..., xd). Представим эту функцию в виде
/ (х1,... ,ха) = хи 91(х1,... ,хн-1,хн+1,... ,ха) 0 д2(хь... ,хи-1,хи+1,.. .,ха),
где д1 и д2 — (< — 1)-местные булевы функции.
Тогда для того, чтобы не существовало набора аргументов, для которых выполнялось бы условие (2), необходимо и достаточно, чтобы д1 (х1,..., хи-1,хи+1,..., ха) = 1, т.е. функция / линейно зависела от одной из своих переменных:
/ (х1, ...,ха) = хи 0 д2(х1,... ,хи-1 ,хи+1,... ,ха).
Действительно, если функция д1 не равна тождественно единице, то существует такой набор а1, . .., аи-1, аи+1, .. ., аа, что д1(а1,..., аи-1, аи+]_,... ,аа) = 0 и условие (2) выполняется. Если же д1 = 1, то переменная хи является существенной независимо от значений остальных переменных и, следовательно, условие (2) не выполняется.
4. Строение графа обобщенного клеточного автомата
Как было отмечено выше, граф должен быть такой, чтобы каждой вершине было инцидентно ребро, имеющее номер к относительно какой-нибудь другой вершины. То есть, при использовании локальной функции связи, предложенной в предыдущем разделе, от каждой ячейки клеточного автомата должна линейно зависеть какая-либо другая ячейка. Легко видеть, что для этого достаточно, чтобы ребра, имеющие номер к относительно каких-либо вершин вместе с этими вершинами образовывали 2-фактор графа обобщенного клеточного автомата.
Напомним, что з-фактором графа С называется его ^-регулярный подграф на том же множестве вершин, а з-факторизацией графа называется множество его з-факторов, объединение который совпадает с графом, но множества ребер попарно различны. Хороший обзор современного состояния теории факторизации графов можно найти в работе [17].
В том случае, если 2-фактор является связным, он называется гамильтоновым циклом и его поиск является КР-трудной задачей. Однако если связность не требуется, он может быть найден за полиномиальное время.
Сначала выясним условия существования 2-фактора. В этой связи известны следующие теоремы.
Теорема 1 (Петерсен [16]). Граф имеет 2-факторизацию тогда и только тогда, когда он регулярен и имеет четную степень.
Теорема 2 (Беблер [19]). Любой 2-реберносвязный регулярный мультиграф, имеющий нечетную степень, содержит 2-фактор.
Таким образом, учитывая, что в однородных обобщенных клеточных автоматах используются регулярные графы, 2-фактор существует, если степень графа четная, либо если граф является 2-реберно-связным, что на практике всегда выполняется.
Теперь приведем способ, позволяющий найти 2-фактор в данном графе 0(У, Е).
Построим двудольный граф С1 = (У2, Е1), где V = VиУ1, V и У1 —две доли графа, IV| = V = {v1, ..., vn}, VI = {и1, ..., ип}. Множество ребер Е1 построим следующим образом: ребро (vi, Uj) € Е1 тогда и только тогда, когда (vi, vj•) € Е
Теперь остается найти в графе С1 максимальное паросочетание. Для поиска максимального паросочетания в двудольном графе существует ряд алгоритмов, наиболее удачным из которых считается алгоритм Хопкрофта — Карпа [11], имеющий сложность 0(|Е| ).
Полученному паросочетанию и соответствует искомый 2-фактор.
Найдя посредством вышеприведенного метода произвольный 2-фактор, следует для каждой его связной компоненты, являющейся циклом вида v1, е1, v2, е2,..., vm, ет, v1, сопоставить каждому ребру номер к, относительно следующей в цикле вершины, где к — номер переменной, от которой линейная функция связи зависит линейно. Вопрос о правильной нумерации остальных ребер все еще остается открытым. По-видимому, их можно пронумеровать произвольно (но так, чтобы относительно каждой вершины инцидентные ей ребра имели номера 1, 2, . ..,
5. О практическом применении
Криптографические алгоритмы, основанные на клеточных автоматах, могут найти широкое применение в различных областях, где требуется как легковесное шифрование (в том числе, для связи с беспилотными летательными аппаратами), так и обычное шифрование (например, для защиты электронных документов, в САПР [6]) и т.д.
Заключение
В статье развита теория обобщенных клеточных автоматов, свободных от одношаговых коллизий веса 1, которые очень важны для криптографических применений. Разработан метод построения таких автоматов, работающий за полиномиальное время.
Список литературы
1. Ключарёв П.Г. Блочные шифры, основанные на обобщённых клеточных автоматах //
Наука и образование. МГТУ им. Н.Э. Баумана. Электрон. журн. 2012. № 12. С. 361-374.
БОТ: 10.7463/0113.0517543
2. Ключарёв П.Г. Наука и образование. МГТУ им. Н.Э. Баумана. Электрон. журн. 2012. № 3.
Режим доступа: http://technomag.bmstu.ru/doc/358973.html (дата обращения 01.08.2014).
3. Ключарёв П.Г. Построение псевдослучайных функций на основе обобщенных клеточных автоматов // Наука и образование. МГТУ им. Н.Э. Баумана. Электрон. журн. 2012.
№ 10. С. 263-274. БОТ: 10.7463/1112.0496381
4. Ключарёв П.Г. Криптографические хэш-функции, основанные на обобщенных клеточных автоматах // Наука и образование. МГТУ им. Н.Э. Баумана. Электрон. журн. 2013. № 1. С. 161-172. DOI: 10.7463/0113.0534640
5. Панасенко С. Алгоритмы шифрования. Специальный справочник. СПб.: БХВ-Петер-бург, 2009. 576 с.
6. Чичварин Н. Выбор методов защиты проектной документации от несанкционированного доступа // Информационные технологии. 2014. № 5. С 41-48.
7. Buchmann J. Introduction to Cryptography. Springer New York, 2004. 338 p. (Ser. Undergraduate Texts in Mathematics). DOI: 10.1007/978-1-4419-9003-7
8. Davidoff G., Sarnak P., Valette A. Elementary number theory, group theory and Ramanujan graphs. Cambridge: Cambridge University Press, 2003. 154 p. (London Mathematical Society Student Texts; vol. 55).
9. Hoffstein J., Pipher J., Silverman J. An Introduction to Mathematical Cryptography. Springer New York, 2008. (Ser. Undergraduate Texts in Mathematics). DOI: 10.1007/ 978-0-387-77993-5
10. Hoory S., Linial N., Wigderson A. Expander graphs and their applications // Bulletin of the American Mathematical Society. 2006. Vol. 43, no. 4. P. 439-562.
11. Hopcroft J.E., Karp R.M. An nA5/2 algorithm for maximum matchings in bipartite graphs // SIAM Journal on computing. 1973. Vol. 2, no. 4. P. 225-231.
12. Lubotzky A., Phillips R., Sarnak P. Ramanujan graphs // Combinatorica. 1988. Vol. 8, no. 3. P. 261-277. DOI: 10.1007/BF02126799
13. Menezes A., van Oorschot P., Vanstone S. Handbook of Applied Cryptography. Taylor & Francis, 1996. 816 p.
14. Paar C., Pelzl J. Understanding Cryptography: A Textbook for Students and Practitioners. Springer Berlin Heidelberg, 2010. 372 p. DOI: 10.1007/978-3-642-04101-3
15. Panasenko S., Smagin S. Lightweight cryptography: Underlying principles and approaches // International Journal of Computer Theory and Engineering. 2011. Vol.3, no. 4. P. 516-520. DOI: 10.7763/IJCTE.2011.V3.360
16. Petersen J. Die theorie der regularen graphs // Acta Mathematica. 1891. Vol. 15, no. 1. P. 193220. DOI: 10.1007/BF02392606
17. PlummerM.D. Graph factors and factorization: 1985-2003: a survey//Discrete Mathematics. 2007. Vol. 307, no. 7. P. 791-821. DOI: 10.1016/j.disc.2005.11.059
18. Preneel B. Stream ciphers and lightweight cryptography // Proc. of the 2nd International Workshop on ZUC Algorithm and Related Topics. Beijing, China, 2011.
19. Von Baebler F. Uber die zerlegung regularer streckenkomplexe ungerader ordnung // Commentarii Mathematici Helvetici. 1937. Vol. 10, no. 1. P. 275-287.
Science ^Education
Science and Education of the Bauman MSTU, 2014, no. 9, pp. 194-202.
DOI: 10.7463/0914.0727086
of the Bauman MSTU Received: 07.09.2014
Electronic journal © Bauman Moscow State Technical University
ISSN 1994-0448
On Collision Resistance of Generalized Cellular Automata
Klyucharev P. G.1'* * [email protected]
1Bauman Moscow State Technical University, Moscow, Russia
Keywords: cryptography, cellular automata, collision
The author had previously developed the principles for creating the symmetric cryptoalgorithms based on the generalized cellular automata. In hardware implementation these cryptoalgorithms are of high efficiency. This work continues studies in this field. It investigates collisions arising during the operation of generalized cellular automata.
The main objective of the work is to develop a method for creating the generalized cellular automata to be resistant to a certain type of collisions.
Two various initial fillings of the generalized cellular machine gun differing in w categories and giving identical fillings after t steps shall be called a t-step collision of weight w. We notice that any t-step collision at the same time is also a step collision (t+u).
It is obvious that collisions existing in generalized cellular automata, provided that there are efficient algorithms to detect them, sharply worsen cryptographic properties of the crypto-algorithms based on it. Therefore methods for synthesis of generalized cellular automata, which are resistant to collisions are very important. This work studies resistance to the single-step collisions of weight 1.
The work shows that for a lack of single-step collisions of weight 1 it is enough that any other cell is linearly dependent on each cell of the cellular automata. For this, it is sufficient that the k-numbered edges with regard to any tops form, together with these tops, a 2-factor of the graph of the generalized cellular automata while a local function of relation has to be linear in k- numbered argument.
Existence conditions of 2-factor are given. The method to find the 2-factor in this graph is given. It is based on the search algorithm of the maximum bipartite matching.
Thus, the article develops a theory of the generalized cellular automata, free from single-step collisions of weight 1. Such automata are important for cryptographic applications. The method is developed to create such cellular automata operating in polynomial time.
References
1. Kliucharev 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. Kliucharev P.G. On cryptographic properties of generalized cellular automation. Nauka i obrazovanie MGTU im. N.E. Baumana = Science and Education of the Bauman MSTU, 2012, no. 3. Available at: http://technomag.bmstu.ru/doc/358973.html, accessed 01.08.2014. (in Russian).
3. Kliucharev P.G. Construction of pseudo-random functions based on generalized cellular automata. Nauka i obrazovanie MGTU im. N.E. Baumana = Science and Education of the Bauman MSTU, 2012, no. 10, pp. 263-274. DOI: 10.7463/1112.0496381 (in Russian).
4. Kliucharev 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).
5. Panasenko S.P. Algoritmy shifrovaniia. Spetsial'nyi spravochnik [Reference book of encryption algorithms]. St. Petersburg, BKhV-Peterburg Publ., 2009. 576 p. (in Russian).
6. Chichvarin N.V. The Choice of Methods of Protection Design Documents from Unauthorized Access. Informatsionnye tekhnologii, 2014, no. 5, pp. 41-48. (in Russian).
7. Buchmann J. Introduction to Cryptography. Springer New York, 2004. 338 p. (Ser. Undergraduate Texts in Mathematics). DOI: 10.1007/978-1-4419-9003-7
8. Davidoff G., Sarnak P., Valette A. Elementary number theory, group theory and Ramanujan graphs. Cambridge, Cambridge University Press, 2003. 154 p. (London Mathematical Society Student Texts; vol. 55).
9. Hoffstein J., Pipher J., Silverman J. An Introduction to Mathematical Cryptography. Springer New York, 2008. (Ser. Undergraduate Texts in Mathematics). DOI: 10.1007/ 978-0-387-77993-5
10. 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.
11. Hopcroft J.E., Karp R.M. An nA5/2 algorithm for maximum matchings in bipartite graphs. SIAM Journal on Computing, 1973, vol. 2, no. 4, pp. 225-231.
12. Lubotzky A., Phillips R., Sarnak P. Ramanujan graphs. Combinatorica, 1988, vol.8, no. 3, pp. 261-277. DOI: 10.1007/BF02126799
13. Menezes A., van Oorschot P., Vanstone S. Handbook of Applied Cryptography. Taylor & Francis, 1996. 816 p.
14. Paar C., Pelzl J. Understanding Cryptography: A Textbook for Students and Practitioners. Springer Berlin Heidelberg, 2010. 372 p. DOI: 10.1007/978-3-642-04101-3
15. Panasenko S., Smagin S. Lightweight cryptography: Underlying principles and approaches. International Journal of Computer Theory and Engineering, 2011, vol. 3, no. 4, pp. 516-520. DOI: 10.7763/IJCTE.2011.V3.360
16. Petersen J. Die theorie der regularen graphs. ActaMathematica, 1891, vol. 15, no. 1, pp. 193220. DOI: 10.1007/BF02392606
17. Plummer M.D. Graph factors and factorization: 1985-2003: a survey. Discrete Mathematics, 2007, vol. 307, no. 7, pp. 791-821. DOI: 10.1016/j.disc.2005.11.059
18. Preneel B. Stream ciphers and lightweight cryptography. Proc. of the 2nd International Workshop on ZUC Algorithm and Related Topics. Beijing, China, 2011.
19. Von Baebler F. Uber die zerlegung regularer streckenkomplexe ungerader ordnung. Commen-tarii Mathematici Helvetici, 1937, vol. 10, no. 1, pp. 275-287.