Способ криптографического преобразования данных
METHOD OF CRYPTOGRAPHIC DATA CONVERSION

Изобретение относится к способам и средствам криптографического преобразования информации.
Известен способ криптографического преобразования цифровых данных (патент РФ №2309549 приоритет от 17.03.2003, «Способ криптографического преобразования цифровых данных», авторы: Молдовян А.А., Молдовян Н.А., МПК: H04L 9/18, опубликовано Бюл. №30 27.10.2007), в котором блок цифровых данных (БЦД) разбивают на N≥2 n-разрядных подблока цифровых данных (ПБЦД) и затем над каждым ПБЦД выполняют управляемую операционную подстановку, которую реализуют S последовательно выполняемыми циклами. Каждый цикл включает одновременное выполнение Z элементарных управляемых подстановок и последующее выполнение фиксированной перестановки. Управляемую операционную подстановку выполняют с помощью предварительно сформированного управляющего вектора по одному из ПБЦД и секретному ключу.
Недостатком данного способа является использование в данном способе алгоритмов формирования всех составных функциональных блоков, которые предопределены и неизменны на протяжении всех циклов преобразования, что приводит к относительно невысокой криптостойкости.
Наиболее близким по технической сущности к заявляемому изобретению является способ блочного криптографического преобразования двоичной информации (патент РФ №2140713 приоритет от 28.12.1998, «Способ блочного криптографического преобразования двоичной информации», авторы: Молдовян А.А., Молдовян Н.А., Молдовян П.А., МПК: H04L 9/00, опубликовано 27.10.1999), который включает в себя разбиение двоичного кода на N≥1 информационных
блоков с их поочередным преобразованием, дополнительно формируя управляющий код V, при преобразовании информационного блока над информационным блоком выполняют по крайней мере одну управляемую операцию перестановки, зависящую от значения управляющего кода V, причем управляющий код V формируют по секретному ключу, также управляющий код V формируют по текущему значению преобразуемого информационного блока и управляющий код V формируют по секретному ключу и по текущему значению информационного блока. Кроме того, управляющий код V формируют информации.
Недостатком данного способа является то, что для осуществления криптографического преобразования необходимо хранить определенный набор используемых функций перестановки. Данное обстоятельство накладывает ограничение на количество используемых функций перестановки, а также требование на резервирование определенного объема памяти под хранение данных функций. Все это понижает криптостойкость способа преобразования (недостаточная криптостойкость).
Технической проблемой, на решение которой направлено изобретение, является создание способа криптографического преобразования данных, в котором преобразование входных данных осуществлялось бы таким образом, чтобы обеспечивалась смена функций перестановки на любом из циклов преобразования, а также повышение числа различных вариантов функций преобразования, благодаря чему повышается криптостойкость.
Технический результат, на достижение которого направлено изобретение, заключается в повышении криптостойкости данных, получаемых в результате преобразования.
Данный технический результат достигается тем, что в способе криптографического преобразования данных, заключающемся в криптографическом преобразовании входных данных в выходные за r
последовательно выполняемых раундов с использованием соответствующих раундовых криптографических ключей в каждом раунде, новым является то, предварительно определяют начальную перестановку для k элементов преобразуемых данных, где k - количество элементов преобразуемых данных и k=1, 2, 3, …, и соответствующее ей факториальное множество, являющееся упорядоченным множеством, включающим в свой состав n! элементов, где n=k - номер факториального множества, далее выбирают криптографический ключ из области значений от 1 до n! определенного факториального множества, затем значение криптографического ключа представляют в факториальной системе счисления по основанию определенного ранее факториального множества, далее проводят r раундов по h циклических сдвигов всех k элементов начальной перестановки, при этом r=n-1, а значение h соответствует значению элемента ключа соответствующего раунда, далее после каждого раунда из полученной перестановки исключают последний элемент и ставят его в советующую раунду позицию элемента конечной перестановки преобразуемых данных.
Благодаря такому решению обеспечивается смена функции перестановки на любом из циклов преобразования, а также повышение числа различных вариантов функции преобразования, что обеспечивает повышение стойкости криптографического преобразования.
Способ определения персонального криптографического ключа из соответствующего факториального множества позволяет исключить необходимость их хранения.
Указанная совокупность существенных признаков позволяет повысить криптостойкость информации, получаемой в результате преобразования за счет возможности изменения функции перестановки без ее хранения.
i
i
На фиг. 1 представлен функциональная схема криптографического преобразования данных, где К - криптографический ключ, F - функция перестановки, S - количество циклов, при i=1, 2, … s.
На фиг. 2 представлен пример перевода числа из десятичной системы счисления в факториальную.
На фиг. 3 представлен пример пораундового циклического сдвига начальной перестановки.
Общее число циклов криптографического преобразования S выбирают исходя из предъявляемых требований по криптографической стойкости, производительности и допустимой сложности реализации.
Заявленное изобретение может быть реализовано посредством комплексов технических, аппаратных и программных средств, предназначенных для автоматической обработки информации, вычислений, автоматического управления, используемых низкие вычислительные мощности. Данное изобретение может найти широкое применение в скоростных телекоммуникационных системах и компьютерных сетях с циркулирующей в ней конфиденциальной информацией.
Способ криптографического преобразования данных осуществляется следующим образом.
Рассмотрим конкретный пример реализации заявляемого способа криптографического преобразования данных.
Пример.
Преобразование входных данных, состоящих из набора чисел (элементов) 6, 7, 8, 9, 0, заявляемым способом преобразования криптографического преобразования данных.
Для преобразования входных данных выполняют следующие действия:
1. Определяют количество элементов преобразуемых данных: количество элементов преобразуемых данных k равно 5. При этом элемент №1 принимает значение 6, элемент №2-7, элемент №3-8, элемент №4-9, элемент №5-0.
2. Задают начальную перестановку, которая определяется как упорядоченный набор порядковых номеров всех элементов преобразуемых данных, а именно №1, №2, №3, №4, №5 (1,2,3,4,5).
3. Определяют соответствующее заданной начальной перестановке факториальное множество, являющееся упорядоченным множеством. При этом определенное факториальное множество включает в свой состав n! элементов, где n=k=5 - номер факториального множества. В данное факториальное множество входит криптографический ключ необходимый для формирования конечной перестановки преобразуемых данных. Исходя из того, что количество элементов передаваемых данных равно 5, криптографический ключ входит в область факториального множества 5. Следовательно, значение криптографического ключа находится в области значений от 1 до 5! (от 1 до 120).
4. Назначают значение криптографического ключа равным 116.
5. Представляют значение криптографического ключа в факториальной системе счисления по основанию определенного ранее факториального множества, а именно по основанию 5! (фиг. 2). (Алгоритм перевода из десятичной системы счисления в факториальную можно посмотреть в ресурсах сети интернет, например, https://ido.tsu.ru/schools/physmat/data/res/informatika2/text/8_3.html). Для этого число 116 делим на 24(4!), в результате получаем частное равное 4 и остаток от деления равный 20. Далее число 20 делим на 6(3!), в результате получаем частное равное 3 и остаток от деления равный 2. Далее число 2 делим на 2(2!), в результате получаем частное равное 1 и остаток от деления равный 0. Далее число 0 делим на 1(1!), в результате получаем частное равное 0. В результате данного вычисления получаем следующий набор частных, соответствующих количеству циклических сдвигов для каждого факториального множества входящего в область факториального множества по основанию 5, а именно для факториального множества по основанию 4-4, 3-3, 2-1, 1-0.
1
2
3
4
6. В результате представления числа 116 в факториальной системе счисления получают (фиг. 3) для 1-го раунда r - 4 циклических сдвига начальной перестановки, для 2-го раунда r - 3 циклических сдвига, для 3-го раунда r- 1 циклический сдвиг, а для 4-го раунда r - 0 циклических сдвигов. Производят четыре циклических сдвига всех элементов начальной перестановки, при этом начальная перестановка примет вид: 2, 3, 4, 5, 1 (Фиг. 3). Из полученной перестановки исключаем последний элемент «1». Для оставшейся перестановки (2, 3, 4, 5) проводим 3 циклических сдвига всех элементов, при этом она примет вид: 3, 4, 5, 2. Из полученной перестановки исключаем последний элемент «2». Для оставшейся перестановки (3, 4, 5) проводим 1 циклический сдвиг всех элементов, при этом она примет вид: 5, 3, 4. Из полученной перестановки исключаем последний элемент «4». Так как для факториального множества по основанию 1 количество циклических сдвигов равно 0, то из оставшейся перестановки (5, 3) исключаем последний элемент «3». При этом после всех раундов циклических сдвигов остался последний элемент начальной перестановки «5».
7. Проводим упорядочивание всех исключенных элементов начальной перестановки в обратной последовательности, относительно последовательности исключения всех элементов начиная с элемента «5», и заканчивая элементом «1». В результате получаем последовательность элементов конечной перестановки соответствующую упорядоченному набору номеров элементов преобразуемых данных (5, 3, 4, 2, 1).
Преобразуемые данные, состоящие из чисел 6, 7, 8, 9, 0, после применения функции перестановки с использованием значения криптографического ключа 116 будут иметь следующий вид: 0, 8, 9, 7, 6.