Scientific journal
Modern high technologies
ISSN 1812-7320
"Перечень" ВАК
ИФ РИНЦ = 0,940

THE USE OF MODULAR CODES NON-LINEAR ENCRYPTION

Kalmykov I.A. 1 Stepanova E.P. 1 Zhuk A.P. 1 Kalmykova N.I. 1 Tyncherov K.T. 2
1 North-Caucasian Federal University
2 Ufa State Petroleum Technological University
Increasing the noise immunity of low-orbit satellite communication systems (LowSCS) is a rather complex problem. This problem can be solved through the development of effective methods to ensure the information, structural and energy secrecy of the LowSCS. In this paper, we consider the issues of increasing the information secrecy of the satellite grouping. To achieve this goal, it is proposed to use encryption methods, the use of which allows to prevent unauthorized access of the attacker to the data transmitted through communication channels. Both symmetric and asymmetric encryption methods are used in communication systems to prevent unauthorized access. Currently, the methods of stream encryption are widely used. However, having a high speed of encryption, these methods have drawbacks. The use of non-linear encryption techniques can eliminate vulnerabilities that are inherent in stream ciphers. The methods of nonlinear encryption are based on a set of arithmetic operations, the most common of which are the operations of exponentiation modulo a large Prime number M. However, this operation is characterized by low execution speed. To improve the performance of the encoder can be through the use of modular codes. Such codes are able to perform parallel arithmetic on low-bit data. Therefore, the aim of the work is to reduce the time spent on the operation of exponentiation modulo, used in nonlinear ciphers, through the use of modular codes.
noise immunity of information concealment
a nonlinear encryption
exponentiation
modulo
modular codes

Для обеспечения эффективной работы в различных условиях низкоорбитальные системы спутниковой связи (НССС) должны обладать свойством помехозащищенности. Согласно [1] обеспечить помехозащищенность возможно за счет решения проблемы придания НССС информационной, структурной и энергетической скрытностей. Так как от информационной скрытности во многом зависит помехозащищенность группировки низкоорбитальных космических аппаратов, то разработка методов ее повышения является актуальной задачей. В работах [2, 3] для повышения информационной скрытности НССС предлагается использовать систему, позволяющую аутентифицировать спутник перед началом сеанса связи. При использовании такой системы спутник-нарушитель не сможет навязать необслуживаемому объекту управления ретрансляционную помеху, имитирующую команду управления.

Дальнейшее повышение информационной скрытности НССС возможно за счет использования шифрования. Применение шифрования не позволяет злоумышленнику при перехвате передаваемых данных понять их смысл [4, 5]. В основу нелинейных методов шифрования положены арифметические операции, выполняемые по модулю большого простого числа М. Применение комбинаций мультипликативных и аддитивных операций позволяет повысить криптостойкость зашифрованного текста, а также устранить уязвимости поточных шифров, использующих в качестве ключевой гаммы псевдослучайные последовательности. Однако использование одномодульного принципа построения таких методов шифрования не позволяет обеспечить высокую скорость зашифрования. Устранить данный недостаток можно за счет применения модулярных кодов (МК), которые позволяют проводить арифметические операции параллельно, используя данные малой разрядности. Поэтому разработка метода нелинейного шифрования данных на основе возведения в степень по модулю с использованием МК является актуальной задачей.

Современные системы нелинейного шифрования применяют арифметические операции, выполняемые в кольце большого целого числа М. Известно, что скорость выполнения операции возведения в степень по модулю обратно пропорциональна разрядности числа М. Однако для обеспечения высокой криптостойкости выбирают числа, разрядность которых находится в пределах от 140 до 512 бит [6]. Повысить скорость выполнения процедуры шифрования без снижения криптостойкости можно за счет использования модулярных кодов. Поэтому целью работы является снижение временных затрат на выполнение операции возведения в степень по модулю, используемой в нелинейных шифрах, за счет использования модулярных кодов.

Материалы и методы исследования

Среди методов шифрования особое место отводится методам нелинейного шифрования. Следует отметить, что данные методы закрытия позволяют устранить уязвимости поточных систем шифрования, в которых в качестве ключевой гаммы используются псевдослучайные последовательности [6, 7]. Это связано с тем, что методы нелинейного шифрования используют модульные операции модульного сложения и умножения. При этом в качестве модуля берется большое простое число М. Представить данное число kal01.wmf, в виде полиномиальной формы вида

kal02.wmf. (1)

Аналогичным образом поступим с открытым текстом и ключевыми данными. Получаем

kal03.wmf, (2)

kal04.wmf, (3)

где kal05.wmf – n-разрядный открытый блок, представленный в виде полинома; kal06.wmf – n-разрядный блок секретного ключа, представленный в виде полинома.

Тогда методы нелинейного шифрования можно представить в виде

kal07.wmf, kal08.wmf, kal09.wmf. (4)

где kal10.wmf – n-разрядный зашифрованный блок-полином; kal11.wmf.

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

Для выполнения процедуры расшифрования используется выражение

kal12.wmf. (5)

Известно, что для выполнения операции возведения в степень по модулю необходимо выполнить kal13.wmf операций умножения. Очевидно, что при больших значениях простого числа М увеличиваются временные затраты на операцию зашифрования и расшифрования.

Одним из эффективных способов решения выявленной проблемы является использование модулярных кодов, в которых в качестве оснований выступает набор взаимно простых полиномов μi(x), где kal14.wmf, для которых справедливо kal15.wmf, при условии kal16.wmf. Количество модулей μi(x) выбирается из условия

kal17.wmf (6)

Таким образом, одномерная операция возведения в степень по модулю M(x) сводится к L аналогичным операциям, выполняемым параллельно с использованием модулярного кода. Тогда процедура зашифрования представляется выражением

kal18.wmf. (7)

где

kal19.wmf;

kal20.wmf; kal21.wmf.

Используя изоморфизм китайской теоремы об остатках, реализуем операцию расшифрования с использованием модулярных кодов согласно

kal22.wmf. (8)

Использование модулярного полиномиального кода позволяет отказаться от операций прямого преобразования (позиционный код – модулярный код) и обратного преобразования из модулярного в позиционный код. В этом случае получаем

kal23.wmf;

kal24.wmf; kal25.wmf (9)

Анализ выражений (7) и (8) показывает, что реализация метода нелинейного шифрования в кольце полиномов позволит повысить скорость выполнения процедур зашифрования и расшифрования. Пусть максимальная степень выбранного основания модулярного полиномиального кода равна kal26.wmf, тогда для процедуры зашифрования одного блока открытого текста необходимо выполнить не более kal27.wmf операций умножений. Так как набор выбранных оснований модульного кода должен удовлетворять условию (6), то имеем, что g < (n – 1). Это означает, что применение модулярных кодов при выполнении операции возведения в степень по модулю позволяет повысить скорость выполнения нелинейного шифрования.

Результаты исследования и их обсуждение

Рассмотрим пример реализации метода нелинейного шифрования данных на основе возведения в степень по модулю с использованием МК. В качестве оснований модулярного кода используем μ1(х) = x5 + x3 + x2 + x + 1; μ2(х) = x5 + x4 + x3 + x + 1; μ2(х) = x5 + x4 + x3 + x2 + 1. Таким образом, получаем, что выбранные основания позволяют заменить модуль М, степень которого составляет kal31.wmf.

Рассмотрим входной поток открытых символов kal32.wmf. Секретный ключ задается генератором ключевой гаммы и имеет вид kal33.wmf. Так как kal34.wmf, то входная последовательность разбивается на блоки по 15 бит каждый. Затем каждый такой блок представляет собой конкатенацию трех пятибитовых подблоков. Каждый из таких подблоков представляет собой остаток по основаниям МК. Затем эти подблоки возводятся в степень по модулям μi(x), где i = 1, 2, 3.

При заданном потоке открытых данных первый 15-разрядный блок данных имеет вид

kal35.wmf. Каждый из подблоков, длиной 5 бит открытых данных, представляет собой остаток по модулю μi(x), где i = 1, 2, 3. Тогда получаем полиномы kal36.wmf. Блок ключевой гаммы разделим на подблоки по 5 бит каждый. Первый подблок имеет вид kal37.wmf. Воспользуемся выражением (7) и зашифруем первый блок данных:

kal38.wmf

Тогда первый блок зашифрованного текста равен kal39.wmf.

Второй 15-разрядный блок kal40.wmf. Так как каждый из подблоков представляет собой остаток по модулю μi(x), где i = 1, 2, 3, то kal41.wmf. Второй подблок ключевой гаммы имеет вид kal42.wmf. Зашифруем второй блок данных с помощью МК:

kal43.wmf

Тогда второй блок зашифрованного текста равен kal44.wmf.

Третий 15-разрядный блок kal45.wmf. Так как каждый из подблоков представляет собой остаток по модулю μi(x), где i = 1, 2, 3, то получаем полиномы kal46.wmf. Третий подблок ключевой гаммы kal47.wmf. Зашифруем третий блок данных с помощью МК:

kal48.wmf

Тогда третий блок зашифрованного текста равен kal49.wmf.

Выполним расшифрование с использованием разработанного метода нелинейного шифрования данных на основе возведения в степень по модулю с использованием МК. Для этого необходимо произвести вычисление секретного ключа, используемого на приемной стороне. Учитывая особенности реализации мультипликативных операций с использованием выбранных полиномов, получаем, что kal50.wmf. Для второго блока ключевой гаммы получаем kal51.wmf, а для третьего – kal52.wmf.

При заданном потоке зашифрованных данных первый 15-разрядный блок данных имеет вид kal53.wmf. Каждый из подблоков, длиной 5 бит зашифрованных данных, представляет собой остаток по модулю μi(x), где i = 1, 2, 3. Тогда получаем kal54.wmf. Первый подблок ключевой гаммы kal55.wmf kal56.wmf. Воспользуемся выражением (8) для расшифрования первого блока закрытых данных:

kal57.wmf

Тогда первый блок расшифрованного текста равен kal58.wmf.

Второй 15-разрядный блок kal59.wmf. Так как каждый из подблоков представляет собой остаток по модулю μi(x), где i = 1, 2, 3, то kal60.wmf. Второй подблок ключевой гаммы имеет вид kal61.wmf. Расшифруем второй блок данных с помощью МК:

kal62.wmf

Тогда второй блок расшифрованного текста равен kal63.wmf.

Третий 15-разрядный блок kal64.wmf. Так как каждый из подблоков представляет собой остаток по модулю μi(x), где i = 1, 2, 3, то получаем полиномы kal65.wmf. Третий подблок ключевой гаммы имеет вид kal66.wmf. Воспользуемся (8) и расшифруем с помощью МК:

kal67.wmf

Тогда третий блок расшифрованного текста равен kal68.wmf.

Полученные результаты показали, что, используя разработанный метод нелинейного шифрования данных на основе возведения в степень по модулю с использованием МК, можно сократить временные затраты. В представленном примере показан переход от обработки 15-разрядных данных к параллельным криптографическим преобразованиям трех пятиразрядных операндов, что позволяет повысить скорость нелинейного шифрования в 3 раза.

Выводы

В работе представлен разработанный метод нелинейного шифрования данных на основе возведения в степень по модулю с использованием МК. С целью сокращения временных затрат на зашифрование было предложено использовать независимые параллельные вычисления по модулю неприводимых многочленов. В представленном примере показан переход от обработки 15-разрядных данных к параллельным криптографическим преобразованиям трех пятиразрядных операндов, что позволяет повысить скорость нелинейного шифрования в 3 раза.

Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта № 18-07-01020.