Устройство итерации шифрования данных алгоритма "Магма" по стандарту ГОСТ Р 34.12-2015
DEVICE FOR DATA ENCRYPTION ITERATION OF THE “MAGMA” ALGORITHM ACCORDING TO GOST R 34.12-2015 STANDARD

Настоящее изобретение относится к средствам криптографической защиты информации, а именно к устройствам шифрования данных в соответствии с алгоритмом «Магма» по стандарту ГОСТ Р 34.12-2015 [1], и может быть использована в доверенных сенсорных системах сбора, обработки и передачи цифровых данных.
В совокупности заявленных признаков изобретения используются следующие термины:
инвертированное представление данных - представление двоичных данных в котором производят побитное инвертирование значений данных представленных в прямом представлении;
опасная информация - информация, раскрытие которой может облегчить задачу криптоанализа устройства шифрования;
побочные каналы - каналы передачи информации непредусмотренные как штатные для передачи информации в конкретном устройстве шифрования (например, передача обрабатываемой в устройстве шифрования информации через электромагнитные колебания, возникающие в результате работы вычислительной техники);
итерационный ключ - значение, используемое в итерации шифрования в качестве ключа шифрования;
итерационная функция - совокупность элементарных преобразований, шифруемых данных на одной итерации криптографического преобразования.
Из уровня техники известно, что при разработке устройств криптографической защиты информации дополнительно к реализации различных функциональных требований необходимо обеспечить защиту от возможного съема открытой и опасной информации по каналам побочных электромагнитных излучений и наводок (далее побочные каналы) [2].
Известно, что противодействовать съему опасной информации по побочным каналам возможно путем создания оптимальной маскирующей помехи [3]. При этом оптимальная маскирующая помеха создается при обработке данных в инвертированном представлении [3]. При криптографическом преобразовании данных в соответствии с алгоритмом «Магма» по стандарту ГОСТ Р 34.12-2015 для создания оптимальной маскирующей помехи одновременно с преобразованием данных в устройстве с прямым представлением необходимо реализовать синхронную обработку данных в устройстве с инвертированным представлением.
Наиболее близким к заявленному изобретению является устройство итерации шифрования данных, описанное в патенте РФ №2498416 С1, МПК H04L 9/06, G09C 1/00, Устройство шифрования данных по стандарту ГОСТ 28147-89/ Заявл. 15.05.2012; Опубл. 10.11.2013 [4]. Техническим результатом прототипа является повышение тактовой частоты устройства шифрования данных. Устройство итерации, реализующее последовательность действий для каждой итерации шифрования данных, содержит блок суммирования, блок подстановки, блок сдвига и дополнительный регистр. С учетом использования дополнительного регистра максимальная тактовая частота в схеме прохождения данных определяется максимальной задержкой в блоке суммирования и в блоках подстановки и сдвига.
Недостатком прототипа является отсутствие возможности обработки данных в инвертированном представлении, что не позволяет формировать оптимальную маскирующую помеху при криптографической обработке данных в устройстве криптографической защиты информации.
Задачей настоящего изобретения является обеспечение криптографической обработки данных на одной итерации в соответствии с алгоритмом «Магма» по стандарту ГОСТ Р 34.12-2015 при их инвертированном представлении.
Это достигается благодаря тому, что в устройстве криптографической защиты информации реализуют инвертированные вычисления для операций, составляющих итерацию шифрования данных. В этом случае при соответствии входных данных в прямом и инвертированном представлении сохраняется соответствие выходных данных и промежуточных результатов криптографического преобразования в прямом и инвертированном представлении.
32
32
32
32
32
Для достижения цели изобретения устройство итерации шифрования данных алгоритма «Магма» по стандарту ГОСТ Р 34.12-2015 содержит блок суммирования данных с итерационным ключом, блок подстановки по таблице замен, блок циклического сдвига, причем первый вход устройства соединен с первым входом блока суммирования по модулю 2, второй вход устройства соединен со вторым входом блока суммирования по модулю 2, выход блока суммирования по модулю 2 соединен с входом блока подстановки по таблице замен, выход блока подстановки по таблице замен соединен с входом блока циклического сдвига. Дополнительно введен блок сложения по модулю 2, добавлены третий вход блока суммирования по модулю 2 и третий вход устройства, а выход блока циклического сдвига соединен с первым входом блока сложения по модулю 2, третий вход устройства соединен со вторым входом блока сложения по модулю 2, третий вход блока суммирования по модулю 2 соединен с источником константного значения 1, выход блока сложения по модулю 2 соединен с выходом устройства.
32
На Фиг. 1 представлена структурная схема устройства итерации шифрования данных алгоритма «Магма» по стандарту ГОСТ Р 34.12-2015 при инвертированном представлении данных обрабатывающего 64-х битный блок данных, где 1 - блок суммирования по модулю 2 данных с итерационным ключом, 2 - блок подстановки по таблице замен, 3 - блок циклического сдвига, 4 - блок сложения по модулю 2. Устройство имеет входы 1 и 3 на которые подаются 32 битные подблоки данных подлежащие шифрованию, выход 1 с которого снимают результат шифрования и вход 2 на который подают итерационный ключ шифрования.
32
32
32
32
Вход 1 устройства соединен с входом 1 блока суммирования по модулю 2. Вход 2 устройства соединен с входом 2 блока суммирования по модулю 2. Вход 3 устройства соединен с входом 2 блока сложения по модулю 2. Вход 3 блока суммирования по модулю 2 соединен с источником константного значение 1. Выход блока суммирования по модулю 2 соединен с входом блока подстановки по таблице замен. Выход блока подстановки по таблице замен соединен с входом блока циклического сдвига. Выход блока циклического сдвига соединен с входом 1 блока сложения по модулю 2. Выход блока сложения по модулю 2 соединен с выходом 1 устройства. Работа всего устройства тактируется от внешнего устройства тактового сигнала.
32
32
32
На Фиг. 2 представлен блок суммирования по модулю 2, обеспечивающий выполнение условий инвертированного сложения по модулю 2. Для этого в блок суммирования по модулю 2 дополнительно к подаваемым на входы 1 и 2 32-разрядным слагаемым подают на вход 3 константную единицу, суммируемую с младшими разрядами слагаемых. В качестве входа 3 может использоваться вход переноса из предыдущего сумматора, имеющийся в 32-х разрядных двоичных полных сумматорах.
Рассмотрим работу устройства итерации шифрования данных алгоритма «Магма» по стандарту ГОСТ Р 34.12-2015 при инвертированном представлении данных.
Устройство целиком и его отдельные блоки могут быть реализованы, например, с использованием программируемых логических схем [6].
32
n
Устройство осуществляет преобразование шифруемого блока данных в инвертированном представлении в соответствии с итерационной функцией алгоритма «Магма» по стандарту ГОСТ Р 34.12-2015. При шифровании 64-х битного блока данных его разбивают на два 32-х битных подблока. Первый подблок подают на вход 1 устройства, второй подблок подают на вход 3 устройства. На вход 2 устройства подают 32-х битный итерационный ключ. Все подаваемые на входы устройства данные имеют инвертированное представление. С входа 1 устройства первый подблок данных подают на вход 1 блока 1. С входа 2 устройства на вход 2 блока 1 подают итерационный ключ. На вход 3 блока 1 подают константное значение 1. В блоке 1 осуществляют сложение по модулю 2 первого подблока данных с итерационным ключом в соответствии с приведенными ниже условиями инвертированного сложения по модулю 2. Результат сложения в блоке 1 с выхода блока 1 подают на вход блока 2, где осуществляют подстановку подблока в соответствии с приведенной ниже инвертированной таблицей замен алгоритма «Магма». Результат подстановки по инвертированной таблице замен в блоке 2 с выхода блока 2 подают на вход блока 3, где осуществляют циклических сдвиг подблока в соответствии с требованиями алгоритма «Магма». Результат циклического сдвига в блоке 3 подают с выхода блока 3 на вход 1 блока 4. С входа 3 устройства второй подблок подают на вход 2 блока 4. В блоке 4 осуществляют сложение по модулю 2 результата преобразования первого подблока со вторым подблоком. Результат сложения по модулю 2 в блоке 4 с выхода блока 4 подают на выход 1 устройства. Значение на выходе 1 устройства является результатом шифрования второго подблока данных в инвертированном представлении на текущей итерации криптографического преобразования. Первый подблок передается на обработку в следующую итерацию шифрования без изменений.
В устройстве итерации шифрования данных алгоритма «Магма» по стандарту ГОСТ Р 34.12-2015 обработки данных в инвертированном представлении входящие в его состав блоки функционируют следующим образом:
n
1. В блоке суммирования данных с итерационным ключом при сложении двух инвертированных слагаемых дополнительно осуществляют сложение с константой равной 1 в младшем разряде сумматора, что обеспечивает выполнение условий инвертированного сложения по модулю 2[5].
2. В блоке подстановки по таблице замен содержимое каждого массива подстановок  алгоритма «Магма» [1] изменяется по формуле  т.е. в ячейку с инвертированным адресом помещается инвертированное содержимое ячейки с прямым адресом. Таблица замен алгоритма «Магма» из ГОСТ Р 34.12-2015 [1] при работе в инвертированном режиме приведена в таблице.
3. В блоке циклического сдвига и блоке сложения по модулю 2 операции с инвертированными данными осуществляются аналогично операциям с данными в прямом представлении.
Предлагаемое устройство итерации шифрования данных алгоритма «Магма» по стандарту ГОСТ Р 34.12-2015 позволяет осуществить преобразование данных представленных в инвертированном представлении в соответствии с итерационной функцией алгоритма «Магма» по стандарту ГОСТ Р 34.12-2015, при этом между преобразованиями в прямом и инвертированном представлении сохраняется изоморфизм, т.е. при соответствии входных данных в прямом и инвертированном представлении сохраняется соответствие выходных данных и промежуточных результатов в прямом и инвертированном представлении.
Источники информации:
1. Соболев А.Н., Кириллов В.М. Физические основы технических средств обеспечения информационной безопасности: Учебное пособие. - М.: Гелиос АРВ, 2004, - 224 с., ил.
2. Шарамок А.В. Обеспечение структурной скрытности информативных сигналов побочных электромагнитных излучений и наводок // Специальная техника №3 2011 г. - с. 30-33.
3. ГОСТ 34.12-2015. Информационная технология. Криптографическая защита информации. Блочные шифры.
4. Патент РФ №2498416 С1, класс МПК H04L 9/06, G09C 1/00, Устройство шифрования данных по стандарту ГОСТ 28147-89/ Заявл. 15.05.2012; Опубл. 10.11.2013 – прототип.
5. Создатели отечественной электроники. Выпуск 5. Вильжан Мавлютинович Амербаев, Автор-составитель и редактор Малашевич Б.М., М.: ТЕХНОСФЕРА, 2021. -572 с., более 200 ил, с. 424.
6. Дж. Ф. Уэйкерли, Проектирование цифровых устройств, том 1. - М.: Постмаркет, 2002. - 544 с.