УСТРОЙСТВО ШИФРОВАНИЯ ДАННЫХ ПО СТАНДАРТУ ГОСТ Р 34.12-2015 И АЛГОРИТМАМ "МАГМА" И AES

Полезная модель относится к шифровальным устройствам на основе стандарта шифрования данных, а именно к устройствам шифрования данных по стандарту ГОСТ Р 34.12-2015 и алгоритмам «Магма» и AES (Advanced Encryption Standard, улучшенный стандарт шифрования), и может быть использована в системах шифрования данных.
Одним из алгоритмов блочного шифрования в российском стандарте ГОСТ Р 34.12-2015 является алгоритм «Магма». В то же время в современной аппаратуре часто необходимо использовать алгоритм шифрования AES, принятый на Западе.
Оба алгоритма имеют схожую структуру. Алгоритм «Магма» построен на основе сети Фейстеля, а алгоритм AES на основе SP-сети. Обе структуры являются итеративными и с точки зрения аппаратной реализации сводятся к тому (фиг. 1), что входной блок данных, который нужно зашифровать/расшифровать, загружают в накопитель данных и далее подвергают последовательности преобразований (раундов).
Данные после каждого раунда копируют в накопитель и снова подвергают раундовому преобразованию и так n раз, где n - количество раундов, необходимое для полного цикла зашифрования/расшифрования.
Наиболее типичная аппаратная реализация обоих алгоритмов содержит накопитель данных и ключа, а также функциональную часть, где выполняют преобразование данных. На фиг. 1 показана схема прохождения данных в алгоритмах «Магма» и AES. Оба указанных алгоритма являются ресурсоемкими и требуют существенных аппаратных затрат.
Для повышения производительности и для реализации дополнительных режимов помимо режима простой замены на каждый накопитель требуется еще дополнительный буфер такого же размера. В таблице 1 приведен объем данных, который необходимо хранить в устройстве шифрования данных (с учетом дополнительного буфера).
Наиболее близким к заявленной полезной модели является устройство шифрования данных, описанное в патенте RU 2498416 С1. Это устройство выбрано в качестве прототипа заявленной полезной модели.
Недостатком устройства прототипа является возможность одновременного шифрования данных только по одному алгоритму.
Техническим результатом заявленной полезной модели является создание устройства шифрования данных по стандарту ГОСТ Р 34.12-2015 и алгоритмам «Магма» и AES с меньшими аппаратными затратами и возможностью шифрования данных одновременно по алгоритмам «Магма» и AES за счет применения общего накопителя данных и общего накопителя ключа для шифрования по алгоритмам «Магма» и AES. При этом, количество регистров, необходимых для хранения данных и ключа, сокращается практически в два раза. С учетом комбинационных частей алгоритмов выигрыш в аппаратуре устройства шифрования данных составляет порядка 1,5 раза.
Заявленный технический результат выполнен за счет создания устройства шифрования данных по стандарту ГОСТ Р 34.12-2015 и алгоритмам «Магма» и AES, содержащего накопитель данных алгоритмов «Магма» и AES, выходы которого соединены со входами устройства раунда алгоритма «Магма» и устройства раунда алгоритма AES, выходы которых соединены со входом накопителя данных алгоритмов «Магма» и AES; накопитель ключа алгоритмов «Магма» и AES, выходы которого соединены со входами устройства выработки ключа раунда алгоритма «Магма» и устройства выработки ключа раунда алгоритма AES, выходы которых соединены со входом накопителя ключа алгоритмов «Магма» и AES; устройство управления, соединенное с накопителем данных алгоритмов «Магма» и AES, с накопителем ключа алгоритмов «Магма» и AES и с внешней шиной данных.
В предпочтительном варианте осуществления накопители данных и ключа выполнены в виде регистровой памяти с возможностью хранения промежуточных данных межраундовых преобразований того устройство раунда, которое работает на данный момент.
В предпочтительном варианте осуществления размер накопителей данных и ключа определяют величины IDS=max{DS(AES),DS(MAGMA)} и IKS=max{KS(AES),KS(MAGMA)} соответственно, где DS(i) определяет размер, необходимый для хранения данных алгоритма i с учетом буфера, a KS(i) определяет размер, необходимый для хранения ключа алгоритма i с учетом буфера.
В предпочтительном варианте осуществления устройство шифрования данных содержит π - блоки, выход которых соединен с входом устройства раунда алгоритма «Магма».
В заявленной полезной модели для сокращения аппаратных затрат предлагается объединить в одном устройстве шифрования данных накопители ключа и накопители данных двух устройств устройства шифрования данных по алгоритмам «Магма» и AES. Для этого реализуют два совместных накопителя: первый отвечает за хранение данных, второй за хранение ключа. Размер накопителей данных и ключа определяется величиной IDS=max{DS(AES),DS(MAGMA)} и IKS=max{KS(AES),KS(MAGMA)} соответственно, где DS(i) определяет размер, необходимый для хранения данных алгоритма i, с учетом буфера, а KS(i) определяет размер, необходимый для хранения ключа алгоритма i, с учетом буфера. При аппаратной реализации накопители данных и ключа будут представлять собой регистровую память. В зависимости от того, какое устройство раунда на данный момент работает, оно будет хранить свои промежуточные данные межраундовых преобразований в регистровой памяти.
Для лучшего понимания заявленной полезной модели далее приводится ее подробное описание с соответствующими графическими материалами.
Фиг. 1. Схема прохождения данных при шифровании отдельно в алгоритме «Магма» или AES, выполненная согласно прототипу.
Фиг. 2. Схема прохождения данных при шифровании в объединенном устройстве шифрования данных по стандарту ГОСТ Р 34.12-2015 и алгоритмам «Магма» и AES, выполненная согласно полезной модели.
Фиг. 3. Схема устройства шифрования данных по стандарту ГОСТ Р 34.12-2015 и алгоритмам «Магма» и AES, выполненная согласно полезной модели.
Элементы:
1 - накопитель данных алгоритмов «Магма» и AES;
2 - накопитель ключа алгоритмов «Магма» и AES;
3 - устройство раунда алгоритма «Магма»;
4 - устройство раунда алгоритма AES;
5 - устройство выработки ключа раунда алгоритма «Магма»;
6 - устройство выработки ключа раунда алгоритма AES;
7 - устройство управления;
8 - π - блоки;
9 - шина данных.
Фиг. 4. Схема прохождения данных в течение одного раунда преобразования в объединенном устройстве шифрования данных по стандарту ГОСТ Р 34.12-2015 и алгоритмам «Магма» и AES, выполненная согласно полезной модели.
Табл. 1. Объем данных, который необходимо хранить в устройствах шифрования данных по алгоритму «Магма» и алгоритму AES, согласно прототипу.
Табл. 2. Объем данных, который необходимо хранить в устройстве шифрования данных по стандарту ГОСТ Р 34.12-2015 и алгоритмам «Магма» и AES, согласно полезной модели.
Рассмотрим вариант выполнения заявленного устройства шифрования данных по стандарту ГОСТ Р 34.12-2015 и алгоритмам «Магма» и AES (фиг. 3), содержащего накопитель 1 данных алгоритмов «Магма» и AES, выходы которого соединены со входами устройства 3 раунда алгоритма «Магма» и устройства 4 раунда алгоритма AES, выходы которых соединены со входом накопителя 1 данных алгоритмов «Магма» и AES; накопитель 2 ключа алгоритмов «Магма» и AES, выходы которого соединены со входами устройства 5 выработки ключа раунда алгоритма «Магма» и устройства 6 выработки ключа раунда алгоритма AES, выходы которых соединены со входом накопителя 2 ключа алгоритмов «Магма» и AES; устройство управления 7, соединенное с накопителем 1 данных алгоритмов «Магма» и AES, с накопителем 2 ключа алгоритмов «Магма» и AES и с внешней шиной данных 9, а также π - блоки 8, выход которых соединен с входом устройства 3 раунда алгоритма «Магма».
На фиг. 4 показано прохождение данных в течение одного раунда преобразования в рассматриваемом варианте выполнения заявленного устройства шифрования данных. Данные из общего хранилища поступают одновременно в схемы преобразования «Магма» и AES. После этого они поступают в мультиплексор МХ1, в котором осуществляется выбор данных для запоминания после преобразования. Выбор осуществляют в зависимости от алгоритма преобразования, который задают пользователем перед началом процесса шифрации/дешифрации. Выбранные данные посылают в хранилище и используют в новом раунде преобразования.
В алгоритме шифрации AES одновременно с преобразованием данных осуществляют преобразование ключа, в алгоритме «Магма» - нет. Поэтому ключ поступает одновременно в блоки преобразования AES, «Магма» и в блок преобразования ключа по AES. Мультиплексор МХ2 выбирает либо преобразованный ключ для алгоритма AES, либо исходный ключ в случае преобразования «Магма». Запомненный ключ затем используют в новом раунде преобразования.
Заявленное устройство шифрования данных по стандарту ГОСТ Р 34.12-2015 и алгоритмам «Магма» и AES имеет меньшие аппаратные затраты и возможность шифрования данных одновременно по алгоритмам «Магма» и AES, за счет применения общего накопителя данных и общего накопителя ключа для шифрования по алгоритмам «Магма» и AES. При этом количество регистров, необходимых для хранения данных и ключа, сокращено практически в два раза. С учетом комбинационных частей алгоритмов выигрыш в аппаратуре заявленного устройства шифрования данных составляет порядка 1,5 раза.
Хотя описанный выше вариант выполнения полезной модели был изложен с целью иллюстрации заявленной полезной модели, специалистам ясно, что возможны разные модификации, добавления и замены, не выходящие из объема и смысла заявленной полезной модели, раскрытой в прилагаемой формуле полезной модели.