Контакты
Подписка
МЕНЮ
Контакты
Подписка

Клеточные автоматы в криптографии. Часть 3

Клеточные автоматы в криптографии. Часть 3

В рубрику "Криптография" | К списку рубрик  |  К списку авторов  |  К списку публикаций

Клеточные автоматы в криптографии.Часть 3

Перед вами заключительная часть материала1 о клеточных автоматах в криптографии, одной из старейших моделей вычислений. Напомним, что клеточные автоматы – самостоятельные объекты теоретического изучения и они же – инструмент для моделирования в науке и технике. В основе популярности клеточных автоматов лежит их сравнительная простота в сочетании с большими возможностями для моделирования совокупности взаимосвязанных однородных объектов.
Алексей Жуков
Председатель совета директоров ассоциации “РусКрипто”,
к.ф.-м.н., доцент, МГТУ им. Н.Э. Баумана

Клеточные автоматы в конструкции блочных шифров

Все попытки использовать клеточные автоматы в конструкции блочных шифров непосредственно в качестве цикловой функции шифрования упирались прежде всего в вопрос обратимости КлА2. Если автомат является обратимым, обратное преобразование может быть реализовано также с помощью КлА (возможно с другой, в том числе и с большей окрестностью по сравнению с исходным автоматом) [Ric72].

Наиболее существенные результаты, связанные с вопросами обратимости, получены для классических КлА, заданных на бесконечных решетках. В работе [Amo72] было показано, что для одномерных КлА задача алгоритмического распознавания обратимости является разрешимой. В той же работе был построен алгоритм распознавания, имеющий экспоненциальную сложность. Позже были построены алгоритмы для распознавания обратимости одномерных КлА, имеющие полиномиальную сложность [Sut91], [Sut98], [Cul87], [Hil91]. Однако для клеточных автоматов на решетках с двумя и более измерениями таких алгоритмов нет. Было установлено [Kar90], [Kar94], что в общем случае эта задача является алгоритмически неразрешимой в том смысле, что не существует алгоритма, который для любого автомата всегда заканчивал бы свою работу в конечное время и давал бы правильный ответ. В работах [Куч04], [Куч12] исследовались границы между классами клеточных автоматов, для которых свойство обратимости является алгоритмически разрешимым, и теми, для которых оно алгоритмически неразрешимо. Получен критерий разрешимости свойства обратимости для классов клеточных автоматов фиксированной размерности и с фиксированным числом состояний ячейки. Получен критерий разрешимости свойства обратимости в классе клеточных автоматов с фиксированной окрестностью (в терминологии автора [Куч12] – с фиксированным шаблоном соседства).

Построение обратимых КлА в случае размерностей больших, чем 1, весьма затруднительно. Известно несколько типов обратимых двумерных КлА, основными из которых являются блочные клеточные автоматы [Tof87], [Scf08] и клеточные автоматы 2-го порядка [Mar84], [Vic84], [Wol84a]. Автоматы этих типов отличаются от классических клеточных автоматов, однако доказано, что они могут быть эмулированы классическими клеточными автоматами (с, возможно, значительно большим размером окрестности и числом состояний ячейки).

Для криптографических приложений, как правило, применяются КлА с решеткой конечного размера. Вопросы обратимости для таких КлА в принципе всегда разрешимы, и основная задача состоит в нахождении приемлемых критериев для проверки обратимости, алгоритмов для реализации обратного преобразования и оценки сложности этих алгоритмов. В настоящее время эти вопросы весьма мало исследованы, результатов очень немного, а те, какие есть, не внушают большого оптимизма относительно быстрого продвижения и скорых успехов в этом направлении. Так, проводились попытки исследовать свойство обратимости двумерных КлА на множестве конфигураций, помещающихся в некоторый квадрат. В работе французского исследователя Б. Дюранда (Durand B.) было установлено, что задача распознавания обратимости в этой постановке является co-NP-полной [Dur94].

