Научная статья на тему 'ПОСТРОЕНИЕ РАЗЛИЧИТЕЛЕЙ ДЛЯ ИТЕРАТИВНЫХ БЛОЧНЫХ ШИФРОВ НА ОСНОВЕ НЕЙРОННЫХ СЕТЕЙ'

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

CC BY
79
11
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БЛОЧНЫЙ ШИФР / МАШИННОЕ ОБУЧЕНИЕ / НЕЙРОННАЯ СЕТЬ / СТАТИСТИЧЕСКИЙ АНАЛИЗ / АТАКА-РАЗЛИЧИТЕЛЬ / BLOCK CIPHER / MACHINE LEARNING / NEURAL NETWORK / STATISTICAL ANALYSIS / DISTINGUISHING ATTACK

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Перов Артём Андреевич, Пестунов Андрей Игоревич

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

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

CONSTRUCTION OF DISTINGUISHERS FOR ITERATIVE BLOCK CIPHERS ON THE BASE OF NEURAL NETWORKS

We present a new machine learning approach for creating distinguishers (or distinguishing attacks) for iterative block ciphers with a variable number of rounds. A main idea of the approach is based, firstly, on the observation that block cipher ciphertexts (if represented as images) have different textures (patterns) depending on the number of rounds and, secondly, on the fact that modern neural networks can classify images with high accuracy. So, we suggest to represent ciphertexts as images and train neural network to recognize them. In such a case, a level of the ciphertexts randomness can be determined by a classification error value. We introduce two methods that can be used for practice: the "etalon-ciphertext" method and the "neighbor-rounds" method. It has been experimentally demonstrated that the "etalon" method is slightly more accurate than the "neighbor-rounds" method, however, it requires an etalon sequence of true-random numbers or, at least, numbers with good statistical properties. At the same time, the second method requires only one cipher. In our experiments, we used the AES256 cipertext as the etalon, however, any other proper random number generator can be used. In both cases, the classification error converges to 50 % when the number of rounds increases. Both methods can also be employed in order to estimate the minimal number of rounds which provides acceptable statistical properties of the ciphertext.

Текст научной работы на тему «ПОСТРОЕНИЕ РАЗЛИЧИТЕЛЕЙ ДЛЯ ИТЕРАТИВНЫХ БЛОЧНЫХ ШИФРОВ НА ОСНОВЕ НЕЙРОННЫХ СЕТЕЙ»

5. Медведева Н. В., Титов С. С. Описание неэндоморфных максимальных совершенных шифров с двумя шифрвеличинами // Прикладная дискретная математика. 2015. №4 (30). С.43-55.

6. Медведева Н. В., Титов С. С. Геометрическая модель совершенных шифров с тремя шифрвеличинами // Прикладная дискретная математика. Приложение. 2019. №12. С.113-116.

7. Birkhoff G. D. Tres observations sobre el algebra lineal // Revista Universidad Nacional Tucuman. 1946. Ser. A. V.5. P. 147-151.

УДК 519.7 DOI 10.17223/2226308X/13/16

ПОСТРОЕНИЕ РАЗЛИЧИТЕЛЕЙ ДЛЯ ИТЕРАТИВНЫХ БЛОЧНЫХ ШИФРОВ НА ОСНОВЕ НЕЙРОННЫХ СЕТЕЙ

А. А. Перов, А. И. Пестунов

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

Ключевые слова: блочный шифр, машинное обучение, нейронная сеть, статистический анализ, атака-различитель.

В работе предлагается новый универсальный подход к построению атак-различи-телей на итеративные блочные шифры, где используются нейронные сети, предназначенные для классификации растровых изображений. Идея данного подхода возникла в результате наблюдения того, что преобразованный в растровое изображение (графический эквивалент) шифртекст имеет различную текстуру (паттерн) в зависимости от числа раундов. При этом с ростом числа раундов такая текстура становится менее выраженной и приближается к случайной.

В рамках этого подхода предлагаются два метода: «эталонный» и метод соседних раундов. В первом нейронная сеть используется для выявления различий в текстурах графических эквивалентов шифртекста при различном числе раундов и эталонной последовательности, неотличимой от случайных чисел. Второй метод предполагает выявление различий в текстурах графических эквивалентов соседних раундов и, что является его достоинством, не требует наличия эталонной последовательности, однако, забегая вперед, отметим, что «эталонный» метод оказался немного более эффективен. В экспериментах в качестве эталонной последовательности использован шифртекст полнораундового шифра AES256.

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

Для формирования выборки выполняется шифрование на разном числе раундов, что даёт выборку выходных последовательностей блочных шифров с разными статистическими свойствами. На шагах 2-3 алгоритма 1 с помощью криптографической программной библиотеки «УНИБЛОКС-2015» выполняется шифрование в режиме

Математические методы криптографии

55

Алгоритм 1. Обучение нейронной сети для распознавания шифртекста после заданного числа раундов

1: Функция ОБУЧИТьНЕЙРОННУюСЕТь(СгрЛ,ег, r, M) // Cipher — итеративный блочный шифр; // r — число раундов шифра; // M — размер обучающего множества. 2: Сгенерировать M выборок с помощью шифра AES256 и получить y)rand =

_ /„"-rand „"rand^

= (уi ,..., Ум )■

3: Сгенерировать M выборок с помощью шифра Cipher и получить Уг = (У!,... , УМ)■ 4: Преобразовать множества выборок yrand и Уr в изображения Уrand = (yrand,

...,yMnd) и Уr = (yr,...,Ум)■

5: Обучить нейронную сеть различать изображения из обучающих выборок yrand и Уг ■

6: Вернуть НейроннаяСетьг(image), которая относит image к 0 (случайному) или 1 (r-раундовому шифртексту).

счётчика (СТИ.) [1]. В качестве входной последовательности для блочного шифра использованы последовательные числа 0, 1, 2, 3 и т. д.

На шаге 4 шифртексты преобразуются в формат растровых графических изображений с помощью разработанной программной утилиты на языке С+—+.

В процессе обучения нейронная сеть запоминает основные паттерны, характерные для шифртекстов на разном числе раундов, которые использует для последующей категоризации.

После обучения свёрточной нейронной сети выполняется распознавание шифртек-стов. В зависимости от выбранного метода на контрольной выборке нейронная сеть сравнивает шифртексты на соседних раундах шифрования или шифртексты выбранного раунда с «эталоном»—полнораундовым АЕБ256, подсчитывает процент верных решений при определении принадлежности элемента контрольной выборки к тому или иному множеству. С увеличением числа раундов шифрования и соответственно улучшением статистических свойств модель увеличивает значение Е — число ошибок, допущенных моделью при определении принадлежности к тому или иному раунду на контрольной выборке. Алгоритм 2 описывает атаку-различитель.

С увеличением числа раундов ошибка при различении шифртекстов и эталонной случайной последовательности возрастает и стремится к 0,5. Алгоритм 3 описывает схему проведения экспериментов, в которых анализируется способность предлагаемого подхода различать шифртексты на примере «эталонного» метода.

Обоснование эффективности метода соседних раундов выполняется аналогично, за исключением того, что генерируются не выборки шифра АЕБ256, а выборки хг и хг+1. Размер обучающей выборки выбирается нейронной сетью в зависимости от исходных параметров (в большей степени — от размера партии, то есть количества изображений, в которых нейронная сеть выполняет поиск общих признаков). Экспериментально определено, что 500 шифртекстов достаточно для обучения. Контрольная выборка составляет 20 % от обучающей. При этом процент ошибок нейронной сети на первых раундах выше (так как соседние раунды различимы между собой много меньше, чем при сравнении с эталонным шифртекстом), однако при достижении числа раундов, при котором обеспечиваются удовлетворительные статистические свойства, ошибка также сводится к 0,5.

Алгоритм 2. Атака-различитель

1: Функция РАСПОЗНАТьШиФРТЕКСТ(ж, Cipher, r)

// x — запрошенная в шифровальном устройстве выборка (генерируется в режиме CTR в сценарии chosen-plaintext attack); // Cipher —итеративный блочный шифр; // r — число раундов шифра. 2: Выбрать размер обучающей выборки M.

3: НейроннаяСетьг(image): = ОБУЧИTьНЕЙPOHHУЮСЕTь(Cipher, r, M). 4: Представить выборку x в виде изображения image. 5: Result := НейроннаяСетьг(image). 6: Если Result = 0, то

вернуть «Выборка случайная», 7: иначе

8: вернуть «Выборка сгенерирована r-раундовым шифром».

Алгоритм 3. Схема проведения экспериментов

1: Функция ВычислитьОшиБKу(Cipher, r) 2: Выбрать размер обучающей выборки M.

3: НейроннаяСетьг(image) := Обучи^НеЙРОННУЮСеть^рЛ^г, r, M). 4: Выбрать количество контрольных выборок N.

5: Сгенерировать N контрольных выборок с помощью шифра AES256 и получить

Xrand _ (xrand xrand)

6: Сгенерировать N контрольных выборок с помощью шифра Cipher и получить

хr _ (x1,..., xN).

7: Преобразовать множества Xfrand и Xr в изображения Xrand _ (x1and,... , x™nd) и

хr _ (xrl,...,xN).

8: Экспериментально определить ошибки первого и второго рода:

E0 _ #{xrand : НейроннаяСетьг(xrand) _ 1}, Er _ #{xr : НейроннаяСетьг(xr) _ 0}. 9: Вернуть Eo, Er.

ЛИТЕРАТУРА

1. Пестунов А. И., Перов А. А. Программная библиотека для статистического анализа итеративных блочных шифров // Информационное противодействие угрозам терроризма. 2015. №24. С. 197-202.

УДК 003.26 Б01 10.17223/2226308X713/17

О СКРЫТОМ КОМПАКТНОМ СПОСОБЕ ХРАНЕНИЯ ДАННЫХ1

В. А. Романьков

Предлагается принципиально новый способ компактного хранения данных в скрытом виде. Каждое из этих данных может быть извлечено единообразным способом. Приводится сравнение с другими возможными способами такого хранения.

Ключевые слова: данные, хранение, скрытость, компактность, доступ.

Исследование поддержано Программой фундаментальных научных исследований СО РАН I. 1.1.4, проект №0314-2019-0004.

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