Автоматизированная система криптографических преобразований по ГОСТ Р 34.12–2015
Условия применения для существующих стандартов криптографических преобразований метода конечного автомата на основе "жесткой" логики, который не использует ресурсы центрального процессора и увеличивает скорость обработки данных. Оценка его преимуществ.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 28.02.2019 |
Размер файла | 1,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
1
Размещено на http://www.allbest.ru/
Автоматизированная система криптографических преобразований по ГОСТ Р 34.12-2015
В статье исследуется возможность применения для существующих стандартов криптографических преобразований метода конечного автомата на основе «жесткой» логики, который не использует ресурсы ЦП и позволяет увеличить скорость обработки входных данных. Автомат на «жесткой» логике выполнен с применением логических элементов, таких как: конъюнкторов (элементы «И»), дизъюнкторов (элементы «ИЛИ»), инверторов (элементы «НЕ»), их комбинаций (элементы «И-НЕ», «ИЛИ-НЕ», «И-ИЛИ-НЕ» и т.п.), а также включает в себя и более сложные элементы - дешифраторы (DC), мультиплексоры (MS), элементы памяти (триггера).
Для корректной работы автомата необходимо, чтобы после завершения выполнения алгоритма автомат вернулся в начальное состояние. Таким образом можно совместить начальное и конечное состояния автомата. «Жесткость» автомата заключается в строгой последовательности выполнения алгоритма в соответствии с разработанной комбинационной логикой схемы, реализующей функцию переходов и состояний автомата.
Методы криптографического преобразования служат для предотвращения несанкционированного доступа сторонних лиц к конфиденциальным данным пользователей.
Развитые страны разрабатывают свои стандарты алгоритмов криптографических преобразований, обязывающие их применение для всех заинтересованных организаций. В России такими стандартами являются ГОСТ 28147-89 (Магма) и ГОСТ Р 34.12-2015 [3] (Блочный шифр «Кузнечик»). В США применяется стандарт AES (Advanced Encryption Standard).
Реализация алгоритмов криптографических преобразований требует применение вычислительных средств потоковой обработки данных значительно затрачивающие ресурсы ЦП.
Функциональная схема автоматизированной системы криптографических преобразований представлена на рисунке 1.
Размещено на http://www.allbest.ru/
1
Размещено на http://www.allbest.ru/
Рис. 1. Функциональная схема автоматизированной системы криптографических преобразований
криптографический автомат процессор автоматизированный
Где:
DD1 - микросхема ПЛИС, выполняет криптографические
преобразования данных по ГОСТ Р 34.12-2015;
DD2 - микросхема ППЗУ, необходима для хранения значений поля Галуа (216), таблицы замен, итерационных констант для криптографических преобразований и итерационных констант для выработки раундовых ключей.
DD3 - микросхема USB 2.0 контроллер, служит для передачи ключа, хранящегося на FLash-носителе по USB интерфейсу в память ПЛИС;
DD4 - микросхема USB 2.0 контроллер, служит для передачи входных данных (открытые данные) по USB интерфейсу из ПК1 в модуль;
DD5, DD6 - микросхемы стабилизаторы напряжения, необходимы для подачи питания на ПЛИС, ППЗУ;
DD7 - микросхема приемопередатчика RS-485.
Описание работы автоматизированной системы криптографических преобразований
Для защиты от несанкционированного доступа (НСД) ключ загружается отдельно от данных, через разъем X1 на DD3 [4]. Flashноситель с ключом должен быть недоступен для рядовых пользователей и должен храниться только у персонала, обладающего соответствующим допуском.
После подключения модуля к ПК 1 через разъем X2, открытые входные данные поступают на DD4 (USB 2.0) по цепи «D+». Выходные данные c DD4, по цепи «Din_data» поступают на вход в DD1 (ПЛИС) [5]. По цепи «DSin_data» в ПЛИС передается строб данных (сигнал разрешения на запись).
Ключ поступает на DD3 (USB 2.0) по цепи «D+». Выходные данные из контроллера DD3 по цепи «Din_key», поступают в ПЛИС. По цепи «DSin_key» в ПЛИС передается строб данных (сигнал разрешения на запись).
После выполнения X-преобразования согласно ГОСТ Р 34.12-2015, по команде «read» поступает запрос на чтения информации, хранящейся в DD2 (ППЗУ) [6]. По шине «addr» передается адрес ячейки из которой нужно считать данные. Выходные данные из ППЗУ в ПЛИС передаются по шине «data_ram».
После 10-го раунда преобразований, зашифрованные данные передаются в канал передачи данных по интерфейсу RS-485 DD7 [7].
Питание модуля осуществляется постоянным напряжением +5В, поступающего от стабилизированного источника питания на разъём X3. Для питания микросхем применяются преобразователи напряжения DD5 и DD6 серии LM3607. [8]
Передача данных между пользователями
Схема передачи данных между пользователями показана на рисунке 2.
Рис. 2. Схема передачи данных между пользователями
Где:
Модуль 1 - модуль шифрования и дешифрования данных от ПК 1.
Модуль 2 - модуль шифрования и дешифрования данных от ПК 2.
Открытые данные от ПК1 передаются в модуль 1. После криптографических преобразований в соответствии с ГОСТ Р 34.12-2015, зашифрованные данные передаются по интерфейсу RS-485 в канал передачи данных. На другой стороне канала данные поступают в модуль 2 и после дешифрования передается в ПК 2.
Основные этапы криптографических преобразований по ГОСТ Р 34.12-2015
В ГОСТ Р 34.12-2015 приведено описание двух базовых блочных шифров с длинами блоков n =128 бит и n = 64 бит и длинами ключей k = 128 бит.
В модуле шифрования и дешифрования данных используется входной блок n = 128 бит.
Основные этапы реализации алгоритма шифрования:
1. X преобразование: побитовое сложение по модулю 2 преобразуемых данных и очередного раундового ключа.
2. S преобразование: 128-битный вектор после сложения по модулю 2 побайтно преобразовывается в десятичный вид, тем самым определяется позиция каждого байта в таблице подстановок (Sbox16).
3. L преобразование: Результат S-преобразования побайтно считывается, затем каждый считанный байт умножается на 256 (это необходимо для вычисления позиции числа в таблице table со всеми возможными результатами умножения поля Галуа). Из позиции считывается число, к нему прибавляется коэффициент из таблицы констант (Lbox), в зависимости от номера итерации, так происходит со всеми байтами. Байты складываются между собой, а полученное число записывается на место считанного байта. Регистр сдвигается в сторону младшего разряда и перезаписывается 16 раз.
4. Алгоритм выработки итерационных ключей.
Алгоритм дешифрования выполняется в последовательности, обратной алгоритму шифрования.
Результаты моделирования работы алгоритма криптографических преобразований
Для моделирования работы автоматизированной системы шифрования данных разработаны тестовые входные воздействия в соответствии с эталонным примером, приведенным в ГОСТ Р 34.12-2015.
Входные данные: 'H1122334455667700ffeeddccbbaa9988.
Ключ:
'h8899aabbccddeeff0011223344556677fedcba98765432100123456789abcdef
Моделирование работы криптографических преобразований выполнено на языке высокого уровня Verilog, в соответствии с ГОСТ Р 34.12-2015 и осуществлено в системе автоматического проектирования (САПР) Aldec Active-HDL. [9] [10]
Verilog - это язык описания аппаратуры, используемый для описания и моделирования электронных систем. Этот язык позволяет проектировать, верифицировать и реализовывать аналоговые, цифровые и смешанные электронные системы на различных уровнях абстракции.
На рисунке 3 показана последовательная запись входных данных из USB контроллера в модуль шифрования.
Рис. 3. Последовательная запись входных данных в модуль шифрования
Где:
сlk - входная частота; reset - сигнал сброса;
load_data - сигнал загрузки данных из микроконтроллера а модуль
шифрования; data - входные данные; data_rg - внутренний регистр хранения данных.
На рисунке 4 показан первый раунд шифрования по ГОСТ Р 34.122015.
Рис. 4. Результат первого раунда шифрования по ГОСТ Р 34.12 - 2015
Где:
сlk - входная частота; reset - сигнал сброса;
load_data - сигнал загрузки данных из микроконтроллера а модуль
шифрования; data - входные данные;
data_rg - внутренний регистр хранения данных; new_key - сигнал загрузки итерационного ключа; key - итерационный ключ;
key_rg - регистр хранения итерационного ключа; X_rg - регистр хранения результата X преобразования; data_count - счетчик принятых из микроконтроллера бит; mem_count - счетчик для обращения к памяти; addr - адрес регистра в памяти;
read - команда на чтение из памяти; X_addr - адрес ячейки (X преобразование);
data_mem - данные из памяти;
S_rg - массив хранения результата S-преобразования;
R_rg - результат побайтного умножения S_rg на 256;
L_l_rg - данные из памяти;
L_rg - регистр хранения результата XOR операции данных из L_l_rg; load_rg - получено новое L_rg; load_count - обновленных L_rg;
new_key_counter - счетчик раундов шифрования; done - флаг ожидания следующего итерационного ключа.
Полученный результат первого раунда шифрования совпадает с эталонным примером первого раунда шифрования, приведенного в качестве примера в ГОСТ Р 34.12 - 2015.
На рисунке 5 показан результат шифрования входного 128-го слова по ГОСТ Р 34.12 - 2015.
Размещено на http://www.allbest.ru/
1
Размещено на http://www.allbest.ru/
Рис. 5. Результат шифрования входного 128-го слова
Где:
data_out - регистр хранения полученного результата шифрования.
Полученный результат шифрования совпадает с эталонным примером, приведенным в ГОСТ Р 34.12 - 2015.
В настоящей статье описана реализация автоматизированной системы криптографических преобразований по ГОСТ Р 34.12 - 2015 методом конечного автомата, разработаны тестовые воздействия в соответствии с приведенным в ГОСТ Р 34.12-2015 эталонным примером.
Используемые схемотехнические решения позволяют предотвратить любой доступ по каналам передачи данных к алгоритму шифрования и секретным кодам.
Реализация криптографических преобразований данных на основе «жесткой» логики позволяет освободить центральный процессор от функции шифрования и дешифрования, повысить сбоеустойчивость устройства в виду отсутствия ПО и делает невозможным любые действия со стороны вредоносных программ.
Разработка модуля шифрования данных произведена на языке описания работы аппаратуры - Verilog.
Благодаря универсальности выбранной архитектуры построения модуля, без изменения схемотехнического решения и только перепрашивая применяемую ПЛИС, можно реализовать любой алгоритм шифрования данных.
Список источников и литературы
криптографический автомат процессор автоматизированный
1. Шишкин А.О. Отчет о производственной практике (НИР). Анализ существующих алгоритмов криптографических преобразований и методов их реализации, способов передачи данных по проводному каналу связи и протоколов обмена данными. МТУСИ, Москва, 2017. 34 с.
2. В.И. Воронов, Л.И. Воронова «О повышении результативности магистерских программ в условиях инновационной экономики // в кн. Инновационные подходы в науке и образования: ТЕОРИЯ, МЕТОДОЛОГИЯ, ПРАКТИКА»: Монография/ Пенза: МЦНС «Наука и просвещение». - 2017. - с. - с. 35-44.
3. Национальный стандарт Российской Федерации. Информационная технология. Криптографическая защита информации. Блочные шифры. ГОСТ Р 34.12- 2015. Москва: Стандартинформ 2015.
4. USB контроллер PL2303TA. Фирма Prolific. Техническое описание на английском языке (Datasheets).
5. ПЛИС Virtex 5 X5VFX70T. Фирма Xilinx. Техническое описание на английском языке (Datasheets).
6. Постоянное запоминающее устройство AT28LV010-20TU. Фирма Atmel. Техническое описание на английском языке (Datasheets).
7. Маломощный приемопередатчик интерфейса RS-485 ADM1485ANZ. Техническое описание на английском языке (Datasheets).
8. Понижающие преобразователи напряжения серии LM3607. Техническое описание на английском языке (Datasheets).
9. Inc. Aldec. Active-HDL 6.3 Student Edition. Prentice Hall, 2005. 178 c. Описание на английском языке 178 c.
10. К. Максфилд. Проектирование на ПЛИС. Издательство: М: Додэка-21, 2007. 408 с.
Размещено на Allbest.ru
Подобные документы
Алгоритмы и стандарты криптографических преобразований. Криптографические преобразования на основе специального программного обеспечения. Метод криптографических преобразований на основе жесткой логики. Аналоги модуля шифрования и дешифрования данных.
курсовая работа [971,6 K], добавлен 30.01.2018Разработка модели процессора, выполняющего набор машинных команд. Структурная схема процессора (операционного и управляющего автоматов), анализ принципа работы. Содержательный алгоритм микропрограммы, синтез управляющего автомата на основе жесткой логики.
курсовая работа [871,9 K], добавлен 16.09.2010Описание компонентов сети конфиденциальной связи. Система распределения ключей на основе линейных преобразований. Описание разработанных программ. Криптостойкость алгоритма распределения ключей. Алгоритм шифрования данных в режиме обратной связи.
курсовая работа [98,3 K], добавлен 26.09.2012Изучение классических криптографических алгоритмов моноалфавитной подстановки и перестановки для защиты текстовой информации. Анализ частоты встречаемости символов в тексте для криптоанализа классических шифров. Сущность одноалфавитного метода шифрования.
лабораторная работа [2,8 M], добавлен 25.03.2015Разработка структурной схемы процессора; синтез микропрограммного и управляющего автомата с жесткой логикой. Функциональная организация процессора: программные модели, форматы данных и команд. Организация оперативной памяти. Проектирование блока операций.
учебное пособие [1,1 M], добавлен 09.04.2013Секретные ключи как основа криптографических преобразований. Изучение особенностей aлгopитмoв гeнepaции двоичных псевдослучайных последовательностей. Pяды, пoлучaeмыe из пpoгpaммнoгo ключa. Пpocтeйшиe aлгopитмы гeнepaции. Paзpaбoткa и описание пpoгpaммы.
курсовая работа [934,7 K], добавлен 25.06.2011Теоретические аспекты протоколов с нулевым разглашением знания. Понятие криптографического протокола. Обман с несколькими личностями. Гамильтонов цикл в криптографических протоколах с нулевым разглашением знания. Сравнение данных. Скоростные тесты.
курсовая работа [361,5 K], добавлен 25.05.2017Изучение методов построения конечного автомата, распознающего заданный язык, и принципы его программной реализации. Проектирование комбинационной и принципиальной схем распознающего конечного автомата с использованием библиотеки интегральных микросхем.
дипломная работа [1,8 M], добавлен 18.08.2013Исследование элементов эллиптических кривых, необходимых для реализации криптографических протоколов. Изучение алгоритмов арифметики точек эллиптической кривой и способов генерации кривых для криптографических алгоритмов. Описание алгоритмов шифрования.
курсовая работа [371,2 K], добавлен 07.08.2012Разработка управляющего автомата процессора с жесткой логикой в САПР Quartus II. Построение схемы функциональной микропрограммы команды "Исключающее ИЛИ" в размеченном виде. Унитарное кодирование состояний автомата. Запись функций переходов и выходов.
курсовая работа [671,3 K], добавлен 04.11.2014