Перов А.А.  

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

АЛГОРИТМ СТАТИСТИЧЕСКОГО АНАЛИЗА ИТЕРАТИВНЫХ БЛОЧНЫХ ШИФРОВ ОСНОВАННЫЙ НА ТЕХНОЛОГИЯХ МАШИННОГО ОБУЧЕНИЯ
Перов А.А.(1)
(1) Новосибирский Государственный Университет Экономики И Управления "НИНХ" (НГУЭУ), г. Новосибирск

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

ALGORITHM FOR STATISTICAL ANALYSIS OF ITERATIVE BLOCK CIPHERS BASED ON MACHINE LEARNING TECHNOLOGIES
Artem Perov

A statistical analysis algorithm based on the use of machine learning technologies is proposed. The model of the neural network Inception V3, traditionally designed for recognition of graphic images, is used. The technology of adapting ciphertexts to the developed technique is described.
Keywords: cryptography, iterative ciphers, block ciphers, machine learning, neural networks,encryption round, statistical properties.

Введение. Основной проблемой безопасности при передаче данных по открытым каналам является то, что существует злоумышленник, задачей которого является перехват передаваемого сообщения и последующее использование полученной информации в собственных целях. Проблему передачи информации по высокоскоростным каналам на сегодняшний день наиболее успешно решают технологии шифрования.  Принято, что абсолютно стойким, является алгоритм шифрования, криптоанализ которого невозможен за число переборов меньшее, чем полный, однако развитие вычислительных мощностей и интеллектуальных технологий показывает высокие результаты в этой области.
Одним из обязательных условий соблюдения криптографической стойкости передаваемого сообщения являются статистические свойства зашифрованной последовательности. Традиционно задачу определения качества статистических свойств выходной последовательности решают статистические тесты, в основе которых лежат методы математической статистики, однако появление технологий искусственного интеллекта позволяет разработать новый подход к процессу статистического анализа.
Применение технологий машинного обучения для решения задач статистического анализа является новым направлением. Для разработки методики проведения статистического анализа была использована модель нейронной сети Inception V3. Данная модель продемонстрировала очень высокую производительность в тесте ImageNet  [1] и, в основном, применяется в задачах по распознаванию графических образов.
Основой предлагаемого алгоритма является процесс различения графических отображений выходных последовательностей итеративных блочных шифров. Возможны различные сценарии проведения исследования над выходными последовательностями.
Формирование исследуемой выборки. Начальным этапом решения задачи анализа статистических свойств блочных шифров является формирование шифртекстов. Для генерации выходных последовательностей криптографических алгоритмов используется разработанная в 2015 году (и модернизированная в 2018 [2]) программная библиотека «УНИБЛОКС-2015». В режиме CTR (counter mode, или «режим счётчика») алгоритм выполняет шифрования порядковых чисел, заставляя работать алгоритм в максимально сложных условиях. Формируются выборки шифртекстов на разном числе раундов со статистическими свойствами различной степени случайности.
Адаптация шифртекстов к предлагаемому алгоритму.
На втором этапе сформированные выходные последовательности криптографических алгоритмов конвертируются в формат графических изображений. Используемая в предлагаемом алгоритме модель нейронной сети Inception v3 работает с растровыми графическими изображениями. Для преобразования шифртекстов в изображения была разработана программная утилита на языке C++. Программа открывает файл с шифртекстом для чтения в бинарном режиме и, выполняя цикл до конца файла присваивает каждой компоненте палитры RGB значение считываемого байта зашифрованного текста. На рисунках 1 и 2 приведены примеры формирования изображения из полученные из систематически повторяющейся последовательности символов (1234qwer1234qwer…) и генератора rand() языка C++ соответственно.
 

Заключение. Потенциал нейронных сетей при решении самых разных современных задач можно оценивать как очень высокий. Традиционно используемые для статистического анализа тесты с высокой вероятностью могут вынести вердикт о качестве выходной последовательности криптографического алгоритма. Существенным минусом такого тестирования становится необходимость использования очень большой выборки (более чем 232 бит), тогда как предлагаемый метод, основанный на технологиях машинного обучения использовал в проведенных экспериментах изображения 150 на 150 точек (при кодировании каждого пикселя 3 байтами), что позволяет констатировать существенное преимущество в производительности.
 


To reports list

Comments

Name:
Captcha: