Научная статья на тему 'Аппаратная реализация шифрсистемы, основанной на автомате Закревского'

Аппаратная реализация шифрсистемы, основанной на автомате Закревского Текст научной статьи по специальности «Математика»

CC BY
275
45
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по математике, автор научной работы — Милошенко Александр Викторович

This paper presents a hardware implementation in FPGA (field-programmable gate array) of the Zakrevskij FSM-based cryptosystem. Using developed software, we generate a FSM (Finite State Machine) and build the VHDL code for the FSM. Then using Xilinx WebPack Design Software, we program an FPGA integrated circuit. We have evaluated the implementation in FPGA of the FSMbased cryptosystem from the point of view of state encoding style.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

A hardware implementation of the cryptosystem based on the zakrevskij FSM

This paper presents a hardware implementation in FPGA (field-programmable gate array) of the Zakrevskij FSM-based cryptosystem. Using developed software, we generate a FSM (Finite State Machine) and build the VHDL code for the FSM. Then using Xilinx WebPack Design Software, we program an FPGA integrated circuit. We have evaluated the implementation in FPGA of the FSMbased cryptosystem from the point of view of state encoding style.

Текст научной работы на тему «Аппаратная реализация шифрсистемы, основанной на автомате Закревского»

ЛИТЕРАТУРА

1. Biryukov A., Shamir A. Real Time Cryptanalysis of the Alleged A5/1 on a PC // Preproc.

FSE’ 7. 2000. P. 1-18.

УДК 004.056.55

АППАРАТНАЯ РЕАЛИЗАЦИЯ ШИФРСИСТЕМЫ, ОСНОВАННОЙ НА

АВТОМАТЕ ЗАКРЕВСКОГО1

А. В. Милошенко

На сегодняшний день встречается мало примеров использования конечных автоматов в качестве аппаратных шифраторов. Разработан прототип шифрсистемы, построенной на базе автомата Закревского [1] с заданными свойствами, в виде программно-аппаратного комплекса. Программная часть комплекса включает в себя генератор шифрующих автоматов и генератор ключей (подмножество переходов автомата), а также транслятор с табличного задания абстрактного автомата на язык описания аппаратуры VHDL. Аппаратную часть комплекса составляет ПЛИС (программируемая логическая интегральная схема), программирование которой осуществляется с помощью САПР Xilinx ISE. В ходе экспериментов выявлен оптимальный способ кодирования состояний автомата.

Для описания автоматной шифрсистемы потребуются следующие определения.

Определение 1. Конечным автоматом A называется пятерка (S, X, Y, ф,<^), где S — конечное непустое множество состояний; X и Y — конечные входной и выходной алфавиты соответственно, причем далее считается, что |X| = |Y|; ф : S х X ^ S и ^ : S х X ^ Y — функции переходов и выходов соответственно.

Определение 2. Автомат A является автоматом с биективной функцией выходов, если для любого s G S функция ips(x) = <^(s,x) определяет взаимно однозначное отображение X на Y. Автоматом Закревского будем называть сильносвязный конечный автомат с биективной функцией выходов.

Если функции ф и ^ определены для всех пар (s, x) G SхX, то автомат A называется полностью определенным, иначе частичным. Таким образом, полностью определенный автомат A при фиксированном состоянии s реализует отображение fs множества входных слов X* на множество выходных слов Y*. Известно [2], что для полностью определенного автомата A, реализующего {fs : s G S}, существует обратный автомат A-1, который реализует {f—1 : s G S}, если A есть автомат Закревского (АЗ).

Определение 3. Шифрсистема на базе АЗ — шифрсистема, в которой АЗ A используется для шифрования, а обратный автомат A-1 —для расшифрования. Считается, что у АЗ A функция переходов ф является частичной. Произвольное доопределение функции ф вместе с начальным состоянием являются ключом шифрсистемы.

Ясно, что количество возможных ключей шифрсистемы на базе АЗ равно |S| • |S|n, где n — количество пар (s,x), на которых функция ф не определена.

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

1) случайность — равномерное и случайное распределение значений функций ф и <^;

1 Работа выполнена в рамках реализации ФЦП «Научные и научно-педагогические кадры инновационной России» на 2009-2013 гг. (гос. контракт № П1010).

2) минимальность — не существует автомата с меньшим числом состояний, эквивалентного исходному.

Реализация автоматной шифрсистемы на базе ПЛИС проходит в несколько этапов (рис. 1).

Рис. 1. Этапы реализации автоматной шифрсистемы на базе ПЛИС

Генераторы автоматов и ключей, а также транслятор с табличного описания автомата на язык VHDL реализованы программно. Генератор автоматов строит таблицу переходов и выходов (ТПВ) частичного автомата Закревского с заданным n. При этом сильносвязность достигается построением случайного цикла по всем состояниям в графе переходов автомата, минимальность — генерированием разных столбцов в таблице выходов автомата, случайность — использованием генератора псевдослучайных чисел на основе простых чисел Мерсенна.

Транслятор по ТПВ частичного автомата генерирует VHDL-код шифратора. Далее на основе полученного VHDL-кода с помощью САПР Xilinx ISE программируется ПЛИС. Также с помощью генератора ключей можно получить псевдослучайный ключ. При этом передача ключа осуществляется через входную шину данных ПЛИС, после чего ключ хранится в памяти шифратора на протяжении всего сеанса шифрования.

Проведены эксперименты по реализации АЗ на ПЛИС Spartan3 XA3S400 с различным количеством входных (выходных) символов и состояний, а также при разных встроенных в САПР Xilinx ISE способах кодирования состояний. Оказалось, что лучшим способом кодирования (с точки зрения утилизации ресурсов микросхемы и быстродействия) для данной задачи является метод One-Hot, когда каждое состояние кодируется булевым вектором длины |S|, в котором только одна компонента равна единице. В частности, для автомата Закревского с |X| = |Y| = 32 и |S| = 100 количество используемых Slice составило 1715 (или 429 CLB), т. е. 47% от возможного. При этом максимально возможная частота работы ПЛИС равна 58 МГц, т. е. максимальная скорость работы достигает 290 Мбит/с. Таким образом, наши результаты сравнимы с результатами из [3] по реализации на ПЛИС известных блочных шифров (TripleDES, IDEA и др.).

ЛИТЕРАТУРА

1. Закревский А. Д. Метод автоматической шифрации сообщений // Прикладная дискретная математика. 2009. №2. С. 127-137.

2. Тренькаев В. Н., Колесников Р. Г. Автоматный подход к атакам на симметричные шифры // Вестник Томского госуниверситета. Приложение. 2007. №23. C. 130-135.

3. Kitsos P., Sklavos N., Galanis M. D., Koufopavlou O. 64-bit Block ciphers: hardware implementations and comparison analysis // Computers and Electrical Engineering. 2004. No. 30. P. 593-604.

i Надоели баннеры? Вы всегда можете отключить рекламу.