Об использовании технологий машинного обучения для проверки статистических свойств симметричных криптографических алгоритмов | ПДМ. Приложение. 2019. № 12. DOI: 10.17223/2226308X/12/63

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

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

About using machine learning technologies for checking statistical properties of symmetric cryptography algorithms.pdf Введение Традиционно статистический анализ проводится с помощью тестов, определяющих степень случайности выходной последовательности [1] с применением методов математической статистики. Исследования показывают, что современные итеративные алгоритмы шифрования обеспечивают удовлетворительные статистические свойства на меньшем, чем полное, числе раундов. Использование технологий машинного обучения для решения подобных задач является новым направлением. Для разработки методики проведения статистического анализа была использована нейронная сеть Inception v3, обычно применяющаяся для распознавания и классификации графических образов. Inception v3 является свёрточной нейронной сетью, состоящей из 17 слоёв, обученной на большом количестве изображений из базы ImageNet. 1. Преобразование шифртекстов Для решения задачи по обучению нейронной сети для статистического анализа выполнено преобразование зашифрованных сообщений в формат графических изображений. Для конвертации разработана утилита на языке C+-+, которая считывает в бинарном виде текстовый файл с зашифрованным сообщением и каждый байт зашифрованного текста записывает в качестве значения компонент палитры RGB, формируя изображения формата JPEG. При подаче на вход такой программе текстового файла с одним и тем же раскопированным символом на выходе будет получено однотонное изображение. При подаче циклически повторяющегося набора символов изображение принимает характер узорчатого, что подтверждает корректность реализации. Вторым подготовительным этапом является формирование базы шифртекстов различных алгоритмов на разном числе раундов шифрования. С помощью библиотеки «Униблокс-2015» [2] получены шифртексты различных криптоалгоритмов на разном числе раундов. После завершения подготовительных этапов проведены эксперименты, ставшие основой методики проведения тестирования средствами технологии машинного обучения. Эксперимент 1: были сгенерированы по 1000 шифртекстов алгоритма Simon на 3 и 30 раундах. Отличия на этих выборках видны человеку визуально: для последовательностей на 3 раундах очевидно прослеживаются зависимости, тогда как отображения 30-раундовых шифртекстов визуально имеют равномерное распределение. В данном эксперименте модель отличила 100 % поданных на тестовой выборке шифр-текстов. Эксперимент 2: сравнивались значения соседних раундов итеративного блочного шифра. В качестве обучающей выборки были поданы зашифрованные последовательности алгоритма Simon с 3 по 21 раунд (по 500 изображений на каждый). Модель должна была обнаружить, происходят ли изменения в структурах шифртекстов с каждым раундовым преобразованием. В отличие от эксперимента 1, разницу между соседними раундами определить визуально невозможно. На рис. 1 приведён график зависимости процента верных решений при различении раундов от их числа. Отмечается, что выборки шифра Simon на 3 и 4 раундах проходят одинаково малое число статистических тестов NIST, то есть для классического способа проведения статистического анализа выборки одинаковы, тогда как нейросеть отличила их более чем в 92 % случаев. Следует отметить, что после 15-го раунда модель правильно различала соседние раунды с вероятностью, стремящейся к 0,5, что может свидетельствовать о том, что качество выходной последовательности уже не улучшается и выборка обладает удовлетворительными статистическими свойствами. Эксперимент 3: модель была обучена на выборках алгоритмов Speck и Present до 9-го раунда шифрования. Выбор этих шифров обусловлен схожим поведением при традиционном статистическом тестировании: на раундах до 9 оба алгоритма проходят примерно одинаковое число тестов. Несмотря на то, что алгоритмы по своей структуре выполняют разные преобразования над открытым текстом, модель способна успешно отличать друг от друга шифртексты до 7-го раунда (на первых шести раундах модель различила 100% тестовых шифртекстов, к седьмому раунду процент понизился до 90,9%). На 10-м раунде нейросеть при различении изображений приняла только 52 % правильных решений (статистические тесты определили именно эту границу минимального числа раундов, обеспечивающих удовлетворительные статистические свойства [2]). Найденное значение правильных решений модели может свидетельствовать о том, что оба алгоритма уже к 10-му раунду дают статистически качественный шифртекст. Эксперимент 4: нейронная сеть была переобучена на изображениях шифртекстов разных шифров. На основании данных, полученных с помощью тестов NIST, на вход 0.921 V 0.8 У 65 -x R7 / \\ \\ - - N \\ J N 58 0 7 44 \\n f 9tr--- 7 15 и 4 4 К 6л Ля V Раунды \\9 ьА л\\ Лб чЬл1 1\\ л= Рис. 1. График зависимости процента правильных решений модели от числа раундов шифра Simon сети было суммарно подано более 10000 шифртекстов всех алгоритмов библиотеки, зашифрованных на числе раундов, не обеспечивающих удовлетворительных статистических свойств. В качестве второй половины обучающей выборки использовалось также более 10000 шифртекстов, зашифрованных на полном числе раундов разными алгоритмами. В качестве тестовой выборки нейросеть получила более 2100 изображений, которые были случайным образом выбраны из базы сгенерированных шифртекстов. В 98 % случаев алгоритм машинного обучения верно определил степень случайности шифртекста. Выводы Широкое применение машинного обучения и, в частности, компьютерного зрения в самых разных областях жизни на сегодняшний день обусловлено высокими показателями результативности этих технологий. Описанные эксперименты подтвердили гипотезу о возможности применения нейронных сетей для решения задач анализа статистических свойств, так как полученные результаты согласуются с традиционными методами анализа посредством статистических тестов. Результаты экспериментов 2-4, в частности, свидетельствуют о том, что анализ статистических свойств для итеративных блочных шифров может проходить по разным сценариям, которые построены как на сравнении между собой шифртекстов одного алгоритма, зашифрованных на разном числе раундов, так и на сравнении зашифрованных последовательностей с эталонными, полученными в результате работы алгоритма на полном числе раундов.

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

криптография, машинное обучние, статистический анализ, раунд шифрования, итеративные блочные шифры, cryptography, machine learning, statistical analysis, encryption round, iterative block cipher

Авторы

ФИООрганизацияДополнительноE-mail
Перов Артём АндреевичНовосибирский государственный университет экономики и управлениястарший преподаватель, аспирант кафедры информационных технологийperov_artem@inbox.ru
Всего: 1

Ссылки

Ryabko B. and Monarev V. Using information theory approach to randomness testing // J. Statistical Planning and Inference. 2005. V. 133. No. 1. P. 95-110.
Перов А.А., Пестунов А. И. Статистическое тестирование современных итеративных блочных шифров с помощью программной библиотеки «УНИБЛ0КС-2015» // Инновации в жизнь. 2016. №2. С. 89-97.
 Об использовании технологий машинного обучения для проверки статистических свойств симметричных криптографических алгоритмов | ПДМ. Приложение. 2019. № 12. DOI: 10.17223/2226308X/12/63

Об использовании технологий машинного обучения для проверки статистических свойств симметричных криптографических алгоритмов | ПДМ. Приложение. 2019. № 12. DOI: 10.17223/2226308X/12/63