Научная статья на тему 'XАРАКТЕРИСТИКИ АЛГОРИТМА КОНТРОЛЯ ЦЕЛОСТНОСТИ ДАННЫХ НА ОСНОВЕ АДДИТИВНЫХ ГЕНЕРАТОРОВ И S-БОКСОВ'

XАРАКТЕРИСТИКИ АЛГОРИТМА КОНТРОЛЯ ЦЕЛОСТНОСТИ ДАННЫХ НА ОСНОВЕ АДДИТИВНЫХ ГЕНЕРАТОРОВ И S-БОКСОВ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
63
9
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АДДИТИВНЫЕ ГЕНЕРАТОРЫ / КОНТРОЛЬ ЦЕЛОСТНОСТИ / МАТРИЧНО-ГРАФОВЫЙ ПОДХОД / ПЕРЕМЕШИВАЮЩИЕ СВОЙСТВА / РЕГИСТРЫ СДВИГА / ADDITIVE GENERATORS / DATA INTEGRITY CONTROL / MATRIX-GRAPH APPROACH / MIXING PROPERTIES / SHIFT REGISTERS

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

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

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

CHARACTERISTICS OF THE DATA INTEGRITY CHECK ALGORITHM BASED ON ADDITIVE GENERATORS AND S-BOXES

During software analysis, the integrity control of large data arrays is relevant. In solving this task it is important to provide an acceptable compromise between cryptographic properties of the integrity check algorithm and the resources necessary for its implementation. We propose the algorithm for generation of 128-bit integrity check value (ICV) for data blocks of size 1 KB (1024 bytes). This algorithm provides positive (from the synthesis position) operational and cryptographic properties and uses the transformations of additive generators and s-boxes. The algorithm is implemented by the function ф(дг): V213 ^ V128 with the full mixing of the input data. For 6 ^ t ^ 100, each bit of the ICV essentially depends on all the bits of the input block. If you randomly choose the initial state u, the probability of obtaining the corresponding ICV code Q is estimated by 2-128. The average number of the tested pairs of blocks (u, u'), where u = U and Q(u) = Q(u'), is approximately equal to 264. The computational complexity of the function ф(дг) is in the order of t(5u + 8v), where u is the computational complexity of adding two numbers modulo 264, and v is the computational complexity of the s-box calculation. According to the conducted experiments, the speed of ICV generation varies from 3500 (t=6) to 250 Mbit/s (t=96), respectively. At the same values of t, the time of ICV generation varies from 18 to 250 ^s.

Текст научной работы на тему «XАРАКТЕРИСТИКИ АЛГОРИТМА КОНТРОЛЯ ЦЕЛОСТНОСТИ ДАННЫХ НА ОСНОВЕ АДДИТИВНЫХ ГЕНЕРАТОРОВ И S-БОКСОВ»

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 мкс.

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

Введение

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

ционному /-битовому блоку m-битового кода контроля целостности, m < /, представляющего собой двоичную комбинацию, функционально связанную с блоком. Для генерации ККЦ обычно применяются криптографические хэш-функции (SHA, ГОСТ 34.11-2018 и др.) или алгоритмы генерации циклических избыточных кодов (CRC16, CRC32 и др.). Надёжные криптографические хэш-функции требуют значительных ресурсов. При использовании циклических избыточных кодов, обеспечивающих помехоустойчивое кодирование, сложность нахождения коллизии не высока. Поэтому актуально построение альтернативных алгоритмов генерации ККЦ, обладающих следующими положительными свойствами:

— биективность преобразования, на основе которого строится алгоритм генерации ККЦ, это минимизирует вероятность совпадения ККЦ для разных блоков;

— полное перемешивание входных данных (существенная зависимость каждого бита ККЦ от каждого бита блока данных), это затрудняет навязывание ложных блоков и более надёжно обеспечивает целостность данных;

— невысокая вычислительная и емкостная (по памяти) сложность реализации, позволяющая экономить ресурсы при контроле целостности больших массивов данных.

Для повышения надёжности контроля целостности можно дополнительно использовать известные методы [1]: включение в блоки данных меток времени, номеров блоков (или оба приёма одновременно); использование ККЦ, зависящих от секретных параметров (ключей), что сильно усложняет подделку ККЦ.

1. Алгоритм генерации ККЦ

Обозначим: n,m — натуральные числа; Vn — множество двоичных n-мерных векторов; Z2n —кольцо вычетов по модулю 2n; X — двоичное представление числа X из кольца Z264; Ш — сложение чисел в кольце Z264; ф — суммирование двоичных строк по модулю 2.

Булева функция называется вполне перемешивающей [2], если она существенно зависит от каждой переменной. Отображение Vn ^ Vm называется вполне перемешивающим, если каждая его координатная функция вполне перемешивающая.

Обозначим: s0(a0,... , a7),.. .,s7(a0,... , a7) — булевы координатные функции вполне перемешивающего преобразования s(a0,... ,a7) (s-бокса размера 8 х 8 бит); р — регистровое преобразование множества состояний аддитивного генератора длины 16 над множеством V64 с одной обратной связью f (X0,... , X15), где в ячейке регистра записан вычет X £ Z264 или, что равносильно, вектор X £ V64:

^(X0, . . . , X15) = (Xb . . . , X15, X0 Ш X5 Ш X10 Ш X15).

Построим алгоритм генерации r-битового ККЦ для информационного /-битового блока, где / = 213 бит (1 кбайт), r = 128. Алгоритм реализует функцию ф(д1): V2i3 ^ V128, где д: V2i3 ^ V2i3 — преобразование регистрового типа множества состояний схемы из восьми идентичных аддитивных генераторов AG0,... ,AG7, модифицированное с помощью преобразования s(a0,..., a7) (рис. 1).

Алгоритм моделируется автономным автоматом Мили без выходов A = (Vg,16,64, д), где д — функция переходов и Vg,16,64 = [xi,j,k} —множество состояний автомата, пред-ставимое как трёхмерное множество целых неотрицательных чисел, множество координат которых биективно соответствует подмножеству P элементов трёхмерного пространства с целыми координатами, ограниченному параллелепипедом (рис.2): 0 ^ i < 8, 0 ^ j < 16, 0 ^ k < 64.

0 ... 5 ... 9 10 ... 5 > к 5

> г В<-

-

-► ' г ЕЗ- > Г — >' -

Рис. 1. Регистр над (^2в4)8, Ш)

\к *

Рис. 2. Параллелепипед, содержащий множество вершин перемешивающего графа преобразования д

Множество состояний автомата в такте I ^ 0 обозначим ^8(41)6 64 = (ж(1) д}, или матрицей М^ = ^ над Х2в4, где X= (ж(1) 0,..., ж(1) 63) — состояние на ¿-м такте ]-й ячейки А^.

Построим функцию переходов автомата, используя отображение ¿(в): V8 ^ У64, зависящее от преобразования «, реализуемого «-боксом. При I ^ 0 определим 8-битовую

строку = (<г(Х0:15,..., <г(Х7д5)), где а(жо,..., Ж6з) = Х Ф ... Ф Ж63 — булева функция, определяющая чётность веса вектора (ж0,... ,ж63). Построим 64-битовую конкатенацию восьми байтов:

в <•> = («0" («">) ...в!" («<")), (1)

где 5-0')(^<")=8(ш<"), 5<')(^<'>) = 8(85-1(ш<") Фш<"), ; = 1,..., 7.

Функция переходов автомата задана равенствами

(Х,0+1),...,ХЙ51)) = (у;?,... у ;?5, /(у%... у !15)), о < < < 8,

где = Х^ при ] = 10 и Уг(10 = Х^ Ш в(1), в(1) вычисляется по формуле (1). Код ф, генерируемый алгоритмом, определим как 128-битовую строку:

№,16,64) = (Х01)5 Ш ХЙ5 Ш Х21)5 Ш Х31)5, Х41)5 Ш Х51)5 Ш Х^ Ш Х71)5). (2)

2. Исследование множества образов отображения г(в): У8 ^ У64

Вектор используется в алгоритме как псевдослучайный сдвиг векторов Х^ц, 0 ^ г < 8. Полагаем, что наилучшие свойства алгоритма генерации ККЦ достигаются, в частности, если для каждого вектора у Е У8 все байты вектора 5(4)(у) различны (согласно (1), свойство Б(0,... , 0) = (0,... , 0) должно быть исключено). Отсюда вероятность того, что Б(4)(у) содержит повторяющиеся байты, должна быть не больше вероятности 0,1045 этого события для случайного вектора.

Свойство векторов

Б « исследовано с помощью эксперимента на ПЭВМ. При заданном преобразовании в для каждого у € У8 вычислен вектор Б (у) = (у0 ,у\,... ,у7), где у0 = в (у), уj = в(yj-l ф у), ] = 1,... , 7, и посчитано число различных байтов, составляющих Б (у). В табл. 1 приведено число иг векторов Б (у) (для 256 возможных значений у), состоящих ровно из г различных байтов среди у0,... ,у7, г = 1,..., 8; результаты получены для в-боксов размера 8 х 8 известных блочных шифров.

Таблица 1

Число уг векторов Б (у), состоящих из г различных

байтов

5-6 оке Значение г

1 2 3 4 5 б 7 3

Кузнечик 1 0 0 0 0 0 2 253

АЕ5 1 2 2 1 0 0 1 249

АЕ£_т\- 1 0 1 1 1 1 1 250

5М4 1 1 1 0 5 0 1 247

CaYPTON.Sc 1 0 1 1 2 2 1 248

СКУПТШ 1 0 3 0 0 1 2 249

СКЛТТСЖ,^ 1 1 1 0 1 1 1 250

СКУРТИШЙ 1 1 2 1 0 1 0 250

СлтеШа. 1 2 0 0 1 1 0 251

КНА2АБ-0 1 1 1 3 0 1 0 249

КНАгАБ 1 3 0 1 0 1 248

СЬЕР1А5о 1 1 1 0 1 1 2 249

СЬЕР1А51 1 1 0 0 2 1 1 250

Ка1 упало 1 1 1 2 2 0 0 249

Ка1упа ТС1 1 1 0 0 2 2 0 250

Ка1упа Л2 1 1 0 3 1 0 1 249

Ка1упа из 1 1 0 1 2 1 2 248

При использовании в-боксов табл. 1 вероятность того, что в последовательности Б^(у) есть повторяющиеся байты, не больше 0,0351 (в-бокс БМ4). Вероятность такого события наименьшая (0,0117) при использовании в-бокса алгоритма «Кузнечик».

3. Характеристики алгоритма генерации ККЦ

1. Преобразование д биективное. Число прообразов любого значения функции ^(д*) равно 21-2г. Следовательно, при случайном равновероятном выборе начального состояния и из множества ^дб,б4 вероятность получить заданный код Q равна 2-128. Среднее число опробований для поиска пар блоков (и,и'), таких, что и = и' и Q(u) = Q(u/), оценивается с помощью парадокса дней рождения величиной порядка 264.

2. Перемешивающие свойства алгоритма оценены с помощью развития матрично-графового подхода, применённого в [3] для оценки перемешивающих свойств преоб-

разований модифицированных аддитивных генераторов (АГ). Для свойства полного перемешивания координатных функций, соответствующих крайним ячейкам АГ (это свойство необходимо в соответствии с формулой (2)), оценен локальный экспонент перемешивающего орграфа преобразования g. Оценка, равная 6, получена как длина путей из одной вершины в другую для всех допустимых пар вершин вида ((г, 15, j), (г', 15, j')) [4, с. 457], проходящих через некоторую вершину с петлей. Для контроля целостности необходимо, чтобы ККЦ вычислялся с помощью вполне перемешивающей функции. Установлено, что при t ^ 6 обе формирующие код Q функции X0t)5 Ш Xjtls Ш Xg5 Ш Xg5 и хЦ5 Ш x5tJ5 Ш Ш Х$5 являются вполне перемешивающими. Экспериментально определено, что свойство полного перемешивания этих функций сохраняется при 6 ^ t ^ 100.

3. Сложность вычисления функции ^(g4) оценивается величиной порядка t(5u + 8v), где u — вычислительная сложность суммирования двух чисел по модулю 264; v — сложность вычисления s-бокса. В табл. 2 даны результаты измерения скорости генерации и времени вычисления 128-битового ККЦ для блока данных размера 1 кбайт при различных t. Эксперименты проведены на ПЭВМ с процессором Intel Core i5-8600 и тактовой частотой 3,1 ГГц.

Таблица 2 Скорость генерации и время вычисления ККЦ

Число тактов, t 6 12 18 36 72 96

Скорость генерации, Мбит/с 3500 1900 1200 650 330 250

Время вычисления, мкс 18 32 49 96 200 250

Выводы

Предложен новый класс алгоритмов на основе функций аддитивных генераторов и s-боксов для генерации кодов контроля целостности блоков данных объёма 1 кбайт. Подход может быть распространён на блоки данных большего объёма. Алгоритмы обладают положительными эксплуатационными и криптографическими свойствами: невысокой сложностью реализации и свойством полного перемешивания входных данных, что существенно затрудняет применение ряда методов криптоанализа.

ЛИТЕРАТУРА

1. Будзко В. И., Мельников Д. А., Фомичёв В. М. Базовые требования к подсистемам обеспечения криптоключами в информационно-технологических системах высокой доступности // Системы высокой доступности. 2016. Т. 12. №3. С. 73-82.

2. Fomichev V. M. Matrix-graph approach for studying nonlinearity of transformations on vector space // VIII симп. «Современные тенденции в криптографии» CTCrypt 2019. https: //ctcrypt.ru/files/files/2019/materials/08_Fomichev.pdf

3. Fomichev V.M. and Koreneva A. M. Mixing properties of modified additive generators // J. Appl. Ind. Math. 2017. V. 11. P. 215-226.

4. Fomichev V. M., Avezova Ya. E., Koreneva A. M., and Kyazhin S. N. Primitivity and local primitivity of digraphs and nonnegative matrices // J. Appl. Ind. Math. 2018. V. 12. P. 453-469.

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