В свою очередь, для обобщенных КлА, как показано в [Клю12б], задача восстановления предыдущего состояния (а значит, и начального заполнения) обобщенного клеточного автомата является NP-трудной. Там же показано, что в случае КлА с локальной функцией связи от двух переменных задача о существовании предыдущего состояния принадлежит классу P.

Несмотря на отсутствие разработанной теории построения обратимых КлА с решеткой конечного размера, в последнее время предложено достаточно много блочных алгоритмов шифрования на основе обратимых КлА, в том числе и двумерных – [Ang07], [Kum13], [Per08], [Ser04a], [Ser04b], [Tri09], [Wel12], [Xia09]. Кроме того, имеется значительное число работ, посвященных использованию КлА для построения S-блоков [Bha07], [Muk07], [Sza08a], [Sza08b], [Sza10a], [Sza10b], [Sza11], [Sza12].

Наиболее же перспективным, по нашему мнению, является применение обобщенных КлА в алгоритмах блочного шифрования в качестве SPK-узла.

Концепция SPK-узла

При построении блочных шифров обычно применяются композиции преобразований, осуществляющих рассеивание и перемешивание преобразуемой информации, что достигается с помощью использования так называемых P-блоков (P-box) и S-блоков (S-box). При этом смешение с ключевой информацией, как правило, осуществляется или с помощью побитового сложения информационного блока с цикловым ключом, который вырабатывается из секретного ключа с помощью специального алгоритма, называемого алгоритмом выработки ключа, или (как, например, в алгоритме ГОСТ 28147-89) их сложения по модулю 2n. Узел, осуществляющий смешение информационного блока с ключевой информацией, в дальнейшем будем называть K-блоком.

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

К одной из первых (во всяком случае, из опубликованных в открытой литературе) попыток создания такого узла можно отнести конструкцию Лая (Lai X.) и Месси (Massey J.), которая была применена в алгоритме блочного шифрования IDEA [Lai91]. Авторами IDEA был предложен MA-узел (Multiplication-Addition), осуществляющий рассеивание, перемешивание и смешение с ключевым материалом входного информационного вектора. В алгоритме IDEA этот узел использовался в качестве цикловой функции шифрования.

MA-узел изображен на рис. 1. Здесь Хk - k-я часть входного информационного вектора, Yk-k-я часть выходного информационного вектора, Km - m-я часть циклового ключа, -операция сложения по модулю 216, - операция умножения по модулю 216+1. При этом конструкция данного алгоритма шифрования предполагает обратимость всех используемых операций (очевидно, это обстоятельство в основном касается операции умножения по модулю 216+1). Хотя для указанных параметров обратимость операции умножения выполняется, ясно, что данный узел не годится для произвольного набора параметров, поскольку далеко не всегда число вида 2k+1 является простым (простота модуля является необходимым и достаточным условием обратимости модульного умножения).


Будем называть узлы данного типа SPK-узлами, так как они выполняют ту же функцию, что и композиции классических S-блоков и P-блоков с операцией сложения с цикловым ключом, которую мы договорились называть K-блоком.


Особо отметим, что в случае блочных шифров, имеющих структуру схемы Фейстеля, не требуется обратимость преобразований, входящих в состав шифрующей функции ƒ (см. рис. 2, где li, ri – части информационного блока, ki – цикловой ключ, ƒ – шифрующая функция).

SPK-узлы на базе клеточных автоматов

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

Пусть имеется однородный обобщенный клеточный автомат CA, задаваемый регулярным ориентированным графом G = (V, E), где V = {v1, v2,..., vN} – множество вершин, E – множество дуг, причем все вершины имеют полустепень захода, равную δ. Пусть при этом диаметр графа равен d (далее будем называть δ степенью захода обобщенного КлА, а d – диаметром обобщенного КлА). Тогда SPK-узлом на базе обобщенного КлА будем называть обобщенный клеточный автомат CA, начальное заполнение ячеек которого представляет собой бит информационного вектора X и k-бит ключевой информации K, N = n+k, осуществляющий преобразование X x K –> Y. В рамках проведенных исследований размер выходного вектора Y выбирался равным размеру входного информационного вектора (рис. 3).


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

