Алгоритм симметричного шифрования для программного комплекса защищенного обмена информации в автоматизированных системах
Автор: Максимов Владимир Андреевич, Калюжный Алексей Викторович, Салимоненко Владислав Евгеньевич
Рубрика: Управление сложными системами
Статья в выпуске: 3, 2020 года.
Бесплатный доступ
Представлен оригинальный алгоритм симметричного шифрования, а также описан программный комплекс информационного обмена, использующий данный алгоритм. Отличительными особенностями алгоритма являются невысокая вычислительная сложность и малая информационная избыточность, вносимая в исходные открытые данные. Программный комплекс может быть использован в автоматизированных системах специального назначения либо в других системах, где требуется защищенный обмен информацией.
Шифрование, алгоритм, защита информации
Короткий адрес: https://sciup.org/148309576
IDR: 148309576 | DOI: 10.25586/RNU.V9187.20.03.P.090
Текст научной статьи Алгоритм симметричного шифрования для программного комплекса защищенного обмена информации в автоматизированных системах
В современном мире все больше и больше возрастает значимость информации [1]. А в таких областях, как обороноспособность страны, защита национальных интересов, вопросы обеспечения конфиденциальности являются первоочередной задачей [7] на любом этапе обработки данных. Для успешного выполнения этой задачи применяются всевозможные методы [9] и способы защиты информации [2], и одним из таковых является ее шифрование.
С технологическими прорывами в области электроники появляются новые образцы информационно-вычислительных систем и сетей [3], имеющие большую производительность в сравнении со своими предшественниками, способные выполнять бóльшее количество операций за такт. Это позволяет в сравнительно короткие сроки проводить анализ существующих алгоритмов преобразования данных [4] и на основе выявленных уязвимостей выполнять вскрытие зашифрованной информации.
Для увеличения конфиденциальности сведений ограниченного доступа разработан программный комплекс защищенного обмена информацией на основе оригинального алгоритма шифрования.
Описание оригинального алгоритма шифрования
Вся информация, хранящаяся на цифровых носителях, представлена в виде массива логических «единиц» и «нулей». В совокупности эти «цифры» образуют числа в двоичной системе счисления (далее – СС) (рис. 1).
8 бит = 1 байт

1 1 1 1 1 1 1 0 = 254(ю)
Рис. 1. Представление числа в десятичной системе счисления
Человеку удобнее работать с данными в десятичной СС, а для чтения информации применяются специальные таблицы преобразования – так называемые ASCII-таблицы,
Выпуск 3/2020
которые содержат в себе соответствие бинарного кода, представленного в шестнадцатеричной СС, буквенно-цифирному обозначению (рис. 2) [5].
О .1 .2 .3 .4 .5 .6 .7 .8 .9 .А .В .С .D ,Е .F
NUL |
SOH |
STX |
ЕТХ |
EOT |
ENO |
ACK |
BEL |
BS |
HT |
LF |
VT |
FF |
CR |
SO |
SI |
DLE |
DC1 |
DC2 |
DC3 |
DC4 |
NAK |
SYN |
ETB |
CAN |
EM |
SUB |
ESC |
FS |
GS |
RS |
US |
! |
# |
$ |
% |
& |
( |
) |
* |
+ |
- |
/ |
|||||
О |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
< |
= |
> |
? |
||
© |
А |
В |
С |
D |
E |
F |
G |
H |
1 |
J |
к |
L |
M |
N |
0 |
Р |
Q |
R |
S |
Т |
U |
V |
W |
X |
Y |
z |
[ |
\ |
] |
Л |
|
а |
b |
с |
d |
e |
f |
9 |
h |
i |
i |
k |
1 |
m |
n |
0 |
|
Р |
q |
г |
S |
t |
u |
V |
w |
X |
У |
z |
{ |
} |
^ |
DEL |
Рис. 2. ASCII-таблица
Возьмем в качестве атомарной единицы преобразования (далее – АЕП) данных величину, равную размеру одного ASCII-символа – 1 байт (рис. 3). Таким образом, всю информацию, хранящуюся на цифровом носителе, можно представить в виде последовательного массива символов и наглядно ее отобразить.

Рис. 3. Пример ASCII-символов
Блоком для преобразования будет служить трехмерный массив, размерностью 3×3×3, в ячейках которого будет находиться АЕП и дополнительные коды. Внешне описанный массив схож с механической головоломкой, изобретенной венгерским скульптором и преподавателем архитектуры Эрнё Рубиком, – кубиком Рубика (рис. 4) [6]. Таким образом, размер блока составляет 27 байт.
Внешнее сходство логической модели куба с механической головоломкой Эрнё Рубиком неспроста.
В качестве дополнительных кодов будут выступать тройки псевдослучайных чисел, размерностью равной АЕП – 1 байт (рис. 5). Это позволит всегда формировать различные зашифрованные данные при одинаковом ключе и исходных данных.
В результате входные данные разбиваются на блоки по 24 байта, к которым добавляются 3 байта случайных чисел. Затем каждый такой набор собирается в трехмерный массив. При этом расположение случайных чисел в массиве задается ключом шифрования из восьми возможных вариантов взаимно непересекающихся осей (рис. 6).

Рис. 4. Сборка логической модели куба

Рис. 5. Блок шифрования

Рис. 6 . Индексы случайных чисел
94 в ыпуск 3/2020
На рисунке 6 представлен вариант расположения случайных чисел. Остальные индексы выбираются подобным образом.
После сборки логической модели куба происходит циклическое вращение взаимно перпендикулярных граней с применением одного из двух разновидностей математического сложения по модулю равной мощности алфавита (в нашем случае 28 = 256) всех кодов и наложением предварительно сформированных гамм [8] (рис. 7–8).
Ag - Аз' — As'
AV — Ai |
||||
К^ — Ai + Аг A3 Ai + Аз + A3 |
Ai |
85 |
85 |
85= 85 |
Аг |
76 |
161 |
161 = 85+76 |
|
At = АУ А 2 = А? ■ А1 |
A3 |
240 |
145 |
145= 85+ 76+ 240 - 256 |
Рис. 7 . Вариант сложения № 1 без гаммирования
А/ — Ai |
||||
Аз' — Ai + Аз Аз' = Ai + Аз' + Аз |
Ai |
85 |
85 |
85 = 85 |
Аг |
76 |
161 |
161 =85 + 76 |
|
Ai = Ai' Аз = A31 — AV |
Аз |
240 |
230 |
230 = 85 + 161 +240-256 |
A3 = Аз' — Аг' — А/ |
Рис. 8. Вариант сложения № 2 без гаммирования
Наложение гаммы производится на слой A1 до применения математического преобразования всех кодов [10]. Таким образом, гамма будет накладываться на весь куб через слой A1, поскольку остальные слои (A2 и A3) имеют от него математическую зависимость [11].
Порядок вращения ребер кубика с математическим преобразованием определяется ключом шифрования (рис. 9) таким образом, чтобы одна итерация составляла:
-
1. Определение слоя A1 (ребро кубика).
-
2. Наложение гаммы на слой A1.
-
3. Сложение всех кодов одним из вариантов (задается ключом) математического преобразования.
-
4. Вращение слоя A1 вокруг своей оси (поворот задается ключом).
-
5. Выбор нового слоя A1 перпендикулярно предыдущему.
-
6. Повторение пунктов 2–4.
-
7. Выбор следующего слоя A1 взаимно перпендикулярно двум предыдущим.
-
8. Повторение пунктов 2–4.
-
9. При этом количество итераций и выбор взаимно перпендикулярных ребер определяется ключом шифрования.
Максимов В.А. и др. Алгоритм симметричного шифрования для программного... 95

Рис. 9. Общая схема симметричного метода шифрования
Краткое описание программного комплекса
Программный комплекс включает в себя графический интуитивно понятный интерфейс на русском языке, написанный с помощью SDK Qt Designer, набор предустановленных гамм для начальной настройки шифрования и набор словарей нового алфавита. Написан на C++ с использованием кроссплатформенного фреймворка Qt.
Программа предназначена для повышения защищенности автоматизированных систем и сетей путем шифрования файлов данных оригинальным алгоритмом.
Обеспечивает выполнение следующих функций:
-
• создание, изменение и удаление файлов из автоматизированной системы (в режиме текстового редактора);
-
• выбор чтения исходных данных из файла либо из текстового поля программы;
-
• выбор чтения ключа шифрования (дешифрования) из файла либо из текстового поля программы (с ограничениями на минимальную длину);
-
• формирование управляющего вектора преобразования данных;
-
• подготовка исходных данных для преобразования;
-
• расчет и разделение исходных данных на блоки фиксированной ширины;
-
• выборка и преобразование блока исходных данных;
-
• конкатенация преобразованных блоков данных;
-
• вывод результата в файл или текстовое окно программы.
Главное окно программы изображено на рисунке 10 и состоит из основного поля, меню и служебных кнопок.
Меню содержит в себе 5 вкладок:
-
1. Файл
-
a. Создать Ctrl+N
-
b. Открыть… Ctrl+O
-
c. Сохранить Ctrl+s
-
d. Сохранить как… Ctrl+Alt+S
-
e. Закрыть
-
f. Выход Ctrl+Q
96 в ыпуск 3/2020
-
2. Действие
-
a. Шифровать Ctrl+E
-
b. Расшифровать Ctrl+D
-
3. Данные
-
a. ВвестиF4
-
b. Выбрать файл…F5
-
c. Этот файл
-
4. Ключ
-
a. ВвестиF8
-
b. Считать из файла F9
-
5. Справка
-
a. Содержание… F11
-
b. О программе… F12

Рис. 10. Главное окно программы
Основное поле содержит форму для выбора ввода данных или чтения их из файла. Особенностью является блокировка соответствующего поля при нажатии на переключатель. При вводе пароля в текстовом формате присутствует возможность скрыть его отображение.
Служебными кнопками являются кнопка «Сбросить» – очищает все поля и приводит переключатели в исходное положение, и кнопка «Далее» – активируется только после правильного ввода всех необходимых данных.
В режим текстового редактора можно перейти при выборе пункта меню «Создать» или «Открыть» рисунке 11. Данный режим позволяет просматривать содержимое файлов в текстовом формате, изменять, сохранять и создавать документы. При нажатии на
Максимов В.А. и др. Алгоритм симметричного шифрования для программного...
пункт меню «Этот файл» программа помещает содержимое текстового поля в исходные данные и возвращает режим главного окна.

При нажатии пунктов меню «Выбрать файл…» или «Считать из файла» либо соответствующих кнопок в основном поле программы появляется диалоговое окно выбора файла (рис. 12).

Рис. 12. Окно выбора файла
98 в ыпуск 3/2020
Заключение
Разработанный алгоритм симметричного шифрования обладает высоким быстродействием. Криптостойкость алгоритма зависит от размера ключа, минимальный размер которого составляет 256 бит. Методом грубой силы извлечь полезную информацию из зашифрованного сообщения невозможно без наличия гамм и алфавитов преобразования.
Развитием данной модели является децентрализованная информационная система защищенного обмена данных на основе предложенного алгоритма с добавлением функций генерации гамм на каждой стороне, динамического выбора алфавитов преобразования без передачи этих данных другим лицам. Реализовать подобную систему представляется возможным благодаря использованию трехэтапного протокола Кака. Основная идея этого метода заключается в отправке секретов через ненадежный канал, когда оба – Алиса и Боб – шифруют передаваемый секрет, который также называется криптографией с двойным замком. Алиса шифрует секрет своим ключом, отправляет Бобу, Боб его также шифрует и отправляет Алисе, после чего Алиса расшифровывает его своим ключом и опять отправляет Бобу, Боб расшифровывает своим и получает секрет.
Можно сделать вывод, что оригинальный алгоритм шифрования имеет большой потенциал применения его в защищенных системах передачи данных. Существует множество вариантов усовершенствования логической модели куба и математического преобразования над ним, что приведет к увеличению криптостойкости.
Список литературы Алгоритм симметричного шифрования для программного комплекса защищенного обмена информации в автоматизированных системах
- ГОСТ 28147-89. Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования. М.: Госстандарт России, 1989.
- Нечай А.А. Кибербезопасность и информационная безопасность: сущность, содержание и отличие понятий // XXIV Царскосельские чтения. 75-летие Победы в Великой Отечественной войне: материалы Международной научной конференции / под общ. ред. С.Г. Еремеева. СПб., 2020. С. 229-232.
- Нечай А.А. Формирование безопасной информационной среды // Актуальные проблемы современности: наука и общество. 2019. № 4 (25). С. 43-44.
- Нечай А.А., Котиков П.Е. Актуальные проблемы защиты информации в современных автоматических телефонных станциях // Вестник Российского нового университета. Серия "Сложные системы: модели, анализ и управление". 2015. Вып. 2. С. 65-69.
- Нечай А.А., Котиков П.Е. Методика комплексной защиты данных, передаваемых и хранимых на различных носителях информации // Вестник Российского нового университета. Серия "Сложные системы: модели, анализ и управление". 2015. Вып. 1. С. 92-95.