электронное научно-техническое издание
НАУКА и ОБРАЗОВАНИЕ
Эл № ФС77 - 30569. Государственная регистрация №0421100025. ISSN 1994-0408
Обеспечение криптографических свойств обобщенных клеточных автоматов
77-30569/358973
# 03, март 2012 П.Г. Ключарев
УДК 519.713; 004.056.55
МГТУ им. Н.Э. Баумана [email protected]
Введение
Объем информации, обрабатываемой современными информационными системами, все возрастает. Возрастают и требования к обеспечению информационной безопасности. В связи с этим требуются новые быстрые алгоритмы шифрования. Эта статья продолжает серию работ [1, 2, 3, 4], посвященную исследованиям обобщенных клеточных автоматов в контексте их приложений в криптографии. Концепция построения генераторов псевдослучайных последовательностей, основанных на обобщенных клеточных автоматах, была впервые предложена в работах [5, 6], где, в частности, показано, что на основе клеточных автоматов могут быть созданы новые поточные шифры, отличающиеся высокой скоростью работы.
Одной из важных задач, возникающих в связи с криптографическими применениями обобщенных клеточных автоматов, является разработка методов явного построения локальных функций связи. Решению этой задачи и посвящена настоящая работа.
1. Обобщенные клеточные автоматы
Назовем обобщенным клеточным автоматом ориентированный мультиграф А = (V, Е) (здесь V = {^1,..., } — множество вершин, Е — мультимножество ребер). С каждой его вершиной у ассоциированы:
• булева переменная т», называемая ячейкой;
• булева функция fi(x1,... ), называемая локальной функцией связи ¿-ой вершины.
При этом для вершины у входящие в нее ребра пронумерованы числами 1, . ..,
Опишем теперь работу обобщенного клеточного автомата. В начальный момент времени
каждая ячейка памяти т», I = 1,..., N, имеет некоторое начальное значение т»(0). Далее
автомат работает по шагам. На шаге с номером Ь с помощью локальной функции связи вычисляются новые значения ячеек:
= - 1), Шп(*,2)(* - !), ..., (Ь - !)), (!)
где г/(г,]) — номер вершины, из которой исходит ребро, входящее в вершину г и имеющее номер ]. Заполнением клеточного автомата М(Ь) на шаге Ь будем называть набор значений ячеек (т1(Ь), т2(Ь),..., т^(Ь)).
Назовем однородным обобщенным клеточным автоматом обобщенный клеточный автомат, у которого локальная функция связи для всех ячеек одинакова и равна f, т.е. для любого г € {1,..., N} выполняется / = /. Степени захода вершин такого клеточного автомата, очевидно, одинаковы: = = ... = dN = d. Обобщенный клеточный автомат, не являющийся однородным, будем называть неоднородным.
Пусть задана двоичная последовательность {^}. Назовем обобщенным клеточным автоматом с задающей последовательностью (ОКАЗП) обобщенный клеточный автомат, у которого для вычисления одной из ячеек тг (будем ее называть задающей ячейкой) вместо формулы (1) используется формула
тг (Ь) = /г {тф, 1)(Ь - 1),тф,2)(Ь - 1),... ,тф,<1г )(Ь - 1)) Ф С*. (2)
В том случае, если все локальные функции связи одинаковы, будем называть такой клеточный автомат однородным обобщенным клеточным автоматом с задающей последовательностью.
Некоторый набор ячеек клеточного автомата будем называть выходом. Выходной последовательностью клеточного автомата назовем функцию, аргументом которой является номер шага, а значением — значение выхода на этом шаге.
2. Нелинейность и равновесность
Известно, что для обеспечения хороших криптографических свойств преобразования необходимо, чтобы оно имело как можно большую нелинейность. Напомним, что нелинейностью [7] булевой функции называется расстояние от этой функции до множества аффинных функций. Кроме того, в работе [5] показано, что для обеспечения равномерности распределения выходной последовательности однородного обобщенного клеточного автомата необходимо и достаточно, чтобы локальная функция связи была равновесной.
Таким образом, требуется равновесная функция, обладающая как можно большей нелинейностью. Для построения такой функции мы воспользуемся методом, основанном на конкатенации бент-функций.
Напомним, что бент-функцией [7] называется булева функция от п переменных, все коэффициенты Уолша которой имеют вид ±2п/2. Такие функции существуют только для
четных п и имеют максимально возможную нелинейность 2п-1 — 2п/2-1, однако не являются равновесными — их вес равен 2п-1 ± 2п/2-1.
Для построения бент-функций мы воспользуемся методом Ротхауса [8], состоящем в том, что для произвольной булевой функции в(ж1,..., хк), функция
к
в (Х1,У1, .. . ,Хк, у к) = ф ф в(хь... ,Хк) (3)
»=1
является бент-функцией.
Пусть в», г = 1, 2, 3,4, — бент-функции, такие, что |в11 + |в21 = 2п и |вз| + |в41 = 2п (здесь |в | — вес функции в). Рассмотрим функции
^1(м,Х1,Х2,... ,Х2к) = (1 ф и)в1(х1,... ,Х2к) Ф ив2(х1,..., Х2к); (4)
^2(У,и,Х1,Х2, . . . ,Х2к) = (1 Ф У)((1 Ф и)в1(Х1, . . . ,Х2к) Ф
фив2(Х1, . . . ,Х2к)) Ф У ((1 Ф и)вз(Х1, . . . ,Х2к) Ф ив4(Х1, . . . , Х2к)) . (5)
Для этих функций доказано [7], что они являются равновесными, а их нелинейности имеют следующие нижние оценки, близкие к максимально возможным:
^ 22к — 2к; (6) N^2 ^ 22к+1 — 2к+1. (7)
Изложенный метод позволяет строить булевы функции большой нелинейности от произвольного числа переменных.
3. Построение локальной функции связи
Одной из важнейших характеристик генераторов псевдослучайных последовательностей является длина периода.
Пусть А — некоторое множество вершин клеточного автомата. Рассмотрим набор ячеек, ассоциированных с вершинами из этого множества, упорядоченными по возрастанию номеров. Набор значений этих ячеек на шаге £ обозначим как А(£). Введем следующие обозначения:
¿А = {^^(¿,1) е А};
ДА = ¿А и {у | п(?,«) = ¿, и е {2,3,...<}, у е ¿А}; Д°А = А, Д,+1А = Д(Д;А).
В работе [4] доказана следующая теорема.
Теорема 1. Пусть дан обобщенный клеточный автомат с задающей последовательностью локальные функции связи которого имеют вид /¿(х1,..., х^) = ^»(х2,..., х^) Ф х1. Период набора ячеек М этого автомата имеет длину, не меньшую чем длина периода задающей
последовательности, если Аи{уг} С M для задающей вершины уг и некоторого п € N и, при этом, для любого ш € А-7{ьг}, для всех3 € {0,1,... ,п - 1} выполняется = 0.
Из этой теоремы видно, что длину периода можно оценить снизу, если локальная функция связи линейно зависит от одного из своих аргументов и выходом автомата является множество вершин, удовлетворяющее условию теоремы 1.
Итак, необходима как можно более нелинейная и при том равновесная функция, линейно зависящая от одного из своих аргументов. Выберем функции вь в2, в3 и в4, для которых выполняются соотношения
в1(х1, ...,Хк) = в2(х1, ...,Хк) Ф 1, в3(х1, ...,Хк) = в4(х1, ...,Хк) Ф 1.
Теперь, в соответствии с (3), получим четыре бент-функции
к
в- (Х1,У1,... ,Хк, у к) = ф хгуг Ф в- (Х1,... ,Хк), 3 € {1, 2, 3, 4}.
г=1
Из них в соответствии с (4) и (5) можно получить равновесные функции д1 и д2. Легко видеть, что выполняется
д1(п,Х1,Х2,.. .,Х2к) = в1(Х1,.. .,Х2к) Ф п; (8)
д2(ь,П,Х1,...,Х2к )= ь(@1(Х1,...,Х2к ) Ф вз(Х1,...,Х2к )) Ф в1(Х1,...,Х2к ) Ф П = к
= ф ХгУг Ф в1(Х1, ...,Хк) Ф У(в^1, . . . ,Хк) Ф в3(Х1, . . . ,Хк)) Ф П. (9)
г=1
Мы получили функции линейно зависящие от одного из своих аргументов, для которых справедливы нижние оценки нелинейности (6) и (7). Поэтому их можно применять в качестве локальных функций связи обобщенного клеточного автомата — необходимо только, чтобы для множества выходных ячеек автомата выполнялось условие теоремы 1.
4. Универсальность обобщенного клеточного автомата
Скажем, что обобщенный клеточный автомат вычисляет булеву функцию <р(Х1,..., Хп), если существуют такие числа з0 € {1,..., N}, € и набор (3]^,... ,зп) € {1,..., N}п с попарно различными элементами, что выполняется равенство
т7о(Ь0) = <<(тп(0),. . . , т7п(0)).
Теорема 2. Булеву функцию <(х]^, ..., Хп), которая при реализации схемой из функциональных элементов над базисом В имеет сложность I и глубину к, можно вычислить с помощью обобщенного клеточного автомата, локальные функции связи которого принадлежат В, а граф имеет п + I вершин.
М Будем рассматривать схему как граф обобщенного клеточного автомата. Пусть у такого клеточного автомата вершины (vi,..., vn) соответствуют входам схемы, а остальные вершины— ее элементам. Припишем каждой вершине из множества {vn+1,... , }, функцию, вычисляемую соответствующим элементом схемы. Для каждой вершины Vj £ {v1,..., vn} добавим в граф петлю (vj,vj) и припишем ей локальную функцию связи /¿(ж) = ж. Очевидно, что такой клеточный автомат вычисляет функцию ^ за h шагов. ►
Если уже по виду локальной функции связи можно определить, что обобщенный клеточный автомат не может вычислить некоторый класс булевых функций, то криптоанализ систем шифрования, основанных на таких автоматах, упрощается. Заметим, что для того, чтобы однородный клеточный автомат мог вычислить произвольную функцию, необходимо, чтобы локальная функция связи являлась шефферовой. Исходя из этого будем считать, что для применений в криптографии необходимо, чтобы локальная функция связи однородного клеточного автомата являлась шефферовой.
Уточним условия, при которых функции (8) и (9) являются шефферовыми. Для этого, согласно теореме Поста, функция не должна принадлежать ни одному из следующих замкнутых классов:
• функций, сохраняющих 0 (T0);
• функций, сохраняющих 1 (T1);
• монотонных функций (M);
• самодвойственных функций (S);
• линейных функций (L).
Для начала докажем вспомогательные леммы.
Лемма 1. Соотношение g1 £ T0 UT1 верно тогда и только тогда, когда k+t1 = 1 (mod 2), где t1 — число ненулевых слагаемых алгебраической нормальной формы функции s1; при этом свободный член АНФ этой функции равен 1.
М Утверждение леммы следует из того, что
g1(0,..., 0) = А(0,..., 0) = S1 (0,..., 0),
а s1(0,..., 0) равно свободному члену. Кроме того, g1(1,..., 1) равен сумме t1 + k + 1 единиц. ►
Лемма2. Соотношение g2 £ T0 UT1 верно тогда и только тогда, когда k+¿3 = 1 (mod 2), где t3 — число ненулев^1х слагаем^1х алгебраической нормальной формы функции s3. При этом свободный член АНФ функции s1 равен 1.
М Действительно, легко видеть, что
g2(0,..., 0) = А(0,..., 0) 0 u, 02(1,..., 1) = вз(1,..., 1) Ф и. Далее доказательство проводится аналогично доказательству леммы 1. ►
Лемма 3. Имеет место соотношение g1 £ S.
М Вычислим сумму функции gi с двойственной ей функцией:
9i ф g\ = gi(u,xi,yi,... ,xk ,yk) Ф gi(u,xi,yi,... ,xk ,yk) =
= 0i(xi,yi,...,xk ,yk) Ф ei(xi Ф 1,yi Ф 1,...,xk Ф 1,Ук Ф 1) = kk = 0 xiyi Ф si(xi,...,xk) Ф 0(xiyi Ф xi Ф yi Ф 1) Ф si(xi Ф 1,...,xk Ф 1) =
i=i i=i
kk
= 0 xi Ф 0 yi Ф k Ф si(xi ,...,xk) Ф si(xi Ф 1,...,xk Ф 1).
i=1 i=1
Рассматриваемая сумма существенно зависит от переменный yi, но функция si от этих переменных не зависит, следовательно, какова бы не была функция si, рассматриваемая сумма не тождественна нулю. Следовательно, gi ф S. ►
Лемма 4. Имеет место соотношение g2 ф S.
М Положим v = 0 и рассмотрим сумму функции g2 с двойственной ей функцией:
g2 Ф g*2 = ¡3i(xi,yi,...,xk ,yk) Ф fo(xi Ф 1,yi Ф 1,...,xk Ф 1,yk Ф 1).
Далее доказательство проводится аналогично доказательству леммы 3. ►
Перейдем теперь к основным теоремам этого раздела. Теорема 3. Функция
k
gi(u,xi,yi,... ,xk ,yk) = ф xiyi Ф si(xi,...,xk) Ф u
i=1
является шефферовой тогда и только тогда, когда выполняется k + ti = 1 (mod 2), где ti — число ненулевых коэффициентов в алгебраической нормальной форме функции si; при этом свободный член равен 1.
М Действительно, в условиях теоремы выполняется лемма 1, утверждающая, что gi ф T0 и gi ф Ti. Из нее следует, что gi ф M. По лемме 3 gi ф S. Кроме того, по определению gi ф L. Из этих фактов следует утверждение теоремы. ►
Теорема 4. Функция
g2(v,u,xi,yi,.. .,xk,yk) =
= (1 Ф v)(pi(xi,yi,.. .,xk ,yk) Ф u) Ф v(p3(xi,yi,.. .,xk ,yk) Ф u) =
k
= 0 xiyi Ф si(xi, ...,xk) Ф v(si(xi, ...,xk) Ф s3 (xi,. . . ,xk))
i=1
является шефферовой тогда и только тогда, когда k + t3 = 1 (mod 2), где t3 — число ненулевых коэффициентов в алгебраической нормальной форме функции s3. При этом свободный член АНФ функции s1 равен 1.
М Действительно, в условиях теоремы выполняется лемма 2, утверждающая, что g2 £ T0 и g2 £ T1. Из нее следует, что g2 £ M. Согласно лемме 3, g2 £ S. Кроме того, по определению g2 £ L. Из этих фактов следует утверждение теоремы. ►
5. Заключение
В работе предложено семейство локальных функций связи обобщенных клеточных автоматов, подходящее для применения в криптографии.
В случае нечетного числа переменных, используется функция
k
01(u,X1,y1, . . . ,Xk,0k) = Xj0j 0 5^X1, . . . , Xfc) 0 U,
¿=1
где s1 (ж1,..., xk) — произвольная булева функция, причем выполняется сравнение k+11 = 1 (mod 2), где t1 — число ненулевых коэффициентов в алгебраической нормальной форме функции s1. При этом свободный член равен 1.
Если же число переменных четно, используется функция
02(v, U, Ж1, 01, . . . ,Xfc,0k) =
= (1 0 v)(e (Ж1, 01,... ,Xk,0k) 0 u) 0 v(^3(x1,01,... ,Xk,0k) 0 u) = k
= ф Xj0j 0 S1(X1, ... ,Xk) 0 V(S1(X1, ... ,Xk) 0 S3(X1, ... ,Xk)) 0 u,
¿=1
где s1(x1,..., xk) и s3(x1,..., xk) — произвольные булевы функции, причем должно выполняться сравнение k + t3 = 1 (mod 2), где t3 — число ненулевых коэффициентов АНФ функции s3. При этом свободный член АНФ функции s1 равен 1.
Построенное семейство функций позволяет строить обобщенные клеточные автоматы, допускающие нижнюю оценку периода, а также большую нелинейность выполняемого преобразования. Также, использование этих функций является необходимым условием универсальности обобщенного клеточного автомата, что, по-видимому, способствует повышению криптографической стойкости поточных шифров, основанных на обобщенных клеточных автоматах.
Список литературы
1. Ключарев П. Г. Криптографические свойства клеточных автоматов, основанных на графах Любоцкого — Филипса — Сарнака // Безопасные информационные технологии. Сборник трудов Второй всероссийской научно-технической конференции. - М.: НИИ радиоэлектроники и лазерной техники, 2011. - С. 163-173.
2. Ключарев П. Г. NP-трудность задачи о восстановлении предыдущего состояния обобщенного клеточного автомата // Наука и образование. Электронное научно-техническое издание. - 2012. - № 1.
3. Ключарев П. Г. Клеточные автоматы, основанные на графах Рамануджана, в задачах генерации псевдослучайных последовательностей // Наука и образование. Электронное научно-техническое издание. - 2011. - № 10.
4. Ключарев П. Г. О периоде обобщенных клеточных автоматов // Наука и образование. Электронное научно-техническое издание. - 2012. - № 2.
5. Сухинин Б. М. Высокоскоростные генераторы псевдослучайных последовательностей на основе клеточных автоматов // Прикладная дискретная математика. - 2010. - № 2. -C. 34-41.
6. Сухинин Б. М. О некоторый свойствах клеточных автоматов и их применении в структуре генераторов псевдослучайный последовательностей // Вестник Московского государственного технического университета им. Н.Э. Баумана. Серия: Приборостроение. -2011. -№ 2. - С. 68-76.
7. Cusick T., Stanica P. Cryptographic Boolean functions and applications. - Academic Press, 2009.-232 p.
8. Rothaus O. On bent functions // Journal of Combinatorial Theory, Series A. - 1976. - V. 20, No. 3. - P. 300-305.
electronic scientific and t echnical periodical
SCIENCE and EDUCATION
El № FS77 - 30569. №0421100025. ISSN 1994-0408
On cryptographic properties of generalized cellular automation
77-30569/358973
# 03, March 2012 P.G. Klyucharev
Bauman Moscow State Technical University
We introduce the family of Boolean functions, which can be used as local transition functions in generalized cellular automates. The functions from this family are balanced. The nonlinearity of them is large. The cellular automates based on them have a bottom estimation of period. These properties are important for cryptographic applications of generalized cellular automations.
References
1. Kliucharev P.G. Kletochnye avtomaty, osnovannye na grafakh Ramanudzhana, v zadachakh generatsii psevdosluchainykh posledovatel'nostei [Cellular automata, based on Ramanujan graphs, in the problems of pseudorandom sequences generation]. Nauka i obrazovanie, 2011, no. 10. Available at: http://technomag.edu.ru/doc/241308.html.
2. Kliucharev P.G. Kriptograficheskie svoistva kletochnykh avtomatov, osnovannykh na grafakh Liubotskogo-Filipsa-Sarnaka [Cryptographic properties of cellular automata based on LPS-graphs].Bezopasnyeinformatsionnyetekhnologii. Trudy 2 Vseros. nauch.-tekhn. konf. [Secure information technologies. Proc. 2nd All-Rus. sci.-tech. conf.]. Moscow, Inst. Radioelectron. and Laser Technol. Publ., 2011, pp. 163-173.
3. Kliucharev P.G. O periode obobshchennykh kletochnykh avtomatov [About the period of generalized cellular automatons]. Nauka i obrazovanie, 2012, no. 2.
4. Kliucharev P.G. NP-trudnost' zadachi o vosstanovlenii predydushchego sostoianiia obob-shchennogo kletochnogo avtomata [NP-hard of step backward problem in generalized cellular automaton]. Nauka i obrazovanie, 2012, no. 1.
5. SukhininB.M. Vysokoskorostnye generatory psevdosluchainykh posledovatel'nostei na osnove kletochnykh avtomatov [High-speed generators of pseudorandom sequences based on cellular automata]. Prikladnaia diskretnaia matematika, 2010, no. 2, pp. 34-41.
6. Sukhinin B.M. O nekotorykh svoistvakh kletochnykh avtomatov i ikh primenenii v strukture generatorov psevdosluchainykh posledovatel'nostei [Some properties of cellular automata and
their application in the structure of pseudorandom sequences generators]. Vestnik MGTU im. N.E. Baumana. Ser . Priborostroenie [Herald of the Bauman MSTU. Ser. Instrumentation], 2011, no. 2, pp. 68-76.
7. Cusick T.W., Stanica P. Cryptographic Boolean functions and applications. London, Acad. Press, 2009. 232 p.
8. Rothaus O.S. On «bent» functions. Journal of Combinatorial Theory, Ser. A, 1976, vol. 20, no. 3, pp. 300-305.