Научная статья на тему 'РАЗРАБОТКА ЭЛЕМЕНТОВ КРИПТОПРОЦЕССОРА С ИСПОЛЬЗОВАНИЕМ ОТЕЧЕСТВЕННОЙ САПР "КОВЧЕГ"'

РАЗРАБОТКА ЭЛЕМЕНТОВ КРИПТОПРОЦЕССОРА С ИСПОЛЬЗОВАНИЕМ ОТЕЧЕСТВЕННОЙ САПР "КОВЧЕГ" Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
103
17
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КРИПТОПРОЦЕССОР / БАЗОВЫЙ МАТРИЧНЫЙ КРИСТАЛЛ / САПР / CRYPTOPROCESSOR / UNCOMMITED LOGIC ARRAY / CAD

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Зобнина О.А., Каменских А.Н., Королёв Г.К., Тюрин С.Ф.

Исследуется криптопроцессор - абонентский шифратор "КРИПТОН" с целью оценки возможности реализации на отечественной элементной базе в рамках задач импортозамещения. Анализируется ГОСТ 28147-89, описывающий используемые в "КРИПТОНЕ" алгоритмы зашифрования и расшифрования. Выясняется, что одними из основных операций над двумя 32-битными операндами являются поразрядное сложение по модулю 2, сложение по модулю 2 в степени 32, сдвиг, в том числе циклический, подстановка. Для реализации алгоритма необходимы 11 32-разрядных регистров, сумматоры, кодопреобразователь подстановки и управляющий автомат. Показывается, что используемые элементы, в том числе программируемые логические интегральные схемы (ПЛИС) иностранных производителей, могут быть заменены отечественными аналогами. Предлагается вместо ПЛИС использовать базовые матричные кристаллы (БМК). Разрабатываются некоторые устройства криптопроцессора с использованием отечественной САПР "Ковчег". Моделирование подтверждает работоспособность предложенных устройств.

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

DESIGN OF A CRYPTOPROCESSOR ELEMENTS WITH THE DOMESTIC CAD "ARK"

Article investigates a crypto processor - the "CRYPTON" subscriber coder/decoder in order to assess the feasibility of implementation with the domestic elements in the framework of import substitution tasks. Authors study GOST 28147-89, which describes the encryption and decryption algorithms used in "CRIPTON". It turns out that one of the basic operations on 2 32-bit operands is bitwise XOR, addition modulo 2 in degree 32, a shift, including cyclic, permutation. To implement the algorithm we need eleven 32-bit registers, adders, a substitution code converter and a finite state machine. It is shown that the elements used, including of foreign manufacturers FPGAs can be replaced by domestic analogs. It is proposed to use Uncommited Logic Array (ULA) instead of FPGAs. Some devices of the crypto processor are being developed using the domestic CAD system Ark. Simulation confirms the performance of the proposed devices.

Текст научной работы на тему «РАЗРАБОТКА ЭЛЕМЕНТОВ КРИПТОПРОЦЕССОРА С ИСПОЛЬЗОВАНИЕМ ОТЕЧЕСТВЕННОЙ САПР "КОВЧЕГ"»

ВЕСТНИК ПЕРМСКОГО УНИВЕРСИТЕТА

2019 Математика. Механика. Информатика Вып. 2(45)

ИНФОРМАТИКА ИНФОРМАЦИОННЫЕ СИСТЕМЫ

УДК 681.32

Разработка элементов криптопроцессора с использованием отечественной САПР "Ковчег"

О. А. Зобнина

Пермский национальный исследовательский политехнический университет Россия, 614990, г. Пермь, ул. Комсомольский пр., 29 zobnina.olka@gmail.com; +7-922-37-78-699

А. Н. Каменских

Пермский национальный исследовательский политехнический университет Россия, 614990, г. Пермь, ул. Комсомольский пр., 29 antoshkinoinfo@yandex.ru; +7-902-64-12-545

Г. К. Королёв

Пермский государственный национальный исследовательский университет Россия, 614990, г. Пермь, ул. Букирева, 15

ЗАО "ИВС-СЕТИ", Россия, 614015, Пермь, ул. Н. Островского, 65 korolevgk@mail.ru; +7-950-44-31-343

С. Ф. Тюрин

Пермский национальный исследовательский политехнический университет Россия, 614990, г. Пермь, ул. Комсомольский пр., 29 tyurinsergfeo@yandex.ru; +7-952-32-02-510

Пермский государственный национальный исследовательский университет Россия, 614990, г. Пермь, ул. Букирева, 15

