СПОСОБ ПОТОЧНОГО ШИФРОВАНИЯ С ИСПОЛЬЗОВАНИЕМ СОСТАВНОГО КЛЮЧА Российский патент 2024 года по МПК H04L9/00 

Описание патента на изобретение RU2831832C1

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

В описании использованы следующие термины.

ASCII - (англ. American standard code for information interchange) - название таблицы (кодировки, набора), в которой некоторым распространённым печатным и непечатным символам сопоставлены числовые коды.

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

В настоящее время для шифрования открытого текста широкое применение нашли алгоритмы поточного шифрования, которые в отличие от блочного шифрования выполняют преобразование информации, поступающей от источника сообщений как по одному биту, так по 1 байту (8 бит). Таким образом, алгоритм поточного шифрования может преобразовывать поступающую информацию в момент её получения.

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

Известен алгоритм шифрования RC-4 и алгоритм шифрования, использующий матричные преобразования [RU 2783406].

RC-4 - класс алгоритмов, определяемых размером его блока или слова - параметром n. В том случае, когда n = 8 бит или 1 байт, то тогда внутреннее состояние RC-4(S-бокс) состоит из массива размером 28 слов, то есть внутреннее состояние включает 256 элементов (0,1,2,…255).

В патенте RU 2783406 рассматривается побитовое поточное шифрование с использованием матричных преобразований, а в патенте RU 2811065 "Способ побайтовой передачи информации с помощью поточного шифрования" рассматривается побайтовое шифрование с использованием матричных вычислений.

С одной стороны применение n=8 даёт возможность использовать таблицу символов, например ASCII (American Standard Code for Information Interchange), в которой символы - буквы алфавита, цифры, арифметические операции, и другие знаки также представлены в виде 8 битовых значений, например символ A - 01000001, символ B - 01000010, символ C - 01000011 и так далее.

А с другой стороны, с помощью подхода, основанного на матричных преобразованиях [Дедов О.П. Применение матричного подхода к поточному шифрованию. Электронный научный журнал «E-Scio.ru», 2021.-5с, далее - Источник 1, С.А.Белецкий, О.П.Дедов, С.И.Журавлёв. Построение многослойной и бесконечной гаммы для поточного шифрования. Промышленные АСУ и Контроллеры. DOI: 10.25791/ asu.10.2022.1392 стр. 39-43 - далее Источник 2] возможно сформировать результирующую матрицу, элементы которой являются гаммой (ключом), также состоящую из 256 чисел, записанных в виде 8 битовых значений символ 0 - 00000000, 1 - 00000001, 2 - 00000010 и т.д., и суммируя символы открытого текста и вычисленные с помощью матричных преобразований элементы результирующей матрицы (гаммы) по модулю два, производить побайтовое шифрование открытого текста.

Наиболее близким аналогом к заявляемому изобретению является способ шифрование, известный из патента RU 2811065. В известном способе создают матрицу состояния SQ0, записывая числа по порядку от 0 до 255. Выбирают вариант построения вспомогательной матрицы-ключа KQ0. Производят вычисление вспомогательной матрицы-ключа KQ. Производят вычисление результирующей матрицы состояний SQL по формуле:

SQL= SQ0 ⊕KQ0 mod 256. (1)

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

Предварительная матрица ключ KQ0 вычисляется как произведение матрицы столбца L на матрицу строку M, причём каждая матрица состоит из 16 чисел, выбранных случайным образом из диапазона от 1 до 255 [2]. А для вычисления результирующей матрицы SQL (элементы которой используются для шифрования) надо суммировать матрицу состояния SQ0 и матрицу KQ0. Можно было бы использовать вместо матрицы KQ обратную матрицу KQ-1, но она может и не существовать, то есть в этом случае на стороне отправителя информации необходимо произвести предварительное вычисление обратной матрицы и в таблицу № 1 надо добавить дополнительный столбец выбора матрицы KQ или обратной матрицы KQ-1. В случае выбора матрицы KQ-1 увеличится время шифрования и расшифрования.

Техническим результатом изобретения является создание способа поточного шифрования с использованием «составного» ключа.

Техническим результатом изобретения также является упрощение процесса шифрования и расшифрования текста, сокращение временных и вычислительных затрат.

В заявляемом способе предлагается вычислять «составной» ключ как на стороне отправителя, так и получателя информации по одинаковому алгоритму путем матричных преобразований на основе передаваемых коэффициентов µ (элементов матрицы состояния SQ0, состоящей из 256 элементов от 0 до 255, а коэффициент μ выбирается как из чисел входящих в состав матрицы столбца L и матрицы строки M (всего 32 числа), также может выбираться из диапазона 1< μ≤ 255).

В отличие от обычного ключа, вычисляемого с использованием элементов одной матрицы SQL (результирующей или основной), «составной» ключ вычисляется с использованием элементов нескольких матриц SQL, например, однослойной, двухслойной, трёхслойной [2]. Длина ключей обычного и составного одинакова, т.е. вместо передачи ключа необходимо произвести обмен коэффициентами (16 чисел матрицы столбца и 16 чисел матрицы строки выбранных на стороне отправителя с помощью ДСЧ (датчика случайных чисел), выбрать коэффициент μ или несколько таких коэффициентов), а на их основе c помощью матричных преобразований вычислять ключи, то есть матрицы SQL1, SQL2, SQL3

Сущность заявляемого изобретения заключается в том, что в способе поточного шифрования, в котором:

- создают матрицу состояния SQ0, записывая числа по порядку от 0 до 255;

- выбирают вариант построения вспомогательной матрицы-ключа KQ0;

- производят вычисление вспомогательной матрицы-ключа KQ0;

- производят вычисление результирующей матрицы ключа SQL;

- переводят числовые значения элементов результирующей матрицы ключа в двоичную систему счисления, соответствующую таблице символов ASCII;

- символы открытого текста записывают с помощью таблицы символов ASCII, получая значение символа Xi, соответствующее символу открытого текста, записанное в двоичной системе счисления;

- суммируют по модулю два один байт символов ASCII результирующей матрицы ключа и один байт символов Xi, получая зашифрованное сообщение Yi;

- передают зашифрованное сообщение Yi:

- используют несколько результирующих матриц ключа SQLi, где i=1, 2, 3…;

- выбирают случайным образом коэффициенты шифрования для формирования матрицы KQ0: 16 чисел для матрицы столбца (L) и 16 чисел для матрицы строки (M) из диапазона от 1 до 255;

- вычисляют предварительную матрицу-ключ по формуле:

KQ0=L*M mod 256, где L и M - матрица-столбец и матрица-строка;

- выбирают количество матриц SQLi, которые будут использованы для шифрования, и элементы для шифрования из матриц SQLi, а также элемент, с которого начнётся шифрование и шаг шифрования,

- производят вычисление многослойной матрицы по формуле:

SQLi=SQLi-1 ⊕ KQi-1 mod 256,

где i = 1,2,3… ,

SQL1=SQL0 ⊕ KQ0 mod 256,

где SQL0=SQ, KQ0= L*M mod 256

- для вычисления матриц SQLi вычисляют несколько предварительных матриц-ключей по формуле:

KQii*KQi-1 mod 256, где μi - константы, которые могут быть выбраны либо из элементов матриц L и M (32 числа), либо из диапазона от 1…..255.

- передают коэффициенты шифрования получателю информации.

Сущность поясняется следующим образом

В заявляемом способе создают матрицу состояния SQ0, записывая числа по порядку от 0 до 255; выбирают вариант построения вспомогательной матрицы-ключа KQ0; производят вычисление вспомогательной матрицы-ключа KQ0; производят вычисление нескольких результирующих матриц состояний SQL, например, SQL1, SQL2, SQL3, из которых выбирают числа для шифрования, начиная с элемента Ki c шагом Hi. Переводят числовые значения элементов матриц SQLi в двоичную систему счисления, соответствующую таблице символов ASCII. Символы открытого текста записывают с помощью таблицы символов ASCII, получая значение символа Xi, соответствующее символу открытого текста, записанное в двоичной системе счисления. Суммируют по модулю два один байт символов ASCII матрицы SQL и один байт символов Xi, получая зашифрованное сообщение Yi.

Выбирают коэффициенты для формирования матрицы KQ0 случайным образом с помощью датчика случайных чисел: выбираются 16 чисел для матрицы столбца и 16 чисел для матрицы строки из диапазона от 1 до 255, вычисляется матрица KQ0, а также определяется количество матриц SQLi (например, три), которые будут использованы для шифрования открытого текста, и номера элементов для шифрования из матриц SQLi (для i=3 каждая матрица SQL1, SQL2, SQL3 состоит из 256 элементов (чисел), то есть из этих чисел надо выбрать конкретные числа для шифрования).

Вычисляют предварительную (вспомогательную) матрицу-ключ по формуле:

KQ0= L*M mod 256, (2)

где L и M - матрица-столбец и матрица-строка, состоящие из 16 элементов, соответственно.

Производят вычисление результирующей матрицы по рекуррентной формуле:

SQLi=SQLi-1 ⊕ KQi-1 mod 256. (3)

SQL0 = SQ0 (4)

В дальнейшем возможно вычислять KQii*KQi-1 mod 256, где μi - константа, выбираемая из чисел, либо входящих в матрицы L, M, либо из диапазона 1,2,…255.

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

Передают зашифрованное сообщение Yi и коэффициенты получателю информации.

Заявляемое изобретение поясняется фигурами 1-2, на которых показано:

- фиг. 1 - схема алгоритма поточного шифрования;

- фиг. 2 - блок-схема предлагаемого алгоритма поточного шифрования.

На фиг. 1 показаны: Xi - i-ый байт открытого текста и sqlij - элемент матриц SQLi (SQL1, SQL2, SQL3), записанный в виде одного байта, находящийся в ячейке - Ki, где i=1,2,3..255.

Матрицы SQ0, КQ0 и SQL (матрица состояния SQ, матрица ключа КQ (предварительный ключ) и результирующая матрица SQL, элементы которой, переведённые в двоичную систему счисления, будут выступать в роли гаммы (ключа) причём в работе [Источник 1,2] было показано, что при n=4 параметр N, определяющий размер квадратных матриц SQ0, КQ0 и SQL вычисляется по формуле

N=24/2=22=4, (5)

то есть матрицы SQ0, КQ0 и SQL при n=4 являются квадратными матрицами размера 4x4, а при n = 8, N будет равно 16, а это значит, что матрицы SQ0, КQ0 и SQL будут квадратными матрицами размера 16х16, и каждая из них содержит по 256 элементов (чисел). Каждый элемент матрицы SQL (sqlij) может быть представлен как последовательность 8 нулей и единиц, то есть одним байтом.

Таким образом, каждый символ открытого текста Xi c помощью таблицы символов ASCII, записанный в виде последовательности 8 битов, то есть одним байтом, может быть сложен по модулю два с элементами матрицы SQL(sqlij), каждый из которых также записан виде 8 битовой последовательности (одним байтом), а в результате данного сложения получается Yi - зашифрованное значение Xi, которое поступает на вход получателя информации и расшифровывается в обратном порядке, то есть сложением по модулю два с элементами результирующей матрицы SQL(sqlij) или с элементами нескольких результирующих матриц в случае составного ключа, вычисленным по аналогичному алгоритму.

Рассмотрим матричные преобразования как показано в [Источнике 1,2] для вычисления результирующих матриц SQL1, SQL2 и SQL3 размерности 4*4. На первом этапе есть матрица состояния S (в алгоритме RC-4) и матрица SQ0 в предлагаемом алгоритме шифрования (n=4 и 24=16), которая включает 16 элементов: числа - 0,1,2,…15, расставленные по порядку. На втором этапе вычисляется матрица KQ0 (предварительный ключ) - аналог матрицы ключа К в алгоритме шифрования RC-4 (различными способами [Источник 2]). На третьем этапе вычисляется результирующая матрица SQL (основной ключ) как сумма матриц SQ0 и КQ0. Все матрицы SQ0, КQ0 и SQL в [Источнике 1,2] имеют одинаковый размер - 4×4 и вычисления будут производиться по модулю 16, а для n=8 данные матрицы будут иметь размер 16×16, то есть будут состоять из 256 элементов, и все вычисления будут проводиться по модулю 256.

Матричный подход позволяет вычислять предварительную (вспомогательную) матрицу-ключ KQ различными способами [Источник 2], например, как произведение матрицы-столбца размера 4×1, на матрицу строку размера 1×4 по модулю 24, выбранными из матрицы состояния SQ0 , или как произведение матрицы столбца на матрицу строки, числа которых могут выбираться с помощью датчика случайных чисел ДСЧ (среди чисел, находящихся в диапазоне от 1 до 2n-1) (обе матрицы получены из матрицы состояний S (RC-4) или SQ0 [Источники 1, 2]).

В [Источниках 1, 2] рассмотрено вычисление матриц SQ0, KQ0, SQL для n=4.

При n=4 матрица состояний SQ, состоит из 24 элементов и имеет вид:

Вычислим матрицу ключа KQ одним из способов, рассмотренных в [Источнике 1,2], например, как произведение матрицы-столбца L(4,1), состоящего из элементов (2, 3, 5, 7) на матрицу-строку M(1,4), состоящую из элементов (6, 5, 8, 9) то есть:

KQ0=L(4,1)×M(1,4)mod 16 (предположим, что данные элементы выбраны с помощью датчика случайных чисел (ДСЧ)).

Тогда матрица SQL1=SQ0⊕KQ0,

Так как KQii*KQi-1 mod 16, то KQ11*KQ0 mod 16 , где μ1=6 ( 6 - первый элемент матрицы-строки М), а μ2=5(5 - второй элемент матрицы-строки М) и тогда

Результирующие матрицы SQL2 и SQL3 будут иметь вид

Таким образом, в результате всех этих вычислений получается набор матриц. Матричный аппарат позволяет из выбранного набора матриц определять матрицу или последовательность матриц и элемент в данной матрице (матрицах), с которого начнётся шифрование, а также шаг шифрования.

Например, пусть отправитель информации хочет зашифровать открытый текст, состоящий из 120 символов. При применении одной матрицы, например SQL он устанавливает номер элемента, с которого начинается шифрование и шаг шифрования, а если отправитель хочет использовать несколько матриц, то он может установить сколько матриц он предполагает использовать для шифрования - одну, две или три (однослойную, двухслойную и трёхслойную) или больше. При шифровании с использованием трёх матриц, в каждой матрице надо будет использовать для шифрования по 40 элементов матриц SQL1, SQL2, и SQL3, причём отправитель может установить порядок использования матриц, например, SQL3, SQL1, SQL2, а также установить, с какого элемента Кi надо начать шифрование и с каким шагом Hi выбирать элементы матриц для шифрования.

В том случае, если установлен порядок использования матриц, SQL3, SQL1, SQL2, указаны K10 и H=5, то при шифровании вначале будут выбираться 40 элементов матрицы SQL3 (10,15,20, 25….199), затем 40 элементов матрицы SQL1 и потом 40 элементов матрицы SQL2.

Каждый элемент данной матрицы sqlij, записанный в двоичном виде с помощью 8 бит, поступает на первый вход сумматора по модулю два (фиг. 1), где складывается с символом открытого текста Xi, который также записан в виде 8 бит (при применении ASCII), и на выходе сумматора получается зашифрованный символ Yi, а дешифрование производится в обратном порядке на стороне получателя информации.

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

Способ осуществляют следующим образом

На этапе «рукопожатие» («Handshakes») фиг. 2 между отправителем и получателем информации происходит обмен коэффициентами, в качестве которых могут применяться числа, вырабатываемые с помощью ДСЧ (16 чисел для матрицы столбца L и 16 чисел для матрицы строки M), при умножении которых по модулю 256 получается матрица KQ, а также указывается количество элементов, используемых при шифровании (40), если принято решение использовать при шифровании открытого текста, состоящего из 120 символов - по 40 символов матриц SQL1, SQL2, SQL3 а также необходимо указать номер элемента Ki, с которого начинается отчёт шифрования и шаг шифрования Hi. Кроме этого необходимо указать количество коэффициентов μi, которое необходимо для вычисления матриц KQi. По умолчанию вначале выбираются числа из матрицы-строки, а потом из матрицы-столбца. Все эти коэффициенты могут быть сведены в таблицу №1.

Таблица № 1

Числа для матрицы-столбца (16 чисел) Числа для матрицы-строки
(16 чисел)
Кол-во коэффициент μ Количество матриц для шифрования Кол-во элементов для шифрования в каждой матрице Порядок применения матриц Номер элемента K10 (начало шифрования) Шаг шифрования Hi
ДСЧ ДСЧ μ1 μ2 3 40 SQL3, SQL1, SQL2 10 5

На фиг. 2 представлена блок-схема алгоритма вычисления «составного» ключа для поточного шифрования, где:

- блок № 1- блок инициализации матрицы SQ;

- блок № 2 - программа вычисления матрицы ключа KQ (предварительного);

- блок № 3 - вычисление результирующих матриц состояний SQL1, SQL2, SQL3 и выбор элемента для шифрования;

- блок № 4 - счётчик элементов результирующих матриц состояний SQL, а также учет элемента с которого начнётся шифрование K и шага шифрования H;

- блок № 5 - перевод элементов матриц из десятичной системы счисления в двоичную систему счисления;

- блок № 6 - открытый текст;

- блок №7 - блок перевода открытого теста в символы ASCII.

Цикл работы состоит из нескольких этапов. На первом этапе производится инициализация матрицы SQ (блок №1), то есть запись чисел в данную матрицу по порядку от 0 до 255 (при n=8) и вычисление матрицы KQ на основе коэффициентов из таблицы № 1.

На втором этапе по формуле (3) с учётом вычисленных значений матрицы KQi и значений матрицы SQ вычисляются матрицы SQL1, SQL2, SQL3 и в соответствии с порядком применения данных матриц (установленном в таблице №1) выбираются элементы для шифрования, при этом учитывается элемент, с которого начинается отчёт Ki и шаг шифрования Hi.

На третьем этапе происходит перевод числовых значений элементов матриц SQLi в двоичную систему счисления, соответствующую таблице символов ASCII.

На четвёртом этапе символы открытого текста записываются с помощью таблицы символов ASCII (блок №6 и блок №7) и на выходе блока № 7 получают значение символа Xi, соответствующее символу открытого текста, но записанное в двоичной системе счисления.

На пятом этапе после суммирования по модулю два 8 бит символов, поступивших из блока № 5, и 8 бит символов, поступивших из блока № 7, получают зашифрованное сообщение Yi.

Получатель информации, получив таблицу № 1, и вычислив матрицы SQL1, SQL2, SQL3, расшифровывает текст.

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

Похожие патенты RU2831832C1

название год авторы номер документа
СПОСОБ ПОБАЙТНОЙ ПЕРЕДАЧИ ИНФОРМАЦИИ С ПОМОЩЬЮ ПОТОЧНОГО ШИФРОВАНИЯ 2023
  • Дедов Олег Петрович
RU2811065C1
Способ генерации гаммы, используемый при поточном шифровании 2021
  • Дедов Олег Петрович
RU2783406C1
СПОСОБ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ ЦИФРОВОЙ ИНФОРМАЦИИ В ВИДЕ УЛЬТРАСЖАТОГО НАНОБАР-КОДА (ВАРИАНТЫ) 2013
  • Пряхин Евгений Иванович
  • Ларионова Екатерина Владимировна
  • Захаренко Евгений Анатольевич
RU2656734C2
Устройство хранения данных с системой шифрования 2022
  • Чепруков Юрий Васильевич
RU2787933C1
Устройство хранения данных с системой синхронизируемого шифрования 2024
  • Чепруков Юрий Васильевич
RU2824319C1
СПОСОБ КРИПТОЗАЩИТЫ СИСТЕМЫ ТЕЛЕКОММУНИКАЦИОННЫХ ТЕХНОЛОГИЙ 1995
  • Бабошин В.А.
  • Молдовян А.А.
  • Хузин В.З.
RU2077113C1
СПОСОБ ПОТОЧНОГО ШИФРОВАНИЯ ДАННЫХ 2001
  • Воронков Б.Н.
  • Тупота В.И.
  • Тупота А.В.
RU2239290C2
Повышение неоднозначности 2016
  • Фигуеира, Хелдер Сильвестре Паива
RU2737917C1
Способ передачи дискретных сообщений с шифрованием и система для его осуществления 2022
  • Чепруков Юрий Васильевич
RU2786174C1
СПОСОБ СИММЕТРИЧНОГО ШИФРОВАНИЯ НА ОСНОВЕ СМЕШАННОЙ СИСТЕМЫ СЧИСЛЕНИЯ 2009
  • Панфилов Борис Аркадьевич
  • Черепнёв Михаил Алексеевич
  • Панфилов Юрий Борисович
RU2429575C2

Иллюстрации к изобретению RU 2 831 832 C1

Реферат патента 2024 года СПОСОБ ПОТОЧНОГО ШИФРОВАНИЯ С ИСПОЛЬЗОВАНИЕМ СОСТАВНОГО КЛЮЧА

Изобретение относится к области криптографии. Технический результат заключается в обеспечении возможности поточного шифрования с использованием составного ключа. В способе поточного шифрования создают матрицу состояния, записывая числа по порядку от 0 до 255, выбирают вариант построения вспомогательной матрицы-ключа, производят вычисление вспомогательной матрицы-ключа, производят вычисление результирующей матрицы ключа, переводят числовые значения элементов результирующей матрицы ключа в двоичную систему счисления, соответствующую таблице символов ASCII, символы открытого текста записывают с помощью таблицы символов ASCII, получая значение символа Xi, соответствующее символу открытого текста, записанное в двоичной системе счисления, суммируют по модулю два один байт символов ASCII результирующей матрицы ключа и один байт символов Xi, получая зашифрованное сообщение Yi, передают зашифрованное сообщение Yi, используют несколько результирующих матриц ключа, выбирают случайным образом коэффициенты шифрования для формирования матрицы, вычисляют предварительную матрицу-ключ, выбирают количество матриц, которые будут использованы для шифрования, и элементы для шифрования, а также элемент, с которого начнётся шифрование и шаг шифрования. Производят вычисление многослойной матрицы. Передают коэффициенты шифрования получателю информации. 1 з.п. ф-лы, 2 ил., 1 табл.

Формула изобретения RU 2 831 832 C1

1. Способ поточного шифрования, в котором:

- создают матрицу состояния SQ, записывая числа по порядку от 0 до 255;

- выбирают вариант построения вспомогательной матрицы-ключа KQ;

- производят вычисление вспомогательной матрицы-ключа KQ;

- производят вычисление результирующей матрицы-ключа SQL;

- переводят числовые значения элементов матрицы ключа в двоичную систему счисления, соответствующую таблице символов ASCII;

- символы открытого текста записывают с помощью таблицы символов ASCII, получая значение символа Xi, соответствующее символу открытого текста, записанное в двоичной системе счисления;

- суммируют по модулю два один байт символов ASCII результирующей матрицы ключа и один байт символов Xi, получая зашифрованное сообщение Yi;

- передают зашифрованное сообщение Yi,

отличающийся тем, что

- используют несколько результирующих матриц ключа SQLi, где i=1, 2, 3…;

- выбирают случайным образом коэффициенты шифрования для формирования матрицы KQ0: 16 чисел для матрицы столбца (L) и 16 чисел для матрицы строки (M) из диапазона от 1 до 255;

- вычисляют предварительную матрицу-ключ по формуле:

KQ0=L*M mod 256, где L и M – матрица-столбец и матрица-строка;

- выбирают количество матриц SQLi, которые будут использованы для шифрования, и элементы для шифрования из матриц SQLi, а также элемент, с которого начнётся шифрование и шаг шифрования,

- производят вычисление многослойной матрицы по формуле:

SQLi = SQLi-1 KQi-1 mod 256,

где i = 1, 2, 3…,

SQL1 = SQL0 KQ0 mod 256,

где SQL0 = SQ, KQ0= L*M mod 256;

- для вычисления матриц SQLi вычисляют несколько предварительных матриц-ключей по формуле:

KQi = μi*KQi-1 mod 256, где μi – константы, которые могут быть выбраны либо из элементов матриц L и M (32 числа), либо из диапазона от 1…..255;

- передают коэффициенты шифрования получателю информации.

2. Способ по п.1, отличающийся тем, что выбирают порядок использования матриц SQLi.

Документы, цитированные в отчете о поиске Патент 2024 года RU2831832C1

СПОСОБ ПОБАЙТНОЙ ПЕРЕДАЧИ ИНФОРМАЦИИ С ПОМОЩЬЮ ПОТОЧНОГО ШИФРОВАНИЯ 2023
  • Дедов Олег Петрович
RU2811065C1
Способ генерации гаммы, используемый при поточном шифровании 2021
  • Дедов Олег Петрович
RU2783406C1
СПОСОБ КРИПТОГРАФИЧЕСКОГО ПРЕОБРАЗОВАНИЯ С ОДНОВРЕМЕННОЙ ВЫРАБОТКОЙ ПРОИЗВОДНОГО КЛЮЧА ШИФРОВАНИЯ 2021
  • Бахтин Александр Александрович
  • Переверзев Алексей Леонидович
  • Шарамок Александр Владимирович
RU2775253C1
Электромагнитный прерыватель 1924
  • Гвяргждис Б.Д.
  • Горбунов А.В.
SU2023A1
CN 101296358 A, 29.10.2008.

RU 2 831 832 C1

Авторы

Дедов Олег Петрович

Даты

2024-12-16Публикация

2024-04-25Подача