УСТРОЙСТВО ШИФРОВАНИЯ ДАННЫХ ПО СТАНДАРТАМ ГОСТ 28147-89 И AES
DEVICE FOR ENCRYPTING DATA ACCORDING TO STANDARDS GOST 28147-89 AND AES

Область техники
Настоящее изобретение относится к шифровальным устройствам на основе стандарта шифрования данных, более конкретно к шифрованию данных по стандарту ГОСТ 28147-89 и AES.
Уровень техники
Стандартным алгоритмом шифрования данных в РФ является ГОСТ 28147-89. В то же время в современной аппаратуре часто необходимо использовать алгоритм шифрования AES, принятый на Западе.
Оба алгоритма имеют схожую структуру. ГОСТ 28147-89 строится на основе сети Фейстеля, AES на основе SP-сети. Обе структуры являются итеративными и с точки зрения аппаратной реализации сводятся к тому, что входной блок данных, который нужно зашифровать/расшифровать, загружается в накопитель и далее подвергается последовательности преобразований (раундов).
Данные после каждого раунда (фиг.1) копируются в накопитель и снова подвергаются раундовому преобразованию и так n раз, где n - количество раундов, необходимое для полного цикла шифрования/расшифровывания.
Наиболее типичная аппаратная реализация обоих алгоритмов содержит накопитель данных и ключа, а также функциональную часть (устройство раунда), где выполняется преобразование данных. На фиг.2 показан ход прохождения данных в алгоритмах ГОСТ 28147-89 и AES соответственно. Оба указанных алгоритма являются ресурсоемкими и требуют существенных аппаратных затрат.
Для повышения производительности и для реализации дополнительных режимов помимо режима простой замены требуется еще на каждый накопитель дополнительный буфер такого же размера.
В нижеприведенной таблице приведен объем данных, который необходимо хранить в устройстве (с учетом буфера):
Данные
Ключ
ГОСТ 28147-89
128(64*2)
512(256*2)
AES
256(128*2)
512(256*2)
Итого: 1408 (ключ + данные)
Целью настоящего изобретения является разработка объединенной аппаратной реализации шифрования данных по стандартам ГОСТ 28147-89 и AES, которая будет требовать меньше ресурсов для работы.
Сущность изобретения
Техническим результатом предлагаемого изобретения является сокращение объема памяти, необходимой для шифрования данных по стандартам ГОСТ 28147-89 и AES, т.е. сокращение аппаратных затрат.
Для сокращения аппаратных затрат в устройстве шифрования данных объединены накопители ключа и данных устройств шифрования по стандартам ГОСТ 28147-89 и AES.
Устройство шифрования данных по стандартам ГОСТ 28147-89 и AES содержит: схему преобразования по ГОСТ 28147-89, схему преобразования по AES, блок преобразования ключа по AES, первый мультиплексор, второй мультиплексор, накопитель данных и накопитель ключа. Выход накопителя данных подключен к первому входу схемы преобразования по ГОСТ 28147-89 и к первому входу схемы преобразования по AES. Выход накопителя ключа подключен к второму входу схемы преобразования по ГОСТ 28147-89, к второму входу схемы преобразования по AES, к входу блока преобразования ключа по AES и к второму входу второго мультиплексора. Выходы схемы преобразования по ГОСТ 28147-89 и схемы преобразования по AES подключены к первому и второму входам первого мультиплексора соответственно. Выход первого мультиплексора подключен к входу накопителя данных. Выход блока преобразования ключа по AES подключен к первому входу второго мультиплексора. Выход второго мультиплексора подключен к входу накопителя ключа. На управляющие входы первого и второго мультиплексоров поступают сигналы выбора алгоритма шифрования.
Использование совместных накопителей данных и ключа в объединенном устройстве шифрования данных сокращает количество элементов памяти, необходимых для хранения данных и ключа, вдвое.
Краткое описание чертежей
На фиг.1 представлена примерная аппаратная реализация для шифрования данных по стандартам ГОСТ 28147-89 и AES.
На фиг.2 представлен ход прохождения данных в алгоритмах шифрования по стандартам ГОСТ 28147-89 и AES соответственно.
На фиг.3 представлена функциональная схема устройства шифрования по стандартам ГОСТ 28147-89 и AES.
Подробное описание изобретения
В предлагаемом устройстве шифрования данных реализованы два совместных накопителя: первый отвечает за хранение данных, второй за хранение ключа. Размер накопителей данных и ключа определяется величиной IDS=max{DS(AES),DS(GOST)} и IKS=max{KS(AES),KS(GOST)} соответственно, где DS(i) определяет размер, необходимый для хранения данных алгоритма i, с учетом буфера. KS(i) определяет размер, необходимый для хранения ключа алгоритма i, с учетом буфера. При аппаратной реализации накопители данных и ключа будут представлять собой регистровую память. В зависимости от того, какое устройство на данный момент работает, оно будет хранить свои промежуточные данные межраундовых преобразований в регистровой памяти.
В нижеприведенной таблице приведен объем данных, который необходимо хранить в устройстве (с учетом буфера), при использовании предлагаемого объединения накопителей:
Данные
Ключ
ГОСТ 28147-89 + AES
256 (128*2)
512 (256*2)
Итого: 768 (ключ + данные)
Таким образом, количество регистров, необходимых для хранения данных и ключа, сокращается вдвое. С учетом комбинационных частей алгоритмов выигрыш в аппаратуре составляет порядка 1,5.
Устройство шифрования данных по стандартам ГОСТ 28147-89 и AES (фиг.3) содержит: схему преобразования по ГОСТ 28147-8, схему преобразования по AES, блок преобразования ключа по AES, первый мультиплексор МХ1, второй мультиплексор МХ2, накопитель данных размером IDS и накопитель ключа размером IKS. Выход накопителя данных подключен к первому входу схемы преобразования по ГОСТ 28147-89 и к первому входу схемы преобразования по AES. Выход накопителя ключа подключен к второму входу схемы преобразования по ГОСТ 28147-89, к второму входу схемы преобразования по AES, к входу блока преобразования ключа по AES и к второму входу второго мультиплексора. Выходы схем преобразования по ГОСТ 28147-8 и AES подключены к входам первого мультиплексора. Выход первого мультиплексора подключен к входу накопителя данных. Выход блока преобразования ключа по AES подключен к первому входу второго мультиплексора. Выход второго мультиплексора подключен к входу накопителя ключа. На управляющие входы мультиплексоров (не показано на фигуре) поступают сигналы выбора алгоритма шифрования.
Устройство шифрования данных по стандартам ГОСТ 28147-89 и AES (фиг.3) работает следующим образом. Данные из общего хранилища поступают одновременно в схемы преобразования по ГОСТ 28147-89 и AES. После этого данные поступают в мультиплексор МХ1, в котором осуществляется выбор данных для запоминания после преобразования. Выбор осуществляется в зависимости от алгоритма преобразования, который задается пользователем перед началом процесса шифрования/дешифрования. Выбранные данные поступают в хранилище и используются в новом раунде преобразования.
В алгоритме шифрования данных по стандарту AES одновременно с преобразованием данных осуществляется преобразование ключа, в алгоритме по стандарту ГОСТ 28147-89 - нет. Поэтому ключ поступает одновременно в схемы преобразования по AES, по ГОСТ 28147-89, во второй мультиплексор и в блок преобразования ключа по AES. Мультиплексор МХ2 выбирает либо преобразованный ключ для алгоритма по стандарту AES, либо исходный ключ в случае преобразования по стандарту ГОСТ 28147-89. Запомненный ключ затем используется в новом раунде преобразования.