Число переменных, от которых должна существенно зависеть локальная функция связи, должно быть равным δ – степени захода обобщенного КлА. Преимуществом данного SPK-узла является то, что на каждом такте работы обобщенного КлА значение каждой вершины зависит от значения других вершин на предыдущем такте. Следовательно, вычисление ее нового состояния никак не связано с вычислением состояния других вершин. Последнее означает, что новое состояние каждой вершины можно вычислять параллельно с вычислением состояний остальных вершин. Это дает существенное преимущество в применении данных узлов в алгоритмах, реализуемых на платформах, где имеется возможность распараллеливать вычисления.

Принципы построения клеточных автоматов

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

  • структура графа;
  • локальная функция связи.

Рассмотрим каждый параметр отдельно.

Выбор структуры графа

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

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

В исследованиях, проведенных А.А. Бардышевым, А.А. Бородиным, Н.Ю. Грозмани, использовались ориентированные графы, которые удовлетворяли условиям, описанным выше. Кроме того, в связи с ориентированностью используемых графов появились как уточняющие, так и дополнительные условия:

  1. Граф не должен иметь параллельных и антипараллельных дуг. То есть если множество Е всех дуг графа содержит дугу (u, v), то это единственная дуга, соединяющая указанные вершины.
  2. Все вершины должны иметь одну и ту же полустепень захода и полустепень исхода, т.е. граф должен быть сильно регулярным.

Одним из важных направлений исследования является анализ зависимости (или отсутствия таковой) сложности реализации клеточного автомата от размера графа, определяющего этот автомат, структуры этого графа и от значения полустепени захода/исхода.

Выбор локальной функции связи

Не менее важным является правильный выбор локальной функции связи обобщенного клеточного автомата. Булева функцияƒi, ассоциированная с каждой из вершин графа автомата, должна удовлетворять условиям, усложняющим криптоанализ алгоритма.

В результате исследований [Сух11], [Клю12в] был предложен ряд условий:

  1. Функция должна существенно зависеть от всех своих аргументов.
  2. Функция должна быть равновесной.
  3. Нелинейность функции3 должна быть максимально большой, при соблюдении в то же время остальных наложенных на нее условий.

Одной из исследовательских задач является изучение зависимости сложности реализации от выбора локальной функции связи.

Для оценки эффективности реализации разработанных на базе SPK-узла симметрических блочных алгоритмов BCAF и BCNS Н.Ю. Грозмани было осуществлено сравнение этих алгоритмов с классическими блочными алгоритмами шифрования – алгоритмом ГОСТ 28147–89 в режиме простой замены и алгоритмом PRESENT. Алгоритм ГОСТ выбран как российский стандарт симметричного шифрования, допускающий низкоресурсную реализацию [Pos10], [Dmu14], а PRESENT – как принятый международный стандарт для низкоресурсной криптографии [ISO-2]. Параметры алгоритмов BCAF и BCNS были выбраны такими же, как и у алгоритма PRESENT: информационный блок – 64 бита, длина ключа – 80 бит.


Для аппаратной реализации указанных алгоритмов была выбрана микросхема ПЛИС Cyclone II EP2C50F484C6, обладающая всеми необходимыми параметрами и обеспечивающая высокое быстродействие по приемлемой цене. Языком программирования аппаратуры был выбран VHDL. По результатам реализации были получены данные о требуемом числе логических элементов и о быстродействии алгоритмов. Данные проведенных экспериментов приведены на рис. 4, 5.


В результате этого и на основании еще целого ряда проведенных исследований можно утверждать, что при использовании параллельных вычислительных устройств реализации блочных шифров, использующих SPK-узлы на основе обобщенных КлА, являются более эффективными, чем реализации шифров, использующих классические S-, P-, K-блоки, вне зависимости от архитектуры построения шифра – легковесной или производительной.

Клеточный автомат в качестве цикловой шифрующей функции обобщенной схемы Фейстеля

В блочных шифрах, имеющих структуру классической схемы Фейстеля, в которых использовался SPK-узел на основе КлА [Клю12а], [Бал12], размерность входных данных SPK-узла (т.е. данных, образующих начальное заполнение КлА) превосходит размерность выхода. Таким образом, можно сказать, что часть вычислений, произведенных клеточным автоматом, не участвует в преобразовании информационного блока и как бы "пропадает даром". Ставя целью наибольшую продуктивность реализации преобразований, участвующих в работе блочного шифра, можно предложить следующую схему.

Пусть размер информационного блока блочного шифра равен (t+1)*m бит. Рассмотрим обобщенный клеточный автомат СА, структура которого задается орграфом G (V, E) с N вершинами, N = t*m. Пусть при этом в графе имеется независимое подмножество вершин4 мощности. Клеточный автомат функционирует в качестве шифрующей функции обобщенной схемы Фейстеля [Scn96], [Жук11]. Происходит это следующим образом:

  • в m ячеек, соответствующих независимому подмножеству вершин графа клеточного автомата, загружается содержимое последних битов информационного блока;
  • в остальные (t–1)*m ячеек клеточного автомата загружается цикловой ключ K;
  • клеточный автомат работает d тактов, где d – диаметр графа клеточного автомата;
  • содержимое всех N = t*m ячеек клеточного автомата складывается с первыми t*m битами информационного блока.

После чего информационный блок циклически сдвигается на m разрядов (см. рис. 6).


Выбор независимого множества для загрузки битов информационного блока обусловлен исследованиями А.А. Бородина, которые показали, что если в обобщенном КлА, используемом в блочном шифре в качестве SPK-узла, можно выбирать заполнение ячеек, соответствующих смежным вершинам графа, то на шифр можно провести атаку по выбранному открытому тексту (Chosen Plaintext Attack). Подобные меры противодействия можно даже усилить, выбирая для записи битов информационного блока вершины, образующие независимое подмножество 2-го порядка. В этой связи появляется целый ряд задач, связанный с соответствующими свойствами ориентированных графов.

Как уже упоминалось выше, использование КлА в равновесных схемах Фейстеля – не вполне экономично, т.к. часть вычислений, проделанных в КлА, не участвует в преобразовании информационного блока. В этом смысле предлагаемый подход более продуктивен – результат всех вычислений, проделанных в КлА, используется в выработке шифртекста. Проведенные исследования также показывают, что для таких конструкций рассеивание и перемешивание информации происходит существенно быстрее, чем при использовании классических S-, P- и K-блоков. Однако для того чтобы предлагать SPK-узлы как актуальную замену классическим S-, P-, K-блокам, требуется проведение более глубокого криптографического анализа предложенной конструкции, что становится важнейшей задачей ближайшего будущего.

Другие криптографические примитивы на базе клеточных автоматов

В довершение следует упомянуть, что клеточные автоматы по самой своей природе весьма подходят для использования в конструкциях хэш-функций, кодов обнаружения модификации информации (MDC – Modification Detection Code) и кодов проверки подлинности сообщения (MAC – Message Authentication Code). В этом направлении предложено достаточно много конструкций. Так, в работах [Dae93], [Mih98], [Yoo98], [Клю13] предлагаются различные конструкции хэш-функций, базирующиеся на использовании клеточных автоматов.

Что касается криптосистем с открытым ключом на базе клеточных автоматов, то их известно очень немного. Еще в 1987 г. Гуань (Guan P.) предложил свою криптосистему [Gua87], стойкость которой базируется на трудности решения системы нелинейных уравнений, что является NP-полной задачей. Задача обратимости многомерных клеточных автоматов лежит в основе стойкости другой криптосистемы с открытым ключом, предложенной Кари (Kari J.) [Kar92] и получившей дальнейшее развитие в [Cla09]. Еще одна криптосистема с открытым ключом на базе клеточных автоматов была предложена в работе [Zhu07], однако она оказалась нестойкой по отношению к атакам по выбранному открытому тексту [Zha14]. Этих недостатков лишена схема, предложенная в [Zha14].

Итог

Подводя итоги, отметим, что клеточные автоматы привлекают все большее внимание криптографического сообщества в связи с тем, что распараллеленность их структуры позволяет увеличивать скорость работы и пропускную способность аппаратных реализаций криптоалгоритмов [Mih98], [Fra04], [Сух11]. Интересные перспективы появляются также при использовании КлА для построения криптографических алгоритмов, не требовательных к вычислительным ресурсам [Жук15].

Автор выражает свою признательность Б.М. Сухи-нину за полезные замечания, сделанные им в процессе обсуждения настоящей работы.

Особо следует сказать о перспективах использования клеточных автоматов в асимметричной криптографии. На сегодняшний день известно сравнительно небольшое число криптосистем с открытым ключом, причем к ним зачастую предъявляются претензии как ввиду их малой скорости работы, так и по поводу недостаточного обоснования их стойкости. Вплоть до самого последнего времени "технологическая база" криптографии с открытым ключом продолжала оставаться чрезвычайно бедной. В основании стойкости таких систем обычно лежит вычислительная трудность решения некоторой задачи для какой-то алгебраической системы, чаще всего – алгебраической системы с элементами числовой природы. В подавляющем большинстве случаев это или задача факторизации больших чисел, или задача дискретного логарифмирования в циклической группе, чаще всего – мультипликативной группе конечного поля. Учитывая тот факт, что числа, как наиболее древние математические объекты, давно изучаются, неудивительны большие достижения в разработке алгоритмов для решения этих задач. В случае очередного успеха в этой области системы, стойкость которых основана на задачах факторизации и вычисления дискретных логарифмов, могут стать значительно более уязвимыми или даже совершенно нестойкими. Еще более печальны перспективы указанных криптосистем в случае появления квантового компьютера, работающего с тысячами кубит (модели квантовых компьютеров, имеющиеся в настоящее время, работают с единицами кубит). Поиск же других алгебраических систем, применимых в криптографии с открытым ключом в постквантовом мире, является трудной задачей и требует вовлечения в криптографический обиход новых математических объектов [Жук03]. В этой связи стоит обратить особое внимание на клеточные автоматы, которые представляют собой некоммутативные алгебраические структуры [Ped92], [Cec10], [Moo95], и более тщательно изучить вопросы их возможного использования в асимметричной криптографии.

___________________________________________
1 Части 1 и 2 читайте в журналах Information Security № 2/2017 и Information Security № 3/2017
2 Клеточный автомат называется обратимым, если каждое его внутреннее состояние имеет единственный прообраз.
3 Под нелинейностью булевой функции понимается расстояние (в метрике Хэмминга) от нее до множества аффинных функций
4 Независимым будем называть такое подмножество вершин орграфа, что расстояние между любыми двумя вершинами из этого подмножества – больше 1. Аналогично – независимым подмножеством 2-го порядка будем называть такое подмножество вершин, что расстояние между любыми двумя вершинами из этого подмножества – больше 2.

Литература

  • [Ric72] Richardson D. Tesse-lations with local transformations. Journal of Computer and System Sciences. – 1972. – 6. – pp. 373–388.
  • [Amo72] Amoroso S., Patt Y.N. Decision procedures for surjectivity and injectivity of parallel maps for tessellation structures // J. Comput. System Sci. – 1972. – 6, № 5. – pp. 448–464.
  • [Sut91] Sutner K. De Bruijn graphs and linear cellular automata // Complex Systems. – 1991. – 5(1). – pp. 19–30.
  • [Sut98] Sutner K. Linear cellular automata and de Bruijn automata // Delorme M., Mazoyer J. (eds.) Cellular Automata: a parallel model. – Kluwer, 1998. – pp. 303–319.
  • [Cul87] Culik K. On invertible cellular automata // Complex Systems. – 1987. – 1(6). – pp. 1035–1044.
  • [Hil91] Hillman D. The structure of reversible one-dimensional cellular automata // Physica D: Nonlinear Phenomena. – 1991. – 52 (2–3). – pp. 277–292.
  • [Kar90] Kari J. Reversibility of 2D cellular automata is unde-cidable // Physica D. – 1990. – 45. – pp. 379–385.
  • [Kar94] Kari J. Reversibility and surjectivity problems of cellular automata // Journal of Computer and System Science. – 1994. – 48 (1) . – pp. 149–182.
  • [Куч04] Кучеренко И.В. О разрешимости обратимости клеточных автоматов // Интеллектуальные системы. – 2004. – 8, № 1–4. – C. 465–482.
  • [Куч12] Кучеренко И.В. Обратимые клеточные автоматы. // Диссертация на соискание ученой степени кандидата физико-математических наук. – М., 2012. – 147 с.
  • [Tof87] Toffoli T., Margolus N. Cellular automata machines: A new environment for modeling. – Cambridge, Mass.: MIT Press, 1987. [Рус. перевод: Тоффоли Т., Марголус Н. Машины клеточных автоматов: пер. с англ. – М.: Мир, 1991.]
  • [Scf08] Schiff J.L. Cellular automata. A Discrete View of the World. – A John Wiley & Sons Inc., Publication. University of Auckland.– 2008.– 279 p.
  • [Mar84] Margolus N. Physicslike models of computation // Physica D: Nonlinear Phenomena. – 1984. – 10. – pp. 81–95.
  • [Vic84] Vichniac G. Simulating physics with cellular automata // Physica D: Nonlinear Phenomena. – 1984. – 10. – pp. 96–115.
  • [Wol84a] Wolfram S. Cellular Automata as Models of Complexity // Nature. – 1984. – 311. – pp. 419–424.
  • [Dur94] Durand B. Inversion of 2D cellular automata: some complexity results // Theoretical Computer Science. – 1994. – 134, № 2. – pp. 387–401.
  • [Клю12б] Ключарёв П.Г. NP-трудность задачи о восстановлении предыдущего состояния обобщенного клеточного автомата // Наука и образование. Электронное научно-техническое издание. – 2012. – № 1.
  • [Ang07] Anghelescu P., Emil-Sofron S. Block Encryption Using Hybrid Additive Cellular Automata // Proc. of 7-th International Conference on Hybrid Intelligent Systems. – 2007. – pp. 132–137.
  • [Kum13] Kumar J.K.J. et al. Improving Resistance against Attack of L2DCASKE Encryption Algorithm by using RCA Rule 30 based S-Box // International Journal of Computer Applications. – 2013. – vol. 70, № 16. – pp. 26–30.
  • [Per08] Peridier V.J. Basic schemes for reversible two-dimensional cellular automata // Complex Systems. – 2008. – 18. – pp. 44–51.
  • [Ser04a] Seredynski F., Pienkosz K., Bouvry P. Reversible cellular automata based encryption // NPC’04, Lecture Notes in Computer Science, vol. 3222. – Springer-Verlag, 2004. – pp. 411–418.
  • [Ser04b] Seredynski F., Bouvry P. Block Encryption Using Reversible Cellular Automata // Proceedings of ACRI 2004, Lecture Notes in Computer Science, vol. 3305. – Springer-Verlag, 2004. – pp. 785–792.
  • [Tri09] Tripathy S., Nandi S. LCASE – Lightweight Cellular Automata-based Symmetric-key Encryption // International Journal of Network Security. – 2009. – vol. 8, № 2. – pp. 243–252.
  • [Wel12] Wells R.D. An analysis of cellular automata in cipher systems. – University of London, 2012.
  • [Xia09] Xia X., Li Y., Xia Z., Wang R. Data Encryption Based on Multi-Granularity Reversible Cellular Automata // Proc. of International Conference on Computational Intelligence and Security. – 2009. – pp. 192–196.
  • [Bha07] Bhattacharya D., Bansal N., Banerjee A., Roy-Chowdhury D. A Near Optimal S-Box Design // ICISS 2007. – Lecture Notes in Computer Science, vol. 4812. – Springer-Verlag, 2007. – pp. 77–90.
  • [Muk07] Mukhopadhyay D. Design and Analysis of Cellular Automata Based Cryptographic Algorithms // Ph. D. thesis. – Indian Institute of Technology, Kharagpur, 2007.
  • [Sza08a] Szaban M., Sere-dynski F. Designing cryptographically strong S-boxes with the use of cellular automata // Annales UMCS Informatica AI VIII. – 2008. – 2. – pp. 27–41.
  • [Sza08b] Szaban, M., Seredynski, F.: Cryptographically Strong S-Boxes Based on Cellular Automata // ACRI 2008. – Lecture Notes in Computer Science, vol. 5191. – Springer-Verlag, 2008. – pp. 478–485.
  • [Sza10a] Szaban M., Nowacki J.P., Drabik A., Seredynski F., Bouvry P. Application of Cellular Automata in Symmetric Key Cryptography // IAIT 2010, CCIS 114. – 2010. – pp. 154–163.
  • [Sza10b] Szaban M., Seredynski F. Properties of Safe Cellular Automata-Based S-Boxes // PPAM 2009, Part II. – Lecture Notes in Computer Science, vol. 6068. – Springer-Verlag, 2010. – pp. 585–592.
  • [Sza11] Szaban M., Seredynski F. Improving quality of DES S-boxes by cellular automata-based S-boxes // J. Supercomput. – 2011. – 57. – pp. 216–226.
  • [Sza12] Szaban M., Seredynski F. Dynamic Cellular Automata-Based S-Boxes // EURO-CAST 2011, Part I. – Lecture Notes in Computer Science, vol. 6927. – Springer-Verlag, 2012. – pp. 184–191.
  • [Lai91] Lai X., Massey J. A Proposal for a New Block Encryption Standard // Advances in Cryptology: EURO-CRYPT 1990 Proceedings. – Lecture Notes in Computer Science, vol. 473. – Springer-Verlag, 1991. – pp. 389–404.
  • [Бал12] Балк Е.А. Исследование применения клеточных автоматов в криптографических алгоритмах с секретным ключом. // Дипломная работа. Научный руководитель – Жуков А.Е. – М.: МГТУ им. Н.Э. Баумана, 2012.
  • [Клю12а] Ключарёв П.Г. Блочные шифры, основанные на обобщенных клеточных автоматах // Наука и образование. Электронное научно-техническое издание. – 2012. – № 1.
  • [Клю12в] Ключарёв П.Г. Построение псевдослучайных функций на основе обобщенных клеточных автоматов // Наука и образование. Электронное научно-техническое издание. – 2012. – № 10.
  • [Сух11] Сухинин, Б.М. Разработка и исследование высокоскоростных генераторов псевдослучайных равномерно распределенных двоичных последовательностей на основе клеточных автоматов. // Диссертация на соискание ученой степени кандидата технических наук. – М., 2011. – 224 с.
  • [Pos10] Poschmann A., Ling S., Wang H. 256 Bit Standardized Crypto for 650 GE – GOST Revisited // CHES 2010, LNCS 6225, pp. 219–233, 2010.
  • [Dmu14] Dmukh A.A., Dygin D.M., Marshalko G.B. A lightweightfriendly modification of GOST block cipher // Математические вопросы криптографии. – 2014. – Т. 5, № 2. – C. 47–55.
  • [ISO-2] ISO/IEC 29192-2, Information technology – Security techniques – Lightweight cryptography – Part 2: Block ciphers. URL: https://www.google.ru/url?sa=t&rct=j&q=&esrc=s&source=web&cd= 6&ved=0ahUKEwjqi7eBzP7RAh-WhHJoKHXf8DO8QFgg8MAU&ur l=http%3A%2F%2Fhsevi.ir%2FRI _Standard%2FFile%2F9839&usg =AFQjCNH7a_gYctv-3ELeIPun-jOuyrYlvFg&bvm=bv.146094739, d.bGs.
  • [Scn96] Schneier B., Kelsey J. Unbalanced Feistel networks and block-cipher design // Fast Software Encryption 1996. – Lecture Notes in Computer Science, vol. 1039. – Springer-Verlag, 1996. – pp. 121–144.
  • [Жук11] Жуков А.Е. Математические модели криптографии I // Защита информации. INSIDE. – 2011. – № 5 (сентябрь – октябрь). – C. 78– 83.
  • [Dae93] Daemen J., Govaerts R., Vandewalle J. A Framework for the Design of One-Way Hash Functions Including Cryptanalysis of Damgеrd's One-Way Function Based on a Cellular Automaton // Advances in Cryptology – Proceedings of ASI-ACRYPT '91. – Lecture Notes in Computer Science, vol. 739. – Springer-Verlag, 1993. – pp. 82–96.
  • [Mih98] Mihaljevic M.J., Zheng Y., Imai H. A Cellular Automaton Based Fast One-Way Hash Function Suitable for Hardware Implementation // Proceedings of Public Key Cryptography '98. – Lecture Notes in Computer Science, vol. 1431. – Springer-Verlag, 1998. – pp. 217–233.
  • [Yoo98] Yoon J.W., Shin S.U., Rhee K.H. A secure hash function based on cellular automata // Proceedings of the 1-st International Conference on Information Security and Cryptology '98. – Korea Institute of Information Security and Cryptology (KIISC), 1998. – pp. 93–105.
  • [Клю13] Ключарёв П.Г. Криптографические хэш-функции, основанные на обобщенных клеточных автоматах // Наука и образование. Электронное научно-техническое издание. – 2013. – № 1.
  • [Gua87] Guan P. Cellular automaton public-key cryptosys-tems // Complex Systems. – 1987. – vol. 1. – pp. 51–57.
  • [Kar92] Kari J. Cryptosystems based on reversible cellular automata. Tech. rep. – Finland, University of Turku, 1992.
  • URL: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10. 1.1.27.5300
  • https://www.researchgate.net/publication/2350190_Cryptosys-tems_Based_on_Reversible_Ce llular_Automata.
  • [Cla09] Clarridge A., Salomaa K. A cryptosystem based on the composition of reversible cellular automata // LATA’2009, Lecture Notes in Computer Science, vol. 5457. – 2009. – pp. 314–325.
  • [Zhu07] Zhu B., Zhou L. Public key cryptosystem based on cellular automata // Journal of Nanjing University of Science and Technology. – 2007.
  • [Zha14] Zhang X., Lu R., Zhang H., Xu C. A New Public Key Encryption Scheme based on Layered Cellular Automata // KSII Transactions on Internet and Information Systems. – 2014. – vol. 8, № 10. – pp. 3572–3590.
  • [Fra04] Franti E., Slav C., Balan T. Design of Cellular Automata Hardware for Cryptographic Application // Proc. of CAS’2004 Int. Semiconductor Conference. – 2004. – 2. – pp. 463–466.
  • [Жук15] Жуков А.Е. Низкоресурсная криптография: актуальность, востребованность, основные требования и подходы. – Защита информации. INSIDE.– 2015, № 4, с. 20–31; № 5, с. 71–81.
  • [Жук03] Жуков А.Е. Криптография с открытым ключом и нечисловые алгебраические системы. – Безопасность информационных технологий. – 2003. – Вып. 1, с. 22–29.
  • [Ped92] Pedersen J. Cellular automata as algebraic systems // Complex Systems. – 1992. – 6. – pp. 237–250.
  • [Cec10] Ceccherini-Silberstein T., Coornaert M. Cellular automata and groups // Springer Monographs in Mathematics. – Berlin: Springer-Verlag, 2010. – xx+439 p.
  • [Moo95] Moore C. Non-abelian cellular automata. Paper provided by Santa Fe Institute in its series Working Papers with number 95-09-081. – 1995.
  • URL: https://pdfs.semantic-scholar.org/cc21/64537a37aaa4660a9f2aeedc08c969b88dda.pdf.

Опубликовано: Журнал "Information Security/ Информационная безопасность" #4, 2017

Приобрести этот номер или подписаться

Статьи про теме