Исследуется криптопроцессор - абонентский шифратор "КРИПТОН" с целью оценки возможности реализации на отечественной элементной базе в рамках задач импортозамещения. Анализируется ГОСТ 28147-89, описывающий используемые в "КРИПТОНЕ" алгоритмы зашифрования и расшифрования. Выясняется, что одними из основных операций над двумя 32-битными операндами являются поразрядное сложение по модулю 2, сложение по модулю 2 в степени 32, сдвиг, в том числе циклический, подстановка. Для реализации алгоритма необходимы 11 32-разрядных регистров, сумматоры, кодопреобразователь подстановки и управляющий автомат. Показывается, что используемые элементы, в том числе программируемые логические интегральные схемы (ПЛИС) иностранных производителей, могут быть заменены отечественными аналогами. Предлагается вместо ПЛИС использовать базовые матричные кристаллы (БМК). Разрабатываются некоторые устройства криптопроцессора с использованием отечественной САПР "Ковчег". Моделирование подтверждает работоспособность предложенных устройств.

Ключевые слова: криптопроцессор; базовый матричный кристалл; САПР.

DOI: 10.17072/1993-0550-2019-2-60-66

Введение

Обеспечение информационной безопасности в нашей стране в последние годы стало одной из самых важных государственных за© Зобнина О. А., Каменских А. Н., Королёв Г. А., Тюрин С. Ф., 2019

дач. Устройство криптографической защиты данных (УКЗД) серии "КРИПТОН" предназначено для криптографической защиты данных в компьютерах типа IBM-PC [1].

Общий вид платы криптопроцессора, подключаемого к РС, показан на рис. 1.

Тип БМК Количество логических элементов Количество внешних контактов Напряжение питания, В Рабочая частота, МГц

Н5503ХМ1 576 28 5 30

Н5503ХМГУ 576 28 5 30

Н5503ХМ2 1296 42 5 30

Н5503ХМ5 3072 64 5 30

5503БЦ7У 5478 64 5 25

Рис. 4. Состав серии БМК 5503

Рис. 1. Общий вид платы криптопроцессора

В качестве основных элементов плата содержит так называемые программируемые логические интегральные схемы (ПЛИС, FPGA - Field-Programmable Gate Array) и флэш-память для хранения конфигурации, загружаемой при включении питания (рис. 2).

Рис. 2. Основные элементы криптопроцессора

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

Рис. 3. Вспомогательные элементы криптопроцессора

В связи с требованиями импортозаме-щения электронной компонентной базы возникает необходимость анализа возможности реализации функций криптопроцессора (УКЗД серии "КРИПТОН") на отечественной элементной базе. Анализ возможностей базовых матричных кристаллов отечественного производителя показывает, что ПЛИС могут быть заменены базовыми матричными кристаллами (БМК) серии 5503 [2, 3].

В этом случае память конфигураций не потребуется. В качестве микроконтроллера для обмена информацией с РС выберем отечественный микроконтроллер 1986ВЕ9х на ядре Сойех-М3 производства ЗАО "ПКК Ми-ландр" [4].

1. Анализ алгоритмов зашифрования и расшифрования

Рассмотрим алгоритмы зашифрования и расшифрования информации, установленные ГОСТ 28147-89 [5]. Так, например, исследуем криптосхему зашифрования в режиме простой замены, которая изображена на рис. 5.

Состав серии БМК 5503 представлен на

рис. 4.

Рис. 5. Криптосхема зашифрования в режиме простой замены

Процедура предполагает ввод 64-разрядных исходных данных двумя словами N1, N2 по 32 бита каждый. В кодирующее запоминающее устройство (КЗУ) вводятся восемь 32-разрядных слов - это ключ. Алгоритм состоит из 32 циклов. В первом цикле N1 суммируется по модулю 2 в степени 32 со словом ключа Х0 в сумматоре СМ1 (N1 сохраняет исходное значение). Результат поступает в блок подстановки К, где преобразуется, а затем в регистре Я сдвигается циклически на 11 разрядов вправо (в сторону старших разрядов). Полученный результат суммируется по модулю 2 поразрядно с N2 в сумматоре СМ2.

Результат записывается в N1, при этом предварительно слово N1 переписывается в N2. Это конец первого цикла.

Далее работа осуществляется аналогично с другими словами ключа. В некоторых последующих циклах порядок считывания ключей меняется. По окончании 32-го цикла слово из сумматора СМ2 переписывается в N2, а значение N1 сохраняется. Информация N1 и N2 представляет собой зашифрованные данные. Расшифрование информации выполняется по тому же алгоритму с изменениями порядка считывания ключей.

2. Реализация основных блоков криптопроцессора в САПР "Ковчег"

Для получения блоков суммирования по модулю используем имеющиеся в библиотеке элементов элементы сложения по модулю два (ХОЯ). Построим схему ХОЯ на три входа в системе САПР БИС "Ковчег" (рис. 10).

Рис. 10. Схема для функции а © Ь © с

Далее находим в панели управления команду "Тесты", это необходимо для того, чтобы в дальнейшем получить временную диаграмму (рис. 11).

и DEFAULT_ _TEST;

2:

31 DEFAULT TEST:

4: а = 0,0 0,0,1

5: b = 0,0 1,1.0

6 с = 0,1 0,1.0

"7: i : f = h;

.1,1,1; .0,1,1; .1,0,1;

Рис. 11. Тест для функции а © Ь © с

Следующим шагом являются "Контрольные точки". Эти "точки" программа формирует сама. Контрольные точки захватывают входы и выходы. Они формируют то, что будет отображаться на временной диаграмме (рис. 12).

"Группа4, Групп«! .

"Группа1 : А, *. BUS(S:4], BUS[']<1, BUS{i]D;" "Группа2 : D1.D1CW. *). D2<1: 3>(I [1:0]U. O. I[-]. I[l]). "Группа! ; Mcmal (OUTl. OUT?. ' BUS[*]. BUS). 8US[4], 01 ,D1<'>(I[0:1]. 1[1]. I ['] ))H "Группа* : Метка? (D2(*))B, Метпа! (0?(11}}ВМ:~

Временная диаграмма формируется сама (рис. 13).

Рис. 13. Временная диаграмма работы схемы а © Ь © с

Таким образом, функция а © Ь © с реализуется правильно.

Аналогично реализуются схемы сумматоров по модулю 2 в степени 32, сдвигающие регистры и др.

Так, схема 32-разрядного сдвигающего регистра и ее тестирование представлены на рис. 14.

а)

Рис. 12. Контрольные точки схемы a © b © c

б)

Рис. 14. Проверка работы сдвигающего регистра: а) фрагмент схемы; б) тест регистра на некоторой последовательности

Схема сумматора по модулю 2 в степени 32 изображена на рис. 15.

а)

б)

Рис. 15. Сумматор по модулю 2 в степени 32: а) схема; б) тест схемы на единичных операндах

Таким образом, можно убедиться и на других тестах, что схема работает правильно. Сумматор по модулю 2 на 32 разряда представлен на рис. 16.

3. Реализация операций с полиномами

Для дополнительного получения сигнатур информационных посылок в криптопро-цессоре целесообразно использовать операции с двоичными полиномами. Реализация операций с полиномами базируется на автоматах умножения и деления полиномов на основе Б-триггеров с обратными связями, использующими элементы сложения по модулю 2 (ХОЯ). Образующий полином (неприводи-

мый многочлен) определяет точки подключения элементов сложения по модулю 2.

Пример схемы умножения на полином О = х3 + х +1 в САПР "Ковчег" изображен на рис. 17.

а)

б)

Рис. 16. Сумматор по модулю 2 а) схема; б) тест схемы на случайно заданных операндах

Рис. 17. Схема умножения на образующий полином О = х3 + х +1

Подготовим для полинома тест для собранной нами схемы. Правильность работы схемы подтверждается временной диаграммой, изображенной на рис. 18.

Рис. 18. Тест для схемы умножения на полином С = х3 + х +1

Аналогично строится схема деления на образующий полином.

Правильность работы схемы деления подтверждается временной диаграммой, изображенной на рис. 19.

Рис. 19. Тесты для делителя на G = х3 + х +1

4. Реализация управляющего автомата

Для алгоритма зашифрования и расшифрования необходим управляющий автомат. Для его реализации предлагается использовать средство State Machine САПР Quartus фирмы Интел [7-11] и конвертировать полученный файл в САПР "Ковчег" по полученным логическим функциям.

Пример графа автомата с двумя входными переменными х2х1 приведен на рис. 20.

а)

с)

Рис. 20. Граф автомата в виде State Machine File: а) граф переходов; б) переход из состояния 4 в 1 по переменной х24; с) файл описания списка соединений для "Ковчега", полученный с помощью программы-преобразователя

Далее получаем файл VHDL. Разработана программа конвертации этого файла в САПР "Ковчег". Проверка временной диаграммы (рис. 21) подтверждает правильность функционирования управляющего автомата.

б)

с)

Рис. 21. Проверка работы управляющего автомата на наборах: а) х2х1=00; б) х1=1; с) х2х1=10

Таким образом, автомат работает правильно.

Выводы

Импортозамещение электронной компонентной базы и программного обеспечения являются важнейшими вопросами обеспечения информационной безопасности страны, без решения которых невозможен технологический прорыв, обеспечивающий суверенитет и независимость государства в XXI в. Использование базовых матричных кристаллов, разрабатываемых в ТЦ "МИЭТ", изучение в вузах соответствующей САПР "Ковчег" в существенной мере позволяет продвинуться в этом направлении, особенно в области реализации криптоалгоритмов. Предложенная для учебных целей реализация криптопроцессора позволяет в перспективе отказаться от зарубежных ПЛИС. В дальнейшем целесообразно рассмотреть вопрос использования отечественных ПЛИС, выпускаемых в Воронежском ОА КТЦ-Электроника.

Список литературы

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

1. Абонентские шифраторы "КРИПТОН". URL: http://asic.ru (дата обращения: 06.05.19).

2. Сайт микросхем заказных и полузаказных больших интегральных схем ASIC. URL: http://asic.ru (дата обращения: 06.05.19).

3. Денисов А.Н., Фомин Ю.П., Коняхин В.В., Федоров Р.А. Библиотека функциональных ячеек для проектирования полузаказных микросхем серий 5503 и 5507 / под общ. ред. А.Н. Саурова. М.: Техносфера, 2012. 304 с.

4. Мария Ермак. Российские микроконтроллеры с ядром Cortex. URL: M3https://www.milandr.ru/upload/smi/sovre mennye_rossiyskie_32_kh_razryadnye_mk_s _yadrom_arm_cortex_m3.pdf (дата обращения: 07.05.2019).

5. ГОСТ 28147-89. Системы обработки ин-

формации. Защита криптографическая. Алгоритм криптографического преобразования - Техэксперт. URL: http://docs.cntd.ru/document/1200007350 (дата обращения: 05.05.2019).

6. Гаврилов С.В., Денисов А.Н., Коняхин В.В., Макарцева М.М. САПР "Ковчег 3.0" для проектирования микросхем на БМК серий 5503, 5507, 5521 и 5529. М., 2013. 295 с.

7. Quartus II Help v11.1 > enum_encoding VHDL Synthesis Attribute. URL: http://quartushelp.altera.com/11.1/mergedPro j ects/hdl/vhdl/vhdl_file_dir_enum_encoding. htm (дата обращения: 07.05.19 г.)

8. Тюрин С.Ф., Громов О.А., Греков А.В. Реализация цифровых автоматов в системе Quartus фирмы Altera: лабораторный практикум. Пермь: Изд-во ПНИПУ, 2011. 133 с.

9. Математическая логика и теория алгоритмов. Моделирование логики: учеб. пособие / С.Ф. Тюрин, Д Р. Валеев, А.В. Ма-зунина, В.А. Суворова, А.А. Чесноков / под ред. С.Ф. Тюрина. Перм. гос. нац. ис-след. ун-т, 2015. 176 с

10. Тюрин С.Ф., Каменских А.Н., Зобнина О.А Использование в учебном процессе отечественной системы автоматизированного проектирования (САПР) "Ковчег" // Вестник Пермского университета. Математика. Механика. Информатика. 2018. № 2 (41). С. 75-79.

11. Зобнина О.А., Каменских А.Н., Тюрин С.Ф. Синтез конечного автомата с использованием отечественной САПР "Ковчег". В сб. : Автоматизированные системы управления и информационные технологии: матер. всерос. науч.-техн. конф.: в 2-х т. 2018. С. 28-32.

Design of a cryptoprocessor elements with the domestic CAD "Ark"

O. A. Zobnina

Perm National Research Polytechnic University; 29, Komsomolsky Av., Perm, 614990, Russia zobnina.olka@gmail.com; +7-922-37-78-699 A. N. Kamenskih

Perm National Research Polytechnic University; 29, Komsomolsky Av., Perm, 614990, Russia antoshkinoinfo@yandex.ru; +7-902-64-12-545 G. K. Korolev

Perm State University; 15, Bukireva st., Perm, 614990, Russia ZAO IVS-NET; 65, N. Ostrovsky st., Perm, 614015, Russia korolevgk@mail.ru; +7-950-44-31-343

S. F. Tyurin

Perm National Research Polytechnic University; 29, Komsomolsky Av., Perm, 614990, Russia Perm State University; 15, Bukireva st., Perm, 614990, Russia tyurinsergfeo@yandex.ru; +7 952-320-02-510

Article investigates a crypto processor - the "CRYPTON" subscriber coder/decoder in order to assess the feasibility of implementation with the domestic elements in the framework of import substitution tasks. Authors study GOST 28147-89, which describes the encryption and decryption algorithms used in "CRIPTON". It turns out that one of the basic operations on 2 32-bit operands is bitwise XOR, addition modulo 2 in degree 32, a shift, including cyclic, permutation. To implement the algorithm we need eleven 32-bit registers, adders, a substitution code converter and a finite state machine. It is shown that the elements used, including of foreign manufacturers FPGAs can be replaced by domestic analogs. It is proposed to use Un-commited Logic Array (ULA) instead of FPGAs. Some devices of the crypto processor are being developed using the domestic CAD system Ark. Simulation confirms the performance of the proposed devices.

Keywords: cryptoprocessor; uncommited logic array; CAD.

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