Uploaded by Дима Павлович

Аппаратно-программная реализация генератора Геффе

advertisement
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ
Национальный исследовательский
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ТРУДЫ
ПЯТНАДЦАТОЙ
ВСЕРОССИЙСКОЙ КОНФЕРЕНЦИИ
СТУДЕНЧЕСКИХ
НАУЧНО-ИССЛЕДОВАТЕЛЬСКИХ
ИНКУБАТОРОВ
Томск, 17–19 мая 2018 г.
ТОМСК
«Издательство НТЛ»
2018
Аппаратно-программная реализация генератора Геффе
А.С. Перемитин, А.Н. Сарайкин
Томский государственный университет, г. Томск, Россия
В настоящее время задача обеспечения безопасности данных является актуальной. Криптографические методы защиты информации [1, 2]
постоянно развиваются. Поскольку шифрование и расшифрование происходят с использованием вычислительной техники, то возникает задача поиска способов повышения скорости шифрования. В данной работе
рассматривается поточное шифрование, т.е. каждая буква открытого
текста шифруется с помощью соответствующей буквы ключа. Для генерации ключей используются так называемые генераторы ключевого
потока, на выходе которых должна быть сгенерирована псевдослучайная последовательность, т.е. последовательность, период которой очень
велик. Это требование является обоснованным, поскольку, с точки зрения криптоанализа, периодичность в ключевой последовательности
влияет на периодичность шифрованного текста, что, в свою очередь,
понижает криптостойкость. Кроме того, аппаратные реализации генераторов работают быстрее программных. Поэтому данная работа посвящена реализации генератора Геффе [1, 2] на программируемой логической интегральной микросхеме (ПЛИС) [3].
Основная часть
Генератор Геффе является генератором ключевого потока и может
использоваться для потокового шифрования. Структура генератора
представлена на рис. 1. Генератор состоит из трех регистров сдвига с
обратной связью и мультиплексора. Длины регистров сдвига n1, n2 и n3
должны быть взаимно простыми, а в ячейки регистра помещаются логические 0 или 1 в зависимости от начального заполнения регистров.
Рис. 1. Генератор Геффе
140
Мультиплексор реализует булеву функцию x1x2⊕x2x3⊕x3, где x1, x2 и x3
являются выходными битами первого, второго и третьего регистров
сдвига в каждый такт времени соответственно.
Реализация генератора Геффе производилась на базе ПЛИС Altera
Cyclone V. Для этого использовалась программа Quartus и язык программирования VerilogHDL. На начальном этапе был реализован делитель частоты, который предназначен для получения нужной частоты
сигнала и визуализации работы регистра сдвига. Каждый элемент генератора Геффе (регистры сдвига, делитель частоты и мультиплексор)
индивидуально описывался программой на языке VerilogHDL, по которой в дальнейшем создавалась блок-диаграмма данного элемента. Пример программы, описывающей работу регистра сдвига с обратной связью, представлен на рис. 2. Блок-диаграмма данного регистра сдвига
изображена на рис. 3.
Рис. 2. Программа, описывающая работу регистра сдвига
с линейной обратной связью
Рис. 3. Блок-диаграмма регистра сдвига с линейной обратной связью
141
Все элементы генератора Геффе соединялись в соответствии со схемой, представленной на рис. 1. В итоге получилась скомпилированная в
Quartus схема генератора Геффе. Фрагмент полученной схемы представлен на рис. 4.
В дальнейшем предполагается провести экспериментальные исследования по установлению зависимости периода выходной последовательности генератора Геффе (ключевой последовательности) от начального заполнения регистров сдвига с обратной связью. Кроме того, планируется реализовать алгоритмы поточного шифрования и расшифрования, используя разработанный генератор Геффе.
Рис. 4. Фрагмент блок-диаграммы генератора Геффе
142
СПИСОК ЛИТЕРАТУРЫ
1. Шнайер Б. Прикладная криптография: протоколы, алгоритмы, исходные тексты
на языке Си. М.: Триумф, 2002. 815 с.
2. Шнайер Б. Секреты и ложь: безопасность данных в цифровом мире. СПб.: Питер,
2003. 367 с.
3. Национальная библиотека им. Н.Э. Баумана. URL: https://ru.bmstu.wiki/ПЛИС.
_______________
Перемитин Андрей Сергеевич, студент; andreuperemitin1997@gmail.com;
Сарайкин Антон Николаевич, студент; toha199811@gmail.com
143
Download