Научный журнал
Научное обозрение. Технические науки
ISSN 2500-0799
ПИ №ФС77-57440

АЛГОРИТМ КОНТРОЛЯ ВЫПОЛНЕНИЯ ЛОГИЧЕСКИХ ОПЕРАЦИЙ В ПРОГРАММИРУЕМЫХ ЛОГИЧЕСКИХ ИНТЕГРАЛЬНЫХ СХЕМАХ, ВЫПОЛНЯЮЩИХ КРИПТОГРАФИЧЕСКОЕ ПРЕОБРАЗОВАНИЕ ИНФОРМАЦИИ

Лукин М.В. 1
1 Научно-исследовательский центр Центрального научно-исследовательского института Военно-воздушных сил (Министерства обороны Российской Федерации)
В статье приведены разработанные алгоритмы контроля выполнения логических операций (сложение по модулю 2, сложение по модулю 2 в 16-й степени, операция сдвига и подстановки) в программируемых логических интегральных схемах, используемых в качестве основных вычислительных компонентов (логических вентилей) в устройствах, осуществляющих криптографическое преобразование входной информации. Данные логические операции являются основными преобразованиями в криптографии. Преобразование осуществляется с использованием блочного симметричного шифра, в основе которого лежат ключ и псевдослучайная последовательность, называемая синхропосылкой. Данные алгоритмы позволяют блоку управления автономным техническим средством определять правильность выполнения одних из основных операций криптографического преобразования информации с целью выявления и, по возможности, устранения сбоев в работе. Благодаря использованию указанных алгоритмов повышаются такие важные характеристики, как надежность и достоверность. При использовании средних по производительности программируемых логических интегральных схем ущерб в скорости обработки входной информации сводится к минимуму, что позволяет функционировать автономному техническому средству без каких-либо задержек, но с более высокой эффективностью. Данные алгоритмы наиболее актуально использовать в автономных технических средствах, осуществляющих передачу телеметрической информации по радиоканалам с большого удаления по расстоянию от оператора автономного технического средства.
программируемая логическая интегральная схема
криптографическое преобразование информации
автономное техническое средство
алгоритм контроля
сложение по модулю
1. Рыжов И.А., Харитонов А.С., Столяров А.В., Семенюк Д.Б. Оценка качества радиоканала передачи телеметрической информации // Инновационная наука: сборник статей по материалам XXII научно-практической конференции. 2019. Т. 4 (22). С. 65-73.
2. Cheng L., Huberman B.A. Auction-based Operation in LEO Satellite Systems for High-Efficiency Communications // IEEE Wireless Communications, 2020. Vol. 27, №. 2. P. 2-8.
3. Лоскутов А.И., Ряхова Е.А., Горбулин В.И. Концептуальная модель технического диагностирования бортовой аппаратуры автономных космических аппаратов на основе оптимальной реконфигурации в условиях априорной неопределенности появления неисправностей // Информационно-измерительные и управляющие системы. 2020. № 3. С. 43-55.
4. Охтилев М.Ю., Соколов Б.В., Юсупов Р.М. Теоретические и технологические основы концепции проактивного мониторинга и управления сложными объектами // Известия ЮФУ. Технические науки. 2015. № 1(162). С. 162–174.
5. Лоскутов А.И., Клыков В.А. Идентификация и техническое диагностирование бортовой аппаратуры автономных космических аппаратов на основе биективного преобразования множества диагностических признаков // Контроль диагностика. 2016. № 4. С. 57-63.
6. Семенюк Д.Б., Лоскутов А.И., Бардаев Э.А., Клыков В.А. Системное моделирование при разработке математического обеспечения автоматизированных комплексов на основе полимодельного подхода с иерархическим принципом // Авиакосмическое приборостроение. М.: Научтехлитиздат, 2019. № 4. С. 33-44.
7. Столяров А.В., Никулин В.А., Лоскутов А.И., Клыков В.А., Ряхова Е.А. Методика построения математической модели процесса функционирования беспилотного авиационного комплекса с целью решения задачи технического диагностирования // Надежность и качество сложных систем. 2020. С. 45-67.
8. ГОСТ Р 34.13 – 2015. Информационная технология. Криптографическая защита информации. Режимы работы блочных шифров. М.: Стандартинформ, 2015.

Криптографическим преобразованием информации (далее – КПИ) называется процесс изменения информации, зависящий от изменяемого параметра и обладающий свойством невозможности восстановления исходной информации по преобразованной, без знания действующего ключа, с трудоемкостью меньше заданной [1].

В настоящее время КПИ осуществляется программными, аппаратными и программно-аппаратными средствами. При этом в случае даже минимальной ошибки в 1 бит процесс восстановления информации становится невозможным.

Особенно актуальна проблема возникновения ошибки в ходе КПИ на автономных технических средствах (далее – АТС), осуществляющих работу на большом расстоянии от технического оператора и передающих криптографически преобразованную информацию на объект обработки по радиоканалам [2].

В связи с этим возникает необходимость автономного контроля выполнения КПИ на АТС для заблаговременного определения ошибки и, по возможности, устранения сбоя в работе устройства, осуществляющего КПИ.

Основным вычислительным устройством, выполняющим КПИ, в настоящее время служит программируемая логическая интегральная схема. Данное вычислительное средство является наиболее универсальным для реализации различных алгоритмов КПИ.

В основе наиболее криптостойких алгоритмов лежат четыре основные логические операции [3]:

- операция сложения по модулю 2;

- операция сложения по модулю 216;

- операция циклического сдвига;

- операция подстановки.

Контроль данных логических операций позволит наиболее полно определять техническое состояние ПЛИС, осуществляемой КПИ на АТС.

Рассмотрим числовой контроль логических операций. В основе построения схем контроля лежат две теоремы [4, 5].

Теорема 1. Сумма чисел сравнима по модулю q с суммой остатков r этих же чисел, то есть:

missing image file (1)

Теорема 2. Произведение чисел сравнимо по модулю q с произведением остатков r этих же чисел, то есть:

missing image file (2)

Рассмотрим схему контроля для логической операции сложения по модулю 2.

Схема контроля преобразования [6] (суммирования) двух чисел A1 и A2 по модулю два представлена на рисунке 1.

Поясним работу данной схемы следующим образом [7, 8]. Результатом суммирования двух чисел A1 и A2 есть число A3. В блоках B1 и B2 осуществляется вычисление остатков r1 и r2 чисел A1 и A2 до преобразования соответственно. Далее в блоке S происходит суммирование полученных остатков. Поскольку сумма остатков может быть больше модуля, то на выходе сумматора необходимо еще раз выполнить операцию нахождения остатка с помощью преобразования в блоке B3. В результате выполняется сравнение остатка r3, полученного от числа A3, с суммой остатков чисел A1 и A2 – r∑ с формированием признака «норма» (Р) в виде логической единицы и нуля в противном случае.

missing image file

Рис. 1. Схема контроля суммирования по модулю 2

Алгоритм функционирования схемы контроля операции сложения по модулю 2 представлен на рисунке 2.

Условно работу данного алгоритма можно разбить на несколько этапов.

1. На начальном этапе осуществляются получение чисел A1 и A2, участвующих в операции сложения по модулю 2, а также получение остатков r1 и r2 из данных чисел.

2. На следующем этапе выполняются операция сложения по модулю 2 чисел A1 и A2 (получение числа A3), а также суммирование остатков r1 и r2 (S = r1 + r2).

3. На третьем этапе осуществляется поиск остатков от результата суммирования S и A3.

4. На заключительном этапе осуществляется сравнение остатков от суммы чисел A1 и A2 (числа A3) и суммы остатков r1 и r2 (S).

С формальной точки зрения данные этапы могут быть представлены совокупностью отображений:

missing image file (3)

где B1 – оператор, характеризующий процедуру получения остатка r1 от числа A1;

missing image file (4)

где B2 – оператор, характеризующий процедуру получения остатка r2 от числа A2;

Необходимо отметить, что выражения (3) и (4) являются эквивалентными по функциональному представлению операторов B1 и B2.

missing image file (5)

где S – оператор, формализующий нахождение суммы остатков слагаемых r1 и r2, полученных в результате отображений (3) и (4);

missing image file (6)

где B3 – оператор, характеризующий процедуру получения остатка r∑ от суммы остатков r1 и r2;

missing image file

Рис. 2. Алгоритм выполнения контроля операции сложения по модулю 2

missing image file

Рис. 3. Схема контроля суммирования по модулю 216

missing image file (7)

где B4 – оператор, характеризующий процедуру получения остатка r3 от суммы чисел A1 и A2 (числа A3);

missing image file (8)

где α – оператор, формализующий процедуру сравнения r3 и r∑.

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

Алгоритм функционирования представленной схемы контроля представлен на рисунке 4.

missing image file

Рис. 4. Схема выполнения контроля операции сложения по модулю 216

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

Следующим основным преобразованием, участвующим в алгоритмах КПИ, является операция сдвига. На рисунке 5 представлена обобщенная схема операции циклического сдвига.

Работу данной схемы можно описать следующим образом. Результатом сдвига числа A1 есть число A2. Для блоков B1 и B2 осуществляется разделение битовой последовательности двоичного представления числа A1 на два блока missing image file, которые в ходе выполнения операции будут переставлены относительно старшего и младшего разрядов (рис. 6).

missing image file

Рис. 5. Схема выполнения контроля операции сдвига

Поясним отдельно данное утверждение: в блоке B1 преобразуется в остаток r1 та часть двоичной последовательности (missing image file), которая в дальнейшем будет участвовать в операции сдвига и в полном объеме будет смещена циклически в сторону младшего разряда; в свою очередь в блоке B2 преобразуется в остаток r2 та часть двоичной последовательности (missing image file), которая будет смещена в сторону старшего разряда и будет переписана на месте двоичной последовательности числа missing image file. Далее в блоке сдвигового регистра происходит выполнение операции сдвига, в результате которой появляется число A2. Поскольку сдвиг является циклическим, смещенные биты не исчезают, а заполняют освободившиеся разряды с противоположной стороны битовой последовательности.

Исходя из этого, разделив битовую последовательность двоичного представления числа A2 на missing image file и missing image file, возможно осуществить контроль правильности выполнения операции сдвига следующим образом. В блок B3 (формирование остатка r3) необходимо записать количество разрядов, равное количеству разрядов для блока B2. Аналогично заполняется блок B4 (формирование остатка r4). После выполнения операции сдвига, сравнив остатки r1, r4 и r2, r3 блоков B1, B2, B3 и B4, можно сделать вывод о правильности выполнения циклического сдвига, тем самым осуществив контроль правильности выполнения операции. Необходимо отметить, что в блоках сравнения сопоставляются не целые значения чисел, а их остатки, что повышает скорость процесса сравнения сколь угодно больших блоков информации.

Алгоритм функционирования представленной схемы контроля представлен на рисунке 7. Работа представленного алгоритма может быть разбита на несколько этапов.

1. На начальном этапе осуществляются получение чисел A1 и A2, участвующих в операции сдвига, а также разбиение числа A1 на два блока missing image file и missing image file битовой последовательности. Также на данном этапе происходит нахождение остатков r1 и r2 в блоках B1 и B2 соответственно.

missing image file

Рис. 6. Сдвиг в сторону старшего разряда на 3

missing image file

Рис. 7. Алгоритм выполнения контроля операции сдвига

2. Аналогично на следующем этапе осуществляются разбиение числа A2 на два блока B3 и B4 битовой последовательности и нахождение остатков r3 и r4 от блоков B3 и B4 соответственно.

3. На заключительном этапе осуществляются сравнение остатков r1 и r4 от блоков битовой последовательности B1 и B4, остатков r2 и r3 от блоков B2 и B3, а также формирование отчета о корректном или некорректном сдвиге (вывод P1 и P2 соответственно).

Представим данные этапы в виде совокупности отображений:

missing image file (9)

где α* – оператор, характеризующий процедуру разбиения числа A1 на битовые последовательности missing image file и missing image file соответственно;

missing image file (10)

где β1 – оператор, характеризующий процедуру получения остатка r1 от битовой последовательности missing image file в блоке B1;

missing image file (11)

где β2 – оператор, характеризующий процедуру получения остатка r2 от битовой последовательности missing image file в блоке B2.

Необходимо отметить, что отображения β3 и β4 имеют схожую интерпретацию для остатков r3 и r4.

missing image file (12)

где β3 – оператор, характеризующий процедуру получения остатка r3 от битовой последовательности A1 в блоке B3;

missing image file (13)

где β4 – оператор, характеризующий процедуру получения остатка r4 от битовой последовательности missing image file в блоке B4;

missing image file(14)

где γ – оператор, формализующий процедуру сравнения r1, r4 и r2, r3 и принятие решения о корректном или некорректном сдвиге.

Последним рассматриваемым преобразованием является операция подстановки. Она заключается в том, что входная последовательность из n-ого количества бит разделяется на два блока с указанным количеством бит, эти блоки определяют адрес ячейки из таблицы замен, в которой записано значение, которое и будет являться результатом подстановки. Но с целью повышения криптостойкости в данном преобразовании применяется также и операция циклического сдвига выходной последовательности. Обобщенная схема контроля правильности выполнения данного преобразования представлена на рисунке 8.

Описание функционирования данной схемы выглядит следующим образом. Поступающее число A1, проходя через блок подстановки N, преобразуется в число A2, которое и является результатом выполнения операции подстановки. Число A1 разбивается на два числа missing image file и missing image file, после чего они параллельно поступают в блок подстановки N и блок n. Блок n является таблицей остатков таблицы замены (блока N). Тем самым результат, полученный в ходе выполнения операции подстановки на выходе из блока n, будет представлен в остаточных классах. После этого над полученным результатом проводится операция циклического сдвига со сменой местами блоков двоичной записи результата.

missing image file

Рис. 8. Схема выполнения контроля операции подстановки

missing image file

Рис. 9. Алгоритм выполнения контроля операции подстановки

Результатом прохождения чисел А11 и missing image file через таблицу подстановок в остаточных классах n являются числа (остатки) r1 и r2 соответственно. После операции подстановки над блоками r1 и r2 выполняется операция циклического сдвига со сменой их местами. С целью контроля правильности выполнения преобразования подстановки число A2 делят на блоки missing image file и missing image file. Далее в блоках B3 и B4 вычисляются числа (остатки) missing image file, missing image file битовых последовательностей missing image file и missing image file, записанных в соответствующие блоки. Сравнение остатков r1 и r2, missing image file и missing image file в блоках сравнения (≡) с формированием результатов P1 и P2 и Р является результатом контроля правильности выполнения операции подстановки. В случае когда в результате сравнения получается, что r1 = missing image file и r2 =missing image file, формируется отчет о правильности выполнения подстановки. В случае когда одно из равенств не выполняется либо не выполняются оба неравенства (r1 ≠ missing image file, r2 ≠ missing image file), следует вывод о неправильном выполнении контролируемого преобразования.

Алгоритм функционирования данной схемы контроля представлен на рисунке 9.

Работа представленного алгоритма может быть разбита на несколько этапов.

1. На первом этапе осуществляется ввод чисел A1, A2 и таблица замен N. Затем A1 делится на missing image file и missing image file. После этого находится таблица остатков n из таблицы замен N и находится выходная последовательность, представленная остатками r1 и r2.

2. Второй этап начинается с разделения числа A2 на блоки missing image file и missing image file таким образом, чтобы количество бит в блоках было равно количеству бит в блоках missing image file и missing image file соответственно. Далее из блоков missing image file и missing image file формируются остатки missing image file и missing image file.

3. На заключительном этапе остатки r1 и r2 сравниваются с missing image file и missing image file, после чего, если равенство выполняется для обоих выражений, формируется отчет о правильности выполнения операции P1, в противном случае формируется отчет о некорректном выполнении операции подстановки P2.

С формальной точки зрения данные этапы могут быть представлены совокупностью отображений:

missing image file (15)

где α1*– оператор, характеризующий процедуру разбиения числа A1 на битовые последовательности missing image file и missing image file соответственно;

missing image file (16)

где β1 – оператор, характеризующий процедуру получения таблицы остатков n от таблицы замен N;

missing image file (17)

где β2 – оператор, характеризующий процедуру получения значения r1 из таблицы остатков n от входной битовой последовательности А11 ;

missing image file (18)

где β3 – оператор, характеризующий процедуру получения значения r2 из таблицы остатков n от входной битовой последовательности missing image file;

missing image file (19)

где α2* – оператор, характеризующий процедуру разбиения числа A2 на битовые последовательности missing image file и missing image file соответственно;

missing image file (20)

где β4 – оператор, характеризующий процедуру получения значения missing image file из битовой последовательности missing image file;

missing image file (21)

где β5 – оператор, характеризующий процедуру получения значения missing image file и битовой последовательности missing image file;

missing image file

missing image file (22)

где γ – оператор, формализующий процедуру сравнения r1 и missing image file, r2 и missing image file, а также принятие решения о корректном или некорректном сдвиге.

Заключение

В ходе исследований были разработаны алгоритмы контроля основных операций алгоритма криптографического преобразования информации на основе модулярной арифметики и в соответствии с предложенными схемами контроля. Указанные алгоритмы лежат в основе формирования общего алгоритма технического диагностирования программируемых логических интегральных схем на автономных технических средствах.


Библиографическая ссылка

Лукин М.В. АЛГОРИТМ КОНТРОЛЯ ВЫПОЛНЕНИЯ ЛОГИЧЕСКИХ ОПЕРАЦИЙ В ПРОГРАММИРУЕМЫХ ЛОГИЧЕСКИХ ИНТЕГРАЛЬНЫХ СХЕМАХ, ВЫПОЛНЯЮЩИХ КРИПТОГРАФИЧЕСКОЕ ПРЕОБРАЗОВАНИЕ ИНФОРМАЦИИ // Научное обозрение. Технические науки. – 2023. – № 3. – С. 30-39;
URL: https://science-engineering.ru/ru/article/view?id=1439 (дата обращения: 15.05.2024).

Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»
(Высокий импакт-фактор РИНЦ, тематика журналов охватывает все научные направления)

«Фундаментальные исследования» список ВАК ИФ РИНЦ = 1,674