УСТРОЙСТВО ДЛЯ РЕАЛИЗАЦИИ АЛГОРИТМА ШИФРОВАНИЯ «КУЗНЕЧИК» СТАНДАРТА ГОСТ Р 34.12-2015 И АЛГОРИТМА ХЭШ-ФУНКЦИИ «СТРИБОГ» СТАНДАРТА ГОСТ Р 34.11-2012 Российский патент 2021 года по МПК G09C1/00 H04L9/06 

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

Изобретение относится к шифровальным устройствам на основе стандарта шифрования данных, а именно к устройствам для реализации алгоритма шифрования «Кузнечик» стандарта ГОСТ Р 34.12-2015 и алгоритма хэш-функции «Стрибог» стандарта ГОСТ Р 34.11-2012 и может быть использовано в системах шифрования данных.

В России в настоящее время наиболее современным алгоритмом блочного шифрования является алгоритм «Кузнечик» стандарта ГОСТ Р 34.12-2015, а наиболее актуальным алгоритмом хэш-функции является алгоритм «Стрибог» стандарта ГОСТ Р 34.11-2012. В связи с появлением проекта рекомендаций по стандартизации «Информационная технология. Криптографическая защита информации. Использование российских криптографических алгоритмов в протоколе безопасности транспортного уровня (TLS 1.3)», аппаратная реализация обоих алгоритмов в одном устройстве становится очень актуальной. Оба алгоритма очень требовательны к количеству используемой аппаратуры.

В обоих алгоритмах используют нелинейное биективное преобразование, в качестве которого выступает подстановка:

π = Vec8 π'Int8: V8 → V8, где π': . Значения подстановки π' записаны ниже в виде массива π' = (π'(0), π'(1), …, π'(255)):

π' = (252, 238, 221, 17, 207, 110, 49, 22, 251, 196, 250, 218, 35, 197, 4, 77, 233, 119, 240, 219, 147, 46, 153, 186, 23, 54, 241. 187, 20, 205, 95, 193, 249, 24, 101, 90, 226, 92, 239, 33, 129, 28, 60, 66, 139, 1, 142, 79, 5, 132, 2, 174, 227, 106, 143, 160, 6, 11, 237, 152, 127, 212, 211, 31, 235, 52, 44, 81, 234, 200, 72, 171, 242, 42, 104, 162, 253, 58, 206, 204, 181, 112, 14, 86, 8, 12, 118, 18, 191, 114, 19, 71, 156, 183, 93, 135, 21, 161, 150, 41, 16, 123, 154, 199, 243, 145, 120, 111, 157, 158, 178, 177, 50, 117, 25, 61, 255, 53, 138, 126, 109, 84, 198, 128, 195, 189, 13, 87, 223, 245, 36, 169, 62, 168, 67, 201, 215, 121, 214, 246, 124, 34, 185, 3, 224, 15, 236, 222, 122, 148, 176, 188, 220, 232, 40, 80, 78, 51, 10, 74, 167, 151, 96, 115, 30, 0, 98, 68, 26, 184, 56, 130, 100, 159, 38, 65, 173, 69, 70, 146, 39, 94, 85, 47, 140, 163, 165, 125, 105, 213, 149, 59, 7, 88, 179, 64, 134, 172, 29, 247, 48, 55, 107, 228, 136, 217, 231, 137, 225, 27, 131, 73, 76, 63, 248, 254, 141, 83, 170, 144, 202, 216, 133, 97, 32, 113, 103, 164, 45, 43, 9, 91, 203, 155, 37, 208, 190, 229, 108, 82, 89, 166, 116, 210, 230, 244, 180, 192, 209, 102, 175, 194, 57, 75, 99, 182),

где - биективное отображение, сопоставляющее элементу кольца его двоичное представление, т.е. для любого элемента , представленного в виде z = z0 + 2 ∙ z1 + … + 2s - 1 ∙ zs - 1, где zi {0, 1}, i = 0, 1, …, s - 1, выполнено равенство Vecs(z) = zs - 1||…||z1||z0;

Ints: - отображение, обратное к отображению Vecs , т.е. Ints = Vecs-1;

- кольцо вычетов по модулю 2s;

A||B - конкатенация строк A, , т.е. строка из V|A| + |B|, в которой подстрока с большими номерами компонент из V|A| совпадает со строкой A, а подстрока с меньшими номерами компонент из V|B| совпадает со строкой B;

V* - множество всех двоичных строк конечной длины, включая пустую строку;

Vs множество всех двоичных строк длины s, где s – целое неотрицательное число; нумерация подстрок и компонент строки осуществляется справа налево начиная с нуля;

|A| - число компонент (длина) строки (если A – пустая строка, то |A| = 0);

В известных наиболее близких к заявленному изобретению известных устройствах аппаратной реализации алгоритмов шифрования «Кузнечик» и «Стрибог» подстановку осуществляют с помощью блоков замены байт [4]. В устройстве реализации алгоритма «Кузнечик» размер обрабатываемого блока данных равен 128 бит и при обработке блока данных за один такт применяют шестнадцать блоков замены байт (Фиг. 1). В устройстве реализации алгоритма «Стрибог» размер обрабатываемого блока данных равен 512 битам, и при обработке блока данных за один такт применяют шестьдесят четыре блока замены байт (Фиг. 2). Данные устройства выбраны в качестве прототипов заявленного изобретения.

Недостатком устройств прототипов является их высокая стоимость вследствие сложности аппаратной части по причине необходимости использования девяносто шести блоков замены байт для выполнения алгоритмов шифрования «Кузнечик» и «Стрибог» на одном устройстве, объединяющем оба устройства прототипов.

Техническим результатом изобретения является создание устройства для реализации алгоритма шифрования «Кузнечик» стандарта ГОСТ Р 34.12-2015 и алгоритма хэш-функции «Стрибог» стандарта ГОСТ Р 34.11-2012 с упрощенной конструкцией вследствие упрощения аппаратной части за счет использования шестидесяти четырех блоков замены байт для выполнения алгоритмов шифрования «Кузнечик» и «Стрибог» на одном устройстве.

Для сокращения аппаратуры при реализации алгоритмов «Кузнечик» и «Стрибог» на одном устройстве в заявленном изобретении объединены схемы устройств прототипов, показанные на Фиг. 1 и Фиг. 2. То есть используют 64 блока замены байт, 16 из которых используют для выполнения алгоритма «Кузнечик», при этом также используют 16 мультиплексоров, которые определяют активный алгоритм («Кузнечик» или «Стрибог»), который в данный момент времени использует блоки замены байт. Реализация мультиплексора требует меньше аппаратных ресурсов, чем реализация блока замены байт, что позволяет экономить значительное количество аппаратных ресурсов.

Поставленный технический результат достигнут путем создания устройства для реализации алгоритма шифрования «Кузнечик» стандарта ГОСТ Р 34.12-2015 и алгоритма хэш-функции «Стрибог» стандарта ГОСТ Р 34.11-2012, содержащего шестнадцать мультиплексоров и шестьдесят четыре блока замены байт, причем первый вход устройства выполнен с возможностью получения входных данных, в виде блоков размера 128 бит, алгоритма шифрования «Кузнечик» и соединен с первыми входами шестнадцати мультиплексоров, выходы которых соединены со входами шестнадцати блоков замены байт, а второй вход устройства выполнен с возможностью получения входных данных, в виде блоков размера 512 бит, алгоритма хэш-функции «Стрибог» и соединен с вторыми входами шестнадцати мультиплексоров, а также с входами сорока восьми блоков замены байт, при этом выходы всех блоков замены байт соединены с выходом устройства, выполненным с возможностью передачи выходных данных, в виде блоков размера 128 бит, алгоритма шифрования «Кузнечик» и выходных данных, в виде блоков размера 512 бит, алгоритма хэш-функции «Стрибог», причем мультиплексоры выполнены с возможностью определения активного алгоритма, при этом соединения первого входа устройства с входами шестнадцати блоков замены байт при осуществлении алгоритма шифрования «Кузнечик», и с возможностью соединения второго входа устройства с входами шестнадцати блоков замены байт при осуществлении алгоритма хэш-функции «Стрибог», а блоки замены байт выполнены с возможностью осуществления нелинейного биективного преобразования данных в соответствии с подстановкой π = Vec8π'Int8: V8 → V8, где π': .

Поставленный технический результат также достигнут путем создания устройства для реализации алгоритма шифрования «Кузнечик» стандарта ГОСТ Р 34.12-2015 и алгоритма хэш-функции «Стрибог» стандарта ГОСТ Р 34.11-2012, содержащего тридцать два мультиплексора и шестьдесят четыре блока замены байт, причем первый вход устройства выполнен с возможностью получения входных данных для шифрования, в виде блоков размера 128 бит, алгоритма шифрования «Кузнечик» и соединен с первыми входами шестнадцати мультиплексоров, выходы которых соединены со входами шестнадцати блоков замены байт, второй вход устройства выполнен с возможностью получения входных данных для имитовставки, в виде блоков размера 128 бит, алгоритма шифрования «Кузнечик» и соединен с первыми входами шестнадцати мультиплексоров, выходы которых соединены со входами шестнадцати блоков замены байт, а третий вход устройства выполнен с возможностью получения входных данных, в виде блоков размера 512 бит, алгоритма хэш-функции «Стрибог» и соединен с вторыми входами тридцати двух мультиплексоров, а также с входами тридцати двух блоков замены байт, при этом выходы первых шестнадцати блоков замены байт соединены с первым выходом устройства, а выходы вторых шестнадцати блоков замены байт соединены с вторым выходом устройства, при этом первый и второй выходы выполненным с возможностью передачи выходных данных, в виде блоков размера 128 бит, алгоритма шифрования «Кузнечик» и выходных данных, в виде блоков размера 512 бит, алгоритма хэш-функции «Стрибог», причем мультиплексоры выполнены с возможностью определения активного алгоритма, при этом соединения первого входа устройства с входами тридцати двух блоков замены байт при осуществлении алгоритма шифрования «Кузнечик», и с возможностью соединения второго входа устройства с входами тридцати двух блоков замены байт при осуществлении алгоритма хэш-функции «Стрибог», а блоки замены байт выполнены с возможностью осуществления нелинейного биективного преобразования данных в соответствии с подстановкой π = Vec8π'Int8: V8 → V8, где π': .

Рассмотрим более подробно вариант выполнения заявленного устройства для реализации алгоритма шифрования «Кузнечик» стандарта ГОСТ Р 34.12-2015 и алгоритма хэш-функции «Стрибог» стандарта ГОСТ Р 34.11-2012 без вырабатывания имитовставки при выполнении алгоритма шифрования «Кузнечик» (Фиг. 3).

Рассмотрим более подробно вариант выполнения заявленного устройства для реализации алгоритма шифрования «Кузнечик» стандарта ГОСТ Р 34.12-2015 и алгоритма хэш-функции «Стрибог» стандарта ГОСТ Р 34.11-2012 с полной аппаратной реализацией алгоритма «Кузнечик», которая требует параллельно операции шифрования/расшифрования вырабатывать имитовставку. Выработка имитовставки согласно ГОСТ Р 34.13-2015 похожа на процедуру зашифрования в режиме простой замены с зацеплением. Поэтому чтобы значение имитовставки было готово одновременно с зашифрованными данным, необходимо реализовывать два дублирующих алгоритма шифрования, что влечет за собой реализацию удвоенного количества блоков подстановки. Таким образом необходимо не 16, а 32 блока замены байт, 16 – для шифрования/дешифрования и 16 на выработку имитовставки, а также 32 мультиплексора, переключение которых определяет активный алгоритм («Кузнечик» или «Стрибог») (Фиг. 4).

Заявленное изобретение позволяет уменьшить аппаратные затраты, необходимые для реализации нелинейного биективного преобразования в алгоритмах «Кузнечик» и «Стрибог»: вместо 96 (16+16+64) блоков замены байт, требуемых в сумме для выполнения обоих алгоритмов с учетом параллельной выработки имитовставки в алгоритме «Кузнечик», в заявленном изобретении используют всего 64 блока замены байт.

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

Список литературы:

1. ГОСТ Р 34.11–2012 «Информационная технология. Криптографическая защита информации. Функция хэширования»

2. ГОСТ Р 34.12–2015 «Информационная технология. Криптографическая защита информации. Блочные шифры»

3. ГОСТ Р 34.13–2015 «Информационная технология. Криптографическая защита информации. Режимы работы блочных шифров»

4. Калистру И.И., Бородин М.А., Рыбкин А.С., Гладько Р.А. Способы реализации алгоритма «Кузнечик» на программируемых логических интегральных схемах. Радиопромышленность. 2018; 28(3):64-70.

 https://doi.org/10.21778/2413-9599-2018-28-3-64-70

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

название год авторы номер документа
УСТРОЙСТВО РАУНДА ШИФРОВАНИЯ ДАННЫХ ПО АЛГОРИТМУ "МАГМА" И СТАНДАРТУ ГОСТ Р 34.12-2015 2017
RU2654078C1
УСТРОЙСТВО ШИФРОВАНИЯ ДАННЫХ ПО СТАНДАРТУ ГОСТ Р 34.12-2015 И АЛГОРИТМАМ "МАГМА" И AES 2017
RU2649429C1
Устройство итерации шифрования данных алгоритма "Магма" по стандарту ГОСТ Р 34.12-2015 2021
  • Любушкина Ирина Евгеньевна
  • Зверев Евгений Михайлович
  • Шарамок Александр Владимирович
  • Переверзев Алексей Леонидович
RU2775254C1
Устройство шифрования данных алгоритма "Магма" по стандарту ГОСТ 34.12-2015 2022
  • Бордашевич Екатерина Алексеевна
  • Зверев Евгений Михайлович
  • Любушкина Ирина Евгеньевна
  • Шарамок Александр Владимирович
  • Переверзев Алексей Леонидович
RU2801707C1
СПОСОБ АУТЕНТИФИКАЦИИ КОМАНДНО-ПРОГРАММНОЙ ИНФОРМАЦИИ, ПЕРЕДАВАЕМОЙ ПО РАДИОКАНАЛАМ РОБОТОТЕХНИЧЕСКИХ КОМПЛЕКСОВ С БЕСПИЛОТНЫМИ ЛЕТАТЕЛЬНЫМИ АППАРАТАМИ 2023
  • Лях Антон Олегович
  • Финько Олег Анатольевич
  • Крамской Николай Николаевич
  • Балюк Алексей Анатольевич
RU2809313C1
Способ шифрования данных 2018
  • Рыбкин Андрей Сергеевич
RU2710669C1
Способ шифрования данных 2020
  • Кравцов Алексей Юрьевич
RU2759862C1
Способ построения узлов замены, использующий значения линейного и разностных спектров, и устройство его реализующее 2016
  • Менячихин Андрей Валерьевич
RU2633132C1
УСТРОЙСТВО ШИФРОВАНИЯ ДАННЫХ ПО СТАНДАРТУ ГОСТ 28147-89 2012
  • Архипкин Владимир Яковлевич
  • Ерохин Владимир Васильевич
  • Иванов Александр Викторович
RU2498416C1
СПОСОБ БЛОЧНОГО ПРЕОБРАЗОВАНИЯ ЦИФРОВЫХ ДАННЫХ НА ОСНОВЕ РЕГИСТРА СДВИГА ДЛИНЫ ВОСЕМЬ С 32-БИТОВЫМИ ЯЧЕЙКАМИ И С ТРЕМЯ ОБРАТНЫМИ СВЯЗЯМИ 2022
  • Задорожный Дмитрий Игоревич
  • Коренева Алиса Михайловна
  • Фомичев Владимир Михайлович
RU2796629C1

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

Реферат патента 2021 года УСТРОЙСТВО ДЛЯ РЕАЛИЗАЦИИ АЛГОРИТМА ШИФРОВАНИЯ «КУЗНЕЧИК» СТАНДАРТА ГОСТ Р 34.12-2015 И АЛГОРИТМА ХЭШ-ФУНКЦИИ «СТРИБОГ» СТАНДАРТА ГОСТ Р 34.11-2012

Изобретение относится к области шифрования данных. Техническим результатом является создание устройства для реализации алгоритма шифрования «Кузнечик» стандарта ГОСТ Р 34.12-2015 и алгоритма хэш-функции «Стрибог» стандарта ГОСТ Р 34.11-2012 с упрощенной конструкцией вследствие упрощения аппаратной части за счет использования шестидесяти четырех блоков замены байт для выполнения алгоритмов шифрования «Кузнечик» и «Стрибог» на одном устройстве. 2 н.п. ф-лы, 4 ил.

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

1. Устройство для реализации алгоритма шифрования «Кузнечик» стандарта ГОСТ Р 34.12-2015 и алгоритма хэш-функции «Стрибог» стандарта ГОСТ Р 34.11-2012, содержащее шестнадцать мультиплексоров и шестьдесят четыре блока замены байт, причем первый вход устройства выполнен с возможностью получения входных данных, в виде блоков размера 128 бит, алгоритма шифрования «Кузнечик» и соединен с первыми входами шестнадцати мультиплексоров, выходы которых соединены со входами шестнадцати блоков замены байт, а второй вход устройства выполнен с возможностью получения входных данных, в виде блоков размера 512 бит, алгоритма хэш-функции «Стрибог» и соединен с вторыми входами шестнадцати мультиплексоров, а также с входами сорока восьми блоков замены байт, при этом выходы всех блоков замены байт соединены с выходом устройства, выполненным с возможностью передачи выходных данных, в виде блоков размера 128 бит, алгоритма шифрования «Кузнечик» и выходных данных, в виде блоков размера 512 бит, алгоритма хэш-функции «Стрибог», причем мультиплексоры выполнены с возможностью определения активного алгоритма, при этом соединения первого входа устройства с входами шестнадцати блоков замены байт при осуществлении алгоритма шифрования «Кузнечик», и с возможностью соединения второго входа устройства с входами шестнадцати блоков замены байт при осуществлении алгоритма хэш-функции «Стрибог», а блоки замены байт выполнены с возможностью осуществления нелинейного биективного преобразования данных в соответствии с подстановкой π = Vec8π'Int8: V8 → V8, где π': .

2. Устройство для реализации алгоритма шифрования «Кузнечик» стандарта ГОСТ Р 34.12-2015 и алгоритма хэш-функции «Стрибог» стандарта ГОСТ Р 34.11-2012, содержащее тридцать два мультиплексора и шестьдесят четыре блока замены байт, причем первый вход устройства выполнен с возможностью получения входных данных для шифрования, в виде блоков размера 128 бит, алгоритма шифрования «Кузнечик» и соединен с первыми входами шестнадцати мультиплексоров, выходы которых соединены со входами шестнадцати блоков замены байт, второй вход устройства выполнен с возможностью получения входных данных для имитовставки, в виде блоков размера 128 бит, алгоритма шифрования «Кузнечик» и соединен с первыми входами шестнадцати мультиплексоров, выходы которых соединены со входами шестнадцати блоков замены байт, а третий вход устройства выполнен с возможностью получения входных данных, в виде блоков размера 512 бит, алгоритма хэш-функции «Стрибог» и соединен с вторыми входами тридцати двух мультиплексоров, а также с входами тридцати двух блоков замены байт, при этом выходы первых шестнадцати блоков замены байт соединены с первым выходом устройства, а выходы вторых шестнадцати блоков замены байт соединены с вторым выходом устройства, при этом первый и второй выходы выполненным с возможностью передачи выходных данных, в виде блоков размера 128 бит, алгоритма шифрования «Кузнечик» и выходных данных, в виде блоков размера 512 бит, алгоритма хэш-функции «Стрибог», причем мультиплексоры выполнены с возможностью определения активного алгоритма, при этом соединения первого входа устройства с входами тридцати двух блоков замены байт при осуществлении алгоритма шифрования «Кузнечик», и с возможностью соединения второго входа устройства с входами тридцати двух блоков замены байт при осуществлении алгоритма хэш-функции «Стрибог», а блоки замены байт выполнены с возможностью осуществления нелинейного биективного преобразования данных в соответствии с подстановкой π = Vec8π'Int8: V8 → V8, где π': .

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

УСТРОЙСТВО ШИФРОВАНИЯ ДАННЫХ ПО СТАНДАРТУ ГОСТ Р 34.12-2015 И АЛГОРИТМАМ "МАГМА" И AES 2017
RU2649429C1
УСТРОЙСТВО ШИФРОВАНИЯ ДАННЫХ ПО СТАНДАРТАМ ГОСТ 28147-89 И AES 2012
  • Архипкин Владимир Яковлевич
  • Иванов Александр Викторович
  • Ерохин Владимир Васильевич
RU2494471C1
US 6289454 B1, 11.09.2001
Способ приготовления лака 1924
  • Петров Г.С.
SU2011A1

RU 2 743 412 C1

Авторы

Архипкин Владимир Яковлевич

Ерохин Владимир Васильевич

Иванов Александр Викторович

Даты

2021-02-18Публикация

2020-02-02Подача