Экспериментальная оценка производительности одного класса криптоалгоритмов на основе обобщения сетей Фейстеля | ПДМ. Приложение. 2020. № 13. DOI: 10.17223/2226308X/13/18

Экспериментальная оценка производительности одного класса криптоалгоритмов на основе обобщения сетей Фейстеля

Представлены результаты экспериментальных исследований производительности алгоритма 256-3 (с блоком 256 бит и тремя функциями обратной связи), предложенного российскими исследователями в 2018 г. Производительность 256-3 оценивается величиной 24,57 циклов на байт. Проведено сравнение с известными блочными шифрами, получены оценки для программных реализаций алгоритмов на языке программирования C++ с использованием библиотеки Crypto++. Установлено, что производительность 256-3 от 1,2 до 2,6 раз превышает производительность алгоритмов «Магма» (ГОСТ 28147-89), «Кузнечик» (ГОСТ 34.122018), SEED, HIGHT, Camellia-256, Kalyna-256/256, MARS-256, CAST-256, что указывает на положительные (с позиции синтеза) эксплуатационные качества алгоритма 256-3.

Experimental estimates of the computational complexity of one class of cryp-toalgorithms based on the generalization of .pdf Введение Развитие информационных технологий и необходимость защиты информации определяют актуальность разработки новых криптографических алгоритмов, соответствующих современным требованиям к криптографической стойкости и эксплуатационным качествам. Для обеспечения конфиденциальности информации при её передаче, обработке и хранении требуются алгоритмы с высокой производительностью и варьируемыми параметрами (размерами длины ключа и блока) в зависимости от типа задачи. С целью увеличения производительности блочного шифрования в [1, 2] исследован класс регистровых преобразований R(n,r,m), реализуемых автономными регистрами сдвига длины n над множеством Vr = {0,1}r c m обратными связями, n > m ^ 1. Идея увеличения производительности состоит в увеличении размера блока данных при относительно небольшом увеличении числа обратных связей. Предложены способы построения биективных раундовых функций с блоками от 256 до 1056 бит, при которых координатные функции шифрующих подстановок нелинейные и реализуют полное перемешивание битов входного блока. На примере алгоритма 256-3 (с блоком 256 бит и тремя функциями обратной связи, аналогичными функции усложнения ГОСТ 28147-89) показано, что построенные алгоритмы превышают по производительности алгоритмы на основе классической сети Фейстеля. Экспериментально установлено, что производительность 32-раундового алгоритма 256-3 в два раза превышает производительность ГОСТ 28147-89. В работе представлены новые результаты экспериментальных исследований производительности алгоритма 256-3, проведено сравнение с известными блочными шифрами, которые являются международными, отраслевыми и национальными стандартами, а также рекомендованными международной организацией по стандартизации (ISO) [3]. 1. Схема раундовой функции алгоритма 256-3 Опишем принцип построения раундовой функции g алгоритма 256-3 [1, 2] (схема на рис. 1). Для фиксированного раунда обозначим: X = (X0,..., X7) - входной блок раунда, X Е V256, Xk Е V32, 0 ^ k ^ 7; Y = (Y0,..., Y7) - выходной блок раунда, Y Е V256, Yk Е V32, 0 ^ k ^ 7; S - сумма по модулю 232 нескольких подблоков входного блока, представленных числами из кольца вычетов Z232 ; qj -раундовый ключ, использующийся при вычислении значения функции обратной связи с номером j Е {1, 2, 3}; ф - сложение по модулю 2, Ш - сложение по модулю 232. Рис. 1. Схема раундовой подстановки g алгоритма 256-3 Раундовая подстановка g алгоритма 256-3 и обратная к ней определены формулами g(qi,q2,q3)(Xo,...,X7) = (Xi,f (S,qi) ф X2,X3,X4,/ (S^) Ф Х5ЛХ7,/ (S, 53) Ф Xo), g-1(qi,q2,q3)(Yo,...,Y7) = (f (S ',53) Ф Y7,Yo,/ (S ',qi) ф Yi,Y2,Y3,/ (S ',52) Ф Y^^), где S = Xi Ш X3 Ш X4 Ш X6 Ш X7 и S' = Y0 Ш Y2 Ш Y3 Ш Y5 Ш Y6. Регистр сдвига g имеет три идентичных обратных связи X2 ф /(S, qi), X5 ф /(S, q2), X0 ф /(S,q3), каждая из которых построена по принципу раундовой функции блочного шифра «Магма» (ГОСТ 34.12-2018). Функция f имеет вид f (S,qj) = T 11(WsA(SШqj)), где fflqj - сложение с раундовым ключом qj по модулю 232; Ws,4 -преобразование V32, реализуемое восемью 4-битовыми s-боксами алгоритма «Магма»; T11 -преобразование циклического левого сдвига на 11 бит. 2. Описание эксперимента и результаты исследования Проведено сравнение производительности алгоритма 256-3 с производительностью известных блочных шифров: AES-256, «Магма», «Кузнечик», SEED, SM4, HIGHT, Camellia-256, Kalyna-256/256, MARS-256, CAST-256, RC6-256. Программная реализация алгоритмов шифрования 256-3 и «Кузнечик» выполнена на языке программирования С+-+ с использованием кроссплатформенной бесплатной библиотеки Crypto+-+ 8.2 с открытым исходным кодом [4]. Для остальных алгоритмов использованы реализации из библиотеки Crypto+-+. Выбор данной библиотеки обусловлен большим количеством криптографических алгоритмов и высокой скоростью реализаций в сравнении с другими криптографическими библиотеками (на языках Python, C, C +-+). Эксперименты проведены на ПЭВМ с процессором Intel(R) Core(TM) i5-7600 с постоянной тактовой частотой U = 3,89 ГГц, архитектура операционной системы 64-битная (x64). Расширение системы команд AES-NI отключено. Оптимизация программного кода - /02. Для каждого из алгоритмов выполнено зашифрование открытого текста длиной L = 268435456 байт в режиме простой замены, ключ вырабатывался программным датчиком случайных чисел в составе библиотеки Crypto+-+. Время t, затраченное на зашифрование, измерялось с помощью системных часов реального времени стандартной библиотеки chrono. Затем рассчитывалось количество мебибайт (230 байт) обработанного открытого текста в секунду (МиБ/с) и независимая от частоты процессора характеристика производительности шифра - количество циклов на байт (CpB), согласно формуле CpB = tU/L. Результаты экспериментов приведены в таблице в порядке убывания производительности. Производительность шифров Шифр Число раундов CpB МиБ/с AES-256 14 7,92497 468,114 SM4 32 14,6612 253,035 RC6-256 20 15,2273 243,628 256-3 32 24,5674 151,005 MARS 32 29,2092 127,008 Camellia-256 24 31,247 118,725 CAST-256 48 31,4735 117,871 «Магма» 32 48,2291 76,9202 Kalyna-256/256 14 50,7198 73,1429 SEED 16 55,022 67,4239 «Кузнечик» 10 62,2676 59,5782 HIGHT 32 64,3055 57,6901 Выводы Результаты показали, что производительность реализации 256-3 ниже производительности AES-256, SM4, RC6-256 в 3, 1,68 и 1,61 раз соответственно. Это связано с высокой скоростью выполнения примитивных операций, заложенных в данные алгоритмы, на системах с архитектурой Intel IA-64. В то же время производительность 256-3 в 1,2-2,6 раз превышает производительность алгоритмов «Магма» (ГОСТ 34.122018), «Кузнечик» (ГОСТ 34.12-2018), SEED, HIGHT, Camellia-256, Kalyna-256/256, MARS-256, CAST-256, что указывает на положительные (с позиции синтеза) эксплуатационные качества алгоритма 256-3 и представляет данный алгоритм перспективным для потенциального применения в программных и аппаратных средствах защиты информации.

Ключевые слова

блочные шифры, производительность шифрования, 256-3, ГОСТ 28147-89, ГОСТ 34.12-2018, «Магма», «Кузнечик», AES, Rijndael, SEED, SM4, HIGHT, Camellia, Kalyna, MARS, CAST, RC6, Crypto++, block cipher performance, block ciphers benchmarks, 256-3, GOST, Magma, Kuznyechik, AES, Rijndael, SEED, SM4, HIGHT, Camellia, Kalyna, MARS, CAST, RC6, Crypto++

Авторы

ФИООрганизацияДополнительноE-mail
Фомичёв Владимир МихайловичООО «Код Безопасности»; Финансовый университет при Правительстве РФ; НИЯУ МИФИ; ФИЦ ИУ РАНдоктор физико-математических наук, профессор, научный консультант; профессор; профессор; ведущий научный сотрудникfomichev.2016@yandex.ru
Бобровский Дмитрий АлександровичФинансовый университет при Правительстве РФ; ООО «Код безопасности»студент магистратуры; системный аналитикdabobrovskiy@gmail.com
Коренева Алиса МихайловнаООО «Код Безопасности»кандидат физико-математических наук, начальник отделаa.koreneva@securitycode.ru
Всего: 3

Ссылки

Fomichev V. and Koreneva A. Encryption performance and security of certain wide block ciphers // J. Comput. Virol. Hack. Tech. 2020. https://doi.org/10.1007/ s11416-020-00351-1
Fomichev V.M., Koreneva A. M., Miftahutdinova A. R., and Zadorozhniy D. I. Evaluation of the maximum performance of block encryption algorithms // Math. Aspects Cryptogr. 2019. V. 10. No. 2. P. 7-16.
ISO/IEC 18033-3. IT Security Techniques. Encryption Algorithms. P. 3: Block Ciphers. https: //www.iso.org/standard/54531.html.
Криптографическая кроссплатформенная C++ библиотека Crypto++ 8.2 с открытым исходным кодом. https://www.cryptopp.com/
 Экспериментальная оценка производительности одного класса криптоалгоритмов на основе обобщения сетей Фейстеля | ПДМ. Приложение. 2020. № 13. DOI: 10.17223/2226308X/13/18

Экспериментальная оценка производительности одного класса криптоалгоритмов на основе обобщения сетей Фейстеля | ПДМ. Приложение. 2020. № 13. DOI: 10.17223/2226308X/13/18