Научная статья на тему 'ЭКСПЕРИМЕНТАЛЬНАЯ ОЦЕНКА ПРОИЗВОДИТЕЛЬНОСТИ ОДНОГО КЛАССА КРИПТОАЛГОРИТМОВ НА ОСНОВЕ ОБОБЩЕНИЯ СЕТЕЙ ФЕЙСТЕЛЯ'

ЭКСПЕРИМЕНТАЛЬНАЯ ОЦЕНКА ПРОИЗВОДИТЕЛЬНОСТИ ОДНОГО КЛАССА КРИПТОАЛГОРИТМОВ НА ОСНОВЕ ОБОБЩЕНИЯ СЕТЕЙ ФЕЙСТЕЛЯ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
113
35
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БЛОЧНЫЕ ШИФРЫ / ПРОИЗВОДИТЕЛЬНОСТЬ ШИФРОВАНИЯ / 256-3 / ГОСТ 28147-89 / ГОСТ 34.12-2018 / "МАГМА" / "КУЗНЕЧИК" / AES / RIJNDAEL / SEED / SM4 / HIGH-T / CAMELLIA / KALYNA / MARS / CAST / RC6 / CRYPTO++ / BLOCK CIPHER PERFORMANCE / BLOCK CIPHERS BENCHMARKS / GOST / MAGMA / KUZNYECHIK

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Фомичёв Владимир Михайлович, Бобровский Дмитрий Александрович, Коренева Алиса Михайловна

Представлены результаты экспериментальных исследований производительности алгоритма 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.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Фомичёв Владимир Михайлович, Бобровский Дмитрий Александрович, Коренева Алиса Михайловна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

EXPERIMENTAL ESTIMATES OF THE COMPUTATIONAL COMPLEXITY OF ONE CLASS OF CRYP-TOALGORITHMS BASED ON THE GENERALIZATION OF FEISTEL NETWORKS

The development of information technologies and the need to protect information indicate the relevance of developing new cryptographic algorithms, such as block ciphers with different block sizes that correspond to modern requirements for cryptographic stability and performance. This paper presents the results of experimental studies of algorithm 256-3 performance (block size is 256 bits), proposed by Russian researchers in 2018. This paper provides a performance comparison between 256-3 and well-known block ciphers. The comparison has been conducted by running implementations of algorithms in C++ programming language using Crypto++ library. The results showed that the 256-3 algorithm runs around 24.57 cycles per byte and performance of 256-3 from 1.2 to 2.6 times higher than the performance of the algorithms Magma (GOST 28147-89), Kuznyechik (GOST 34.12-2018), SEED, HIGHT, Camellia-256, Kalyna-256/256, MARS-256, CAST-256, which indicates that 256-3 is a positive (from the synthesis position).

Текст научной работы на тему «ЭКСПЕРИМЕНТАЛЬНАЯ ОЦЕНКА ПРОИЗВОДИТЕЛЬНОСТИ ОДНОГО КЛАССА КРИПТОАЛГОРИТМОВ НА ОСНОВЕ ОБОБЩЕНИЯ СЕТЕЙ ФЕЙСТЕЛЯ»

Тогда

X

4 8 5 4 11 9 6 12

5 10 1 2 9 5 7 1

Для проверки проводим вычисления, записывая только те строки и столбцы, значения в которых полностью определяются заданными квадратами:

[X, y; 1]

6 12 12 5 6 12 5 10 9 5 7 1

[X, y; 2]

0078 10 7 11 9

[X, y; 3]

3 6 9 12

[X, y; 1, z; 3]i,i = 12, [X,y;2,z;2]M = 7, [X, y; 3, z; 1]M = 3.

ЛИТЕРАТУРА 1. Романьков В. А. Введение в криптографию. М.: Форум, 2012.

УДК 519.17 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.

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

Введение

Развитие информационных технологий и необходимость защиты информации определяют актуальность разработки новых криптографических алгоритмов, соответствующих современным требованиям к криптографической стойкости и эксплуатационным качествам. Для обеспечения конфиденциальности информации при её передаче, обработке и хранении требуются алгоритмы с высокой производительностью и варьируемыми параметрами (размерами длины ключа и блока) в зависимости от типа задачи.

С целью увеличения производительности блочного шифрования в [1, 2] исследован класс регистровых преобразований R(n,r,m), реализуемых автономными регистрами сдвига длины n над множеством V = {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 = (Yo,..., Y7) — выходной блок раунда, Y Е V256,Yk Е V32, 0 ^ k ^ 7; S — сумма по модулю 232 нескольких подблоков входного блока, представленных числами из кольца вычетов Z232 ; qj —раундовый ключ, использующийся при вычислении значения функции обратной

связи с номером j Е {1, 2, 3}; ф — сложение по модулю 2, Ш — сложение по модулю 232.

Рис. 1. Схема раундовой подстановки д алгоритма 256-3

Раундовая подстановка д алгоритма 256-3 и обратная к ней определены формулами

д(д1,д2,д3)(Хо,...,Х7) = (Х1,/ (Б, ql) 0 Х2,Х3,Х4,/ (Б^) 0 Х5,Х6,Х7,/ (Б^з) 0 Хо), д-1(дъд2,да)%,...^7) = и (Б 0 Y7,Yо,f (Б ) 0 Y1,Y2,Yз,f (Б 0 У4,Г5,У6),

где Б = Хг Ш Х3 Ш Х4 Ш Х6 Ш Х7 и Б' = Y0 Ш Y2 Ш Yз Ш Y5 Ш Y6.

Регистр сдвига д имеет три идентичных обратных связи Х2 0 f (Б, q1), Х5 0 f (Б, q2), Х0 0 f (Б, q3), каждая из которых построена по принципу раундовой функции блочного

шифра «Магма» (ГОСТ 34.12-2018). Функция f имеет вид f (S, qj) = T"(Wg^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 и представляет данный алгоритм перспективным для потенциального применения в программных и аппаратных средствах защиты информации.

ЛИТЕРАТУРА

1. 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

2. 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.

3. ISO/IEC 18033-3. IT Security Techniques. Encryption Algorithms. P. 3: Block Ciphers. https: //www.iso.org/standard/54531.html.

4. Криптографическая кроссплатформенная C++ библиотека Crypto++ 8.2 с открытым исходным кодом. https://www .cryptopp.com/

УДК 519.17 DOI 10.17223/2226308X/13/19

ХАРАКТЕРИСТИКИ АЛГОРИТМА КОНТРОЛЯ ЦЕЛОСТНОСТИ ДАННЫХ НА ОСНОВЕ АДДИТИВНЫХ ГЕНЕРАТОРОВ И s-БОКСОВ

В. М. Фомичев, А. М. Коренева, Т. Р. Набиев

При проведении анализа программного обеспечения актуальна задача контроля целостности данных больших массивов, при решении которой важно обеспечить приемлемый компромисс между криптографическими свойствами алгоритма контроля целостности и ресурсами, необходимыми для его реализации. Для блоков данных размера 1 кбайт (1024 байта) предложен алгоритм генерации 128-битового кода контроля целостности (ККЦ) с положительными (с позиции синтеза) эксплуатационными и криптографическими свойствами. Алгоритм построен на основе преобразований аддитивных генераторов и s-боксов и реализует функцию ф(дг): V213 ^ V128 со свойством полного перемешивания входных данных. При 6 ^ t ^ 100 каждый бит кода существенно зависит от всех битов информационного блока. При случайном равновероятном выборе начального состояния u вероятность получить любой код Q оценивается величиной 2-128. Среднее число опробований пар блоков (u,u'), где u = u! и Q(u) = Q(u'), приблизительно равно 264. Сложность вычисления функции ф(дг) имеет порядок t(5u + 8v), где u — вычислительная сложность суммирования двух чисел по модулю 264; v — сложность вычисления s-бокса. В соответствии с проведёнными экспериментами скорость генерации ККЦ варьируется в пределах от 3500 (t = 6) до 250 Мбит/с (t = 96), соответственно при тех же значениях t время генерации ККЦ варьируется в пределах от 18 до 250 мкс.

Ключевые слова: аддитивные генераторы, контроль целостности, матрично-графовый подход, перемешивающие свойства, регистры сдвига.

Введение

Одной из важных задач защиты информации является контроль целостности, который осуществляется с помощью присоединения создателем информации к информа-

i Надоели баннеры? Вы всегда можете отключить рекламу.