УДК 004.056.55, 004.627 О.О. Евсютин, А.А. Шелупанов
Приложения клеточных автоматов в области информационной безопасности и обработки данных
Рассмотрены приложения клеточных автоматов в криптографии и сжатии цифровых изображений. Построена модель симметричного блочного шифра на основе обратимого клеточного автомата и модель сжатия цифровых изображений на основе декоррелирующего клеточного преобразования. Сформулирован алгоритм выбора базисов, получаемых из состояний развития клеточного автомата.
Ключевые слова: клеточный автомат, модель, шифрование, обработка изображений, сжатие.
Существует ряд приложений теории клеточных автоматов, направленных на обработку данных. Наиболее значимые результаты в этой области достигнуты применительно к криптографическим методам защиты информации и методам обработки цифровых изображений.
Криптосистемы обратимых клеточных автоматов
Современная криптография рассматривает два класса криптосистем (шифров): симметричные и асимметричные, - первый из которых, в свою очередь, включает блочные и поточные криптосистемы [1]. Остановимся на блочных симметричных шифрах и рассмотрим классическую модель шифрования одного блока сообщения, представленную на рис. 1.
Вектор раундовых ключей И
Рис. 1. Модель шифрования блока данных симметричным блочным шифром
Согласно К. Шеннону [2], надежное шифрование достигается путем перемешивания и рассеивания информации в ходе криптографического преобразования, причем простейшим способов достижения перемешивания является подстановка, а рассеивания - перестановка. Такого рода операции, реализуемые с помощью таблиц замен, битовых сдвигов, операций над элементами алгебраических структур, вместе с операцией побитового сложения по модулю два составляют основу современных симметричных алгоритмов шифрования. Обычно задается некоторая последовательность элементарных криптографических операций, многократно применяемая к преобразуемому блоку данных, в связи с чем подобные шифры называют раундовыми, или итеративными.
Описанный подход к достижению надежного шифрования может быть реализован с помощью математического аппарата теории клеточных автоматов, поскольку динамика клеточных автоматов со специально выбранными для этого параметрами обладает свойствами и перемешивания, и рассеивания.
Рассмотрим два способа построения криптосистем на основе клеточных автоматов:
1. Клеточный автомат используется в качестве одного из элементов схемы криптографического преобразования совместно с другими операциями над данными в рамках классической модели симметричного блочного шифра (см. рис. 1).
2. Криптографическое преобразование определяется непосредственно развитием клеточного автомата, и один шаг развития выступает в качестве одного раунда шифрования. В этом случае дина-
мика клеточного автомата должна обладать свойством обратимости. К нетривиальным клеточным автоматам, обладающим подобным свойством, относятся клеточные автоматы с динамикой второго порядка, клеточные автоматы на разбиении, а также клеточные автоматы с локальными функциями перехода, построенными на основе логической операции ХОЯ [3]. Соответствующая модель представлена на рис. 2.
Правило развития клеточного автомата т
Обратное правило развития клеточного автомата т
Блок
Клеточный шифртекста С, Клеточный
автомат автомат
Рис. 2. Модель шифрования блока данных симметричным блочным шифром, построенным на основе клеточного автомата
В представленной модели обратимое правило развития клеточного автомата принято в качестве переменного параметра, определяемого секретным ключом шифрования, а все прочие параметры (размерность и размеры решетки, алфавит внутренних состояний, окрестность и шаблон соседства) - фиксированы, в связи с чем вводится отображение к: {0,1} ^ Т, где ц - битовая длина ключа, Т - множество допустимых локальных функций перехода заданного клеточного автомата. Если выделить в множестве Т подмножество Т локальных функций перехода, обладающих свойствами перемешивания и рассеивания, то отображение к примет вид к: {0,1} ^ Т .
Получение отображения к является одной из основных задач при конструировании криптосистем обратимых клеточных автоматов, кроме того, необходимо иметь правило, позволяющее определить принадлежность функции развития клеточного автомата множеству Т .
Рассмотрим такое правило применительно к клеточному автомату на разбиении
САр = (Zп, (#1,...,Мп), А, (т^...,тп), 8, , множество обратимых функций развития (блочных функ-
ций перехода) которого представляет собой объединение всех возможных симметрических групп
п
Т = и 8 *, где * = |А|гПт для некоторого вектора (т1,...,тп) . Будем считать, что блочная функция перехода у клеточного автомата САр обладает свойствами перемешивания и рассеивания, если за заданное число шагов развития И каждая отдельно взятая клетка решетки распространит свое влияние на все другие клетки. Все подобные функции объединим в множество ТИ .
Клеточный автомат на разбиении обладает следующим очевидным свойством: если в момент
п
__ П т1
времени t все блоки решетки одинаковы, т.е. Бг- =а0 V/ = 1,1, где а0 е А1 1
п —■
I = П —~ , то в
■ 1 т/
1=1 1
момент времени X + 1 все они перейдут в одно и то же обновленное состояние у(а0) . Изменение состояния произвольной клетки решетки в момент времени X приведет к появлению блока Бг в состоянии а1 , где 1 < г < I и а1 ф а0. Соответственно, в момент времени X + 1 блок Бг перейдет в состояние у(оц) , а остальные I-1 блоков - в состояние у(а0) . Однако после обновления состояния решетки произойдет смена схемы разбиения, в результате чего клетки решетки, составляющие блок Бг, окажутся в двух новых блоках Бг = 01 и Б г+1 = 02 ( Б г - = в 2 - в зависимости от схемы разбиения), как это показано на рис. 3, где представлен отрезок истории
развития одномерного клеточного автомата на разбиении CAр = ^, 18, {0,1}, 3, [(б), (2) у) с блочной
функцией перехода у = 1
000 001 010 011 100 101 110 111 100 110 011 101 000 111 001 010
а0
а1
г-
г*
а0
X + 1
а
а
а
0
0
0
в
в
в
в
в
в
0
0
0
2
0
У0 У0 У1 У2 У0 У0
X + 2
§0 80 81 82 83 80
X + 3
Рис. 3. Распространение влияния одной клетки на всю решетку клеточного автомата на разбиении
В наилучшем случае в момент времени X + 2 указанные блоки перейдут в два новых состояния у(а1) и у(а2) , что при очередной смене схемы разбиения даст уже три блока, состояния которых отличаются от состояния, одинакового для всех прочих блоков решетки. И, таким образом, к некоторому моменту времени X + ?1 влияние измененной клетки распространится на всю решетку клеточного автомата. Время распространения, т.е. значение ?1 определяется блочной функцией развития, свойства перемешивания и рассеивания которой мы хотим оценить.
На основе сказанного сформулируем алгоритм, позволяющий определить принадлежность функции развития клеточного автомата на разбиении множеству Тк (для упрощения ограничимся одномерным случаем).
Вход:
- отрезок ряда неотрицательных целых чисел А = {0,1, 2,..., к — 1};
- пара натуральных чисел N, т > 2 , таких, что N = т|А|т ;
- вектор-строка 8 = )) s'j е {0,...,т — 1};
- подстановка у е 8^ ;
- целое к.
Выход:
Ответ на вопрос: принадлежит ли блочная функция перехода у множеству Тк ?
Шаг 1. Для всех г от 1 до N полагаем сг ^ 0.
Шаг 2. Для всех г от 1 до к выполнить:
Шаг 2.1. Обновить состояние решетки С клеточного автомата согласно блочной функции перехода у и схеме разбиения s'j (оё г).
Шаг 3. Полагаем Ь ^ {0}т .
Шаг 4. Пока Ь ф {к — 1}т , выполнять:
Шаг 4.1. Полагаем х ^ 0 .
Шаг 4.2. Для всех г от 0 до |А|т — 1 выполнить:
Шаг 421 Если (сгт , Ст+1..... Ст+т—1) = Ь , то вычИслИть х ^ х + 1.
Шаг 4.3. Если х > 2 , то вернуть отрицательный ответ. В противном случае продолжить.
Шаг 4.4. Перейти к следующему значению Ь .
Шаг 5. Вернуть положительный ответ.
Описанный подход к исследованию свойств перемешивания и рассеивания функций развития клеточных автоматов можно распространить и на алгоритмы хэширования, тем более что один из возможных способов построения хэш-функций предполагает их построение на основе симметричных блочных алгоритмов шифрования.
Сжатие цифровых изображений с помощью клеточных автоматов
Другим приложением теории клеточных автоматов, опирающимся на использование клеточных автоматов не в качестве среды моделирования неких процессов или явлений, а в качестве средства преобразования данных [4], является обработка цифровых изображений, включающая в себя такие методы, как улучшение, восстановление, распознавание, сжатие и т. д. Остановимся на последнем из них.
Отличительной особенностью наиболее распространенных непрерывно -тоновых (а также полутоновых) цифровых изображений является близость друг другу значений соседних пикселей в пределах некоторой локальной области, называемая пространственной избыточностью [5]. Такого рода избыточность может быть устранена с помощью специального ортогонального декоррелирующего преобразования с тем, чтобы сделать возможным статистическое кодирование преобразованных элементов изображения.
Рассмотрим математическую модель сжатия цифровых изображений, декоррелирующее преобразование в составе которой построено на основе математического аппарата теории клеточных автоматов (рис. 4).
Параметры алгоритмов построения и выбора I базисов
Построение базиса декоррелирующего
Предвари-
тельная
обработка
Декоррелирующее преобразование Т
Квантование
элементов
изображения
Статистическое
кодирование
Г
Рис. 4. Модель сжатия цифрового изображения на основе декоррелирующего клеточного преобразования
Преобразование элементов цифрового изображения к виду, когда между ними отсутствует пространственная избыточность, построенное с использованием динамики клеточного автомата, назовем декоррелирующим клеточным преобразованием [6]. В свою очередь квадратную матрицу
С=( )у=1^=1, такую, что декоррелирующее клеточное преобразование осуществляется по формуле
О = С • Р • Ст , (1)
назовем базисом декоррелирующего клеточного преобразования, а попарно взаимно ортогональные строки данной матрицы - базисными векторами.
Процесс получения декоррелирующих клеточных преобразований состоит из двух этапов. На первом этапе осуществляется построение базиса декоррелирующего преобразования из состояний развития клеточного автомата. Для этого задается начальное состояние решетки автомата и выбирается нужное количество состояний из соответствующей истории развития, после чего значения клеток решетки заменяются коэффициентами из заранее определенного множества.
Однако изменяя значения параметров клеточного автомата на разбиении и рассматривая различные истории его развития, можно получить достаточно большое количество различных ортогональных базисов, поэтому необходим алгоритм, позволяющий выбирать базисы с нужными характеристиками из множества получаемых. К таким характеристикам отнесем количество и расположение низкочастотных и высокочастотных составляющих среди преобразованных элемен-
тов данных, величину разброса абсолютных значений низкочастотных составляющих, а также знаки низкочастотных составляющих.
Алгоритм выбора ортогональных базисов, получаемых из состояний развития клеточного автомата, представлен ниже:
Вход:
г' (
- матрица С = (с.) г=1, . =;
- вектор-строка Р = (/г )^=1, ^ е{0,...,т-1};
- вещественное 0 <^< 1 ;
- целое 1 < г < N;
N N
- вектор-строка Н = (}ц)■=, } е{0,1}, V} = г ;
г=1
- вещественное 0 ^< 1 ;
- целое е е {0,1} .
Выход:
Ответ на вопрос: удовлетворяет ли базис С заданным условиям количества, расположения, разброса и знака низкочастотных составляющих?
Шаг 1. Для г от 1 до N выполнить:
Шаг 1.1. Полагаем щ ^ 0 .
Шаг 1.2. Для . от 1 до N выполнить:
2
Шаг 1.2.1. Вычислить аг- ^ аг- + с. .
1 N
Шаг 1.3. Вычислить gi <-£ /к • єкі .
аі к=1
1 N
Шаг 2. Вычислить M <-----V ^ .
N^V1k
Шаг 3. Пока Ы > 0 , выполнять следующее:
Шаг 3.1. Полагаем I^0 .
Шаг 3.2. Для г от 1 до N выполнить:
а ■
Шаг 3.2.1. Вычислить хг <-- .
---------- Ы
Шаг 3.2.2. Если |хг| , то вычислить I^ I + 1 и хг ^ 1. В противном случае Хг ^ 0 .
Шаг 3.2.3. Если е = 1, Хг = 1 и х г-<0 , то вернуть отрицательный ответ, так как была обнаружена отрицательная низкочастотная составляющая. В противном случае перейти к следующему шагу.
~ Ы'
Шаг 3.3. Если I = 0, то вычислить Ы ^
и перейти к шагу 3. В противном случае
_ 2
перейти к шагу 4.
Шаг 4. Если I ф г, то вернуть отрицательный ответ, так как количество низкочастотных составляющих не совпадает с заданным. В противном случае перейти к следующему шагу.
Шаг 5. Полагаем у ^ Ы и у2 ^ 0 .
Шаг 6. Для г от 1 до N выполнить:
Шаг 6.1. Если Хг ф }, то вернуть отрицательный ответ, так как было обнаружено
несовпадение с задаваемым маской Н расположением частотных составляющих. В противном случае перейти к следующему шагу.
Шаг 6.2. Если |хг| < у и Хг = 1, то полагаем у ^ |хг|.
Шаг 6.3. Если Ы > у2 , то полагаем у2 ^ \х\ .
У
Шаг 7. Если — ^, то вернуть положительный ответ. В противном случае вернуть У2
отрицательный ответ, так как отношение минимальной по модулю низкочастотной составляющей к максимальной меньше заданного значения параметра разброса V.
Ниже представлен один из ортогональных базисов, полученных из состояний развития 2-битового клеточного автомата на разбиении, при следующих значениях входных параметров рассмотренного алгоритма выбора: Р = [100 110 120 130 140 150 165 175], ^ = 0,6,
Н = [1 0 10 10 1 0], v = 0,85, е = 1.
С =
-0,5 -1 -1 1 1 -1 0,5 1
-1 1 0,5 1 1 1 1 -0,5
0,5 -1 -1 -1 1 1 0,5 -1
1 -1 0,5 1 -1 1 1 0,5
-1 -1 1 -0,5 0,5 1 -1 1
1 0,5 1 -1 1 -0,5 1 1
-1 0,5 -1 -1 -1 0,5 1 1
1 1 -1 0,5 0,5 1 -1 1
(2)
Особенностью декоррелирующего преобразования, построенного на основе представленного базиса, является наличие в частотном спектре равного количества низкочастотных и высокочастотных составляющих, как это можно увидеть ниже (рис. 5).
Рис. 5. Результат преобразования двумерной дискретной функции, обладающей пространственной избыточностью
В заключение необходимо отметить, что при восстановлении изображений, сжатых с сильным квантованием, которое сопровождается потерей значительной части информации, сосредоточенной в высокочастотных составляющих, возникают искажения, называемые артефактами сжатия [7]. Для рассматриваемого декоррелирующего преобразования такие артефакты носят шумообразный характер, изображение становится зернистым, однако распадения на блоки и потери мелких деталей, как в случае JPEG, или появления ложных контуров, как в случае JPEG 2000, не наблюдается (рис. 6).
Рис. 6. Артефакты сжатия, характерные для ШВв, ДБИв 2000 и декоррелирующего клеточного преобразования, построенного на основе базиса (2)
Заключение
1. Построена модель симметричного блочного шифра на основе обратимого клеточного автомата.
2. Предложен подход к исследованию свойств перемешивания и рассеивания информации в ходе развития клеточного автомата применительно к клеточным автоматам на разбиении.
3. Построена модель сжатия цифровых изображений на основе математического аппарата теории клеточных автоматов. Определены характеристики, по которым должен производиться выбор ортогональных базисов, получаемых из состояний развития клеточного автомата, и сформулирован алгоритм выбора.
Литература
1. Смарт Н. Криптография. - М.: Техносфера, 2005. - 528 с.
2. Шеннон К. Работы по теории информации и кибернетики. - М.: ИЛ, 1963. - 830 с.
3. Тоффоли Т. Машины клеточных автоматов: пер. с англ. / Т. Тоффоли, Н. Марголус. - М.: Мир, 1991. - 280 с.
4. Евсютин О.О. Использование клеточных автоматов для решения задач преобразования информации / О.О. Евсютин, С.К. Росошек // Доклады ТУСУРа. - 2010. - № 1(21), ч. 1. - С. 173-174.
5. Евсютин О. О. Модели сжатия данных // Промышленные АСУ и контроллеры. - 2012. - № 5. -С. 61-65.
6. Евсютин О.О. Декоррелирующие клеточные преобразования // Тр. 54-й науч. конф. МФТИ «Проблемы фундаментальных и прикладных естественных и технических наук в современном информационном обществе». Управление и прикладная математика. Т. 2. - М.: МФТИ, 2011. - С. 69-70.
7. Сэломон Д. Сжатие данных, изображений и звука. - М.: Техносфера, 2004. - 368 с.
Евсютин Олег Олегович
Аспирант каф. комплексной информационной безопасности электронно-вычислительных систем ТУСУРа
Тел.: +7-923-403-09-21 Эл. почта: [email protected]
Шелупанов Александр Александрович
Д-р техн. наук, профессор, проректор по научной работе ТУСУРа Тел.: 8 (382-2) 41-34-26 Эл. почта: [email protected]
Evsutin O.O., Shelupanov A.A.
Applications of cellular automata in the field of information security and data processing
The applications of cellular automata in cryptography and digital image compression are investigated. The symmetric block cipher model is built on the base of reversible cellular automaton. The digital image compression model is built on the base of decorrelating cellular transformation. The algorithm of bases selection, generated from the evolving states of cellular automaton, is defined.
Keywords: cellular automaton, model, encryption, image processing, compression.