Научный журнал
Современные наукоемкие технологии
ISSN 1812-7320
"Перечень" ВАК
ИФ РИНЦ = 1,021

КРИПТОГРАФИЧЕСКИЙ АЛГОРИТМ, ОСНОВАННЫЙ НА СИНХРОНИЗАЦИИ НЕЙРОННЫХ СЕТЕЙ

Береза А.Н. 1 Бегляров В.В. 1 Шемякина М.А. 1
1 Институт сферы обслуживания и предпринимательства (филиал) ДГТУ
В статье представлен криптографический алгоритм, который позволяет решить проблему обмена ключами в симметричных системах шифрования. В основе представленного алгоритма лежит процесс синхронизации двух и более нейронных сетей, в результате которого достигается равенство весовых коэффициентов. В дальнейшем полученные веса используются в качестве секретного ключа в симметричных системах шифрования. Безопасность криптографического алгоритма, основанного на процессе синхронизации, обеспечивается благодаря тому, что внутреннее представление нейронной сети неизвестно никому, кроме того участника связи, кому принадлежит эта нейронная сеть. Таким образом, для того чтобы расшифровать сообщение злоумышленнику, надо знать состояния скрытых нейронов, поскольку от их значений зависит изменение весовых коэффициентов. Представлены результаты экспериментальных исследований, проведенных с тремя правилами обучения, которые позволяют достигнуть полной синхронизации нейронных сетей. Криптографический алгоритм запускался пять раз для трех различных архитектур с одним из правил обучения, что позволило получить среднее значение времени, которое необходимо для достижения синхронизации двух нейронных сетей. Полученные результаты показали, что с увеличением количества нейронов эффективней использовать правило Хебба.
нейронные сети
симметричные системы шифрования
процесс синхронизации
генерация ключа
нейросетевая криптография
1. Klimov A., Mityagin A., Shamir A. Analysis of Neural Cryptography. ASIACRYPT ‘02 Proceedings of the 8th International Conference on the Theory and Application of Cryptology and Information Security: Advances in Cryptology. Berlin, Heidelberg: 2002. Р. 288–298.
2. Sowmya D., Priyanka B.R. Design of Word Based Stream Cipher using Tree Parity Machine. Imperial Journal of Interdisciplinary Research. 2016. [Electronic resource]. URL: https://www.onlinejournal.in/IJIRV2I10/208.pdf (date of access: 10.08.2019).
3. Mart n Abadi, David G. Andersen. Learning to protect communications with adversarial neural cryptography. 2016. [Electronic resource]. URL: https://arxiv.org/pdf/1610.06918.pdf (date of access: 10.08.2019).
4. Червяков Н.И., Евдокимов А.А., Галушкин А.И. Применение искусственных нейронных сетей и системы остаточных классов в криптографии. М.: ФИЗМАТЛИТ, 2012. 280 с.
5. Хайкин С. Нейронные сети: полный курс, 2-e изд.: Пер. с анrл. М.: Издательский дом «Вильямс», 2006. 1104 с.: ил. Парал. тит. анrл.
6. Andreas Ruttor. Neural Synchronization and Cryptography. PhD thesis, Bayerische Julius-Maximilians-Universitat Wurzburg 2006. 122 р.
7. Правило Хэбба. MachineLearning.ru [Электронный ресурс]. URL: http://www.machinelearning.ru/wiki/index.php title= %D0 %9F %D1 %80 %D0 %B0 %D0 %B2 %D0 %B8 %D0 %BB %D0 %BE_ %D0 %A5 %D1 %8D %D0 %B1 %D0 %B1 %D0 %B0 (дата обращения: 10.08.2019).
8. Правило Хебба: «универсальный нейрофизиологический постулат». Habr [Электронный ресурс]. URL: https://habr.com/ru/post/102305/ (дата обращения: 10.08.2019).
9. Коэльо Л.П., Ричарт В. Построение систем машинного обучения на языке Python. Изд. 2-е. М.: «ДМК Пресс», 2016. 302 с.

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

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

Решением проблемы распространения ключа в симметричных системах шифрования занимались такие ученые, как А. Климов, А. Митягин, А. Шамир [1], Б.Р. Приянка [2], А. Мартин [3]. Ими было предложено использование криптографического алгоритма, основанного на синхронизации нейронных сетей.

Синхронизация представляет собой явление, которое можно наблюдать во многих физических и биологических системах. Она представляет интерес тем, что в результате ее достижения две и более системы приобретают одинаковые параметры. Синхронизацию нейронных сетей (далее НС) можно представить следующим образом: первоначально на вход НС поступают общие входные данные, являющиеся случайным набором, в дальнейшем при обучении в качестве входных данных выступают выходные значения других сетей [4]. Спустя короткое время достигается полная синхронизация, в результате которой весовые коэффициенты нейронных сетей оказываются равными. Полученные значения весовых коэффициентов в дальнейшем используются в качестве ключа шифрования.

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

Архитектура TPM. В основе нейросетевой криптографии лежат TPM (tree parity machines – древовидные машины четности), которые являются многоуровневыми нейронными сетями прямого распространения [5]. Как показано на рис. 1, TPM имеет три слоя: входной, скрытый и выходной слой.

berez1.wmf

Рис. 1. Топология TPM

Рассматриваемая нейронная сеть, состоит из:

- K x N входных нейронов;

- K скрытых нейронов;

- одного скрытого нейрона.

Все входные значения являются случайными и двоичными значениями xi,j∈{–1, +1}, а веса – дискретными числами между –L и +L (где индекс i = 1, . . . ,К обозначает i-й скрытый нейрон, индекс j = 1, . . . N обозначает j-й входной нейрон, L – заданный параметр).

Как и в других НС, в TPM взвешенная сумма используется для определения выходных значений, а состояние скрытого нейрона определяется его суммарным входом

Form1.tif.

Выход каждого скрытого нейрона σi можно определить как

Form2.tif,

а общий выход TPM задается произведением (четностью) скрытых единиц,

Form3.tif.

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

0. У двух абонентов есть многослойная сеть TPM.

1. Инициализация нейронной сети. В начале процесса синхронизации значения весовых коэффициентов задаются случайным образом.

2. Генерация случайного входного вектора, который подается на вход НС.

3. Вычисление значения скрытых и выходного нейронов.

4. Проверка равенства выходных значений обоих НС.

5. В случае несовпадения выходных значений необходимо вернуться ко второму шагу. Если выходные значения равны, тогда для каждой НС используем одно из трех правил обучений, представленных выше.

6. После достижения полной синхронизации НС на основе полученных весовых коэффициентов генерируется ключ шифрования [6].

Структура алгоритма синхронизации двух TPM представлена на рис. 2.

berez2.wmf

Рис. 2. Структура алгоритма синхронизации

Для достижения полной синхронизации древовидных машин четности можно использовать три правила обучения [7]:

- правило Хебба

Form4.tif, (1)

где wi,j – весовые значения скрытого слоя; xi,j – входные значения; τA – выходное значение TPMА; τB – выходное значение TPMВ; τ – общий выход.

- правило анти-Хебба

Form5.tif; (2)

- случайное блуждание [8]

Form6.tif. (3)

Представленные правила обучения должны гарантировать, нахождение весовых коэффициентов в допустимом диапазоне между –L и +L. Если же один из весов выходит за пределы этого промежутка, тогда он сбрасывается до ближайшего граничного значения L, что достигается путем использования функции g(w) в каждом правиле обучения.

Form7.tif

С учетом вышесказанного можно сделать вывод о том, что конечным результатом процесса синхронизации является получение одинаковых значений весовых коэффициентов двух НС.

Нейросетевая симметричная система шифрования на основе TPM. Рассмотрим, как можно использовать процесс синхронизации в предлагаемом криптографическом алгоритме. Оба участника связи (Алиса – отправитель, Боб – получатель) используют TPM, которые обладают одинаковой архитектурой. Такие параметры, как K, L и N, являются общедоступными.

Как уже было сказано, каждая нейронная сеть начинает процесс синхронизации со случайно выбранных весовых коэффициентов, которые держатся в секрете. В процессе синхронизации по общедоступному каналу связи передаются только входные значения xi и общие выходы τA и τB. Следовательно, каждый участник связи может знать только свое внутреннее представление (σ1, σ2, . . ., σК). После достижения полной синхронизации Алиса и Боб используют весовые коэффициенты в качестве общего секретного ключа.

На основе полученного секретного ключа Алиса и Боб могут использовать любой алгоритм симметричного шифрования. В общем виде процесс шифрования и дешифрования можно представить следующим образом:

Алиса шифрует исходное сообщение, используя закрытый ключ

E(m, d) = c,

где E – функция шифрования, d – закрытый ключ, m – открытый текст, с – зашифрованный текст.

Боб дешифрует полученное сообщение, используя тот же закрытый ключ

D(c, d) = m,

где D – функция дешифрования.

Безопасность. Безопасность криптографического алгоритма, основанного на процессе синхронизации, обеспечивается благодаря тому, что внутреннее представление TPM (σ1, σ2, ..., σК) неизвестно никому, кроме того участника связи, кому принадлежит эта нейронная сеть. Таким образом, для того чтобы расшифровать сообщение, злоумышленнику (Ева) надо знать состояния скрытых нейронов, поскольку от их значений зависит изменение весовых коэффициентов (уравнение 1, 2, 3).

Рассмотрим три метода атак, с помощью которых Ева может узнать секретный ключ:

- Метод перебора. Наиболее очевидным методом атаки на TPM является метод перебора. Однако данный способ является наименее эффективным, вследствие того, что необходимо перебрать тысячи комбинаций, прежде чем будет найдена правильная.

- Простая атака. Для осуществления этого типа атаки Ева использует TPM с такой же архитектурой, как у Алисы и Боба, а также входные xi и выходные τA значения. Как говорилось выше, эти значения передаются по общедоступному каналу связи. Ева так же, как Алиса и Боб, начинает синхронизацию со случайных весов. При этом Ева для обучения использует то же правило обучения, что Алиса и Боб. На каждом шаге возможны три ситуации: τA ≠ τB (веса не обновляются); τA = τB = τE (веса обновляются); τA = τB ≠ τE (веса обновляют Алиса и Боб). Таким образом, TPMЕ обучается медленнее, чем TPMА и TPMВ синхронизируются. Следовательно, Ева может определить ключ лишь с малой вероятностью.

- Генетическая атака. Данный тип атаки основан на эволюционном алгоритме, т.е. создании большой популяции TPM. Перед началом процесса синхронизации Ева имеет одну TPM с такой же архитектурой, как у Алисы и Боба. Всякий раз, когда Алиса и Боб обновляют веса (т.е. τA = τB), происходит следующее: пока число TPM, которыми обладает Ева, не превышает некоторый заданный порог M, то все TPMЕ заменяются на репрезентацию из F новых TPMЕ, каждая из которых получается альтернативной заменой скрытого нейрона на противоположное значение, собственно для этого подбираются новые веса [3].

Экспериментальная система и анализ результатов. На основе проведенного анализа был проведен эксперимент по сравнению представленных в первом разделе правил обучения TPM (правило Хебба, правило анти-Хебба, случайное блуждание). Целью эксперимента являлось определение того, как правила обучения влияют на продолжительность синхронизации двух TPM.

В качестве языка разработки экспериментальной системы был выбран Python, который представляет собой высокоуровневый язык программирования [9].

В экспериментальной системе были использованы четыре архитектуры TPM:

- K – 10; N – 5;

- K – 10; N – 25;

- K – 100; N – 10;

- K – 200; N – 15.

В таблице представлены параметры, полученные в ходе проведения эксперимента.

Параметры, полученные в ходе проведения эксперимента

 

Время сходимости, с

Количество обновлений

Количество обновлений, совершенных Евой

Архитектура 10 х 5

Правило Хебба

0,193461

267

69

Правило анти-Хебба

0,207788

314

92

Случайное блуждание

0,092321

175

53

Архитектура 10 х 25

Правило Хебба

0,3806

322

72

Правило анти-Хебба

0,5997

425

113

Случайное блуждание

0,4255

320

92

Архитектура 100 х 10

Правило Хебба

3,67883

609

118

Правило анти-Хебба

6,222801

1305

245

Случайное блуждание

4,516365

897

146

Архитектура 200 х 15

Правило Хебба

16,745014

1187

214

Правило анти-Хебба

39,21302

2723

576

Случайное блуждание

23,25365

1469

272

 

berez3.wmf

Рис. 3. Время, затраченное на синхронизацию (10×5)

berez4.tif

Рис. 4. Процесс синхронизации

На рис. 3 показано количество секунд, затраченных на синхронизацию TPMА и TPMВ с представленными выше архитектурами.

Рис. 4 демонстрирует, каким образом изменялась синхронизация TPMА и TPMВ в процессе обновления весов с использованием правил, показавших наименьшее время в результате проведенного эксперимента.

В результате проведенного эксперимента можно сделать вывод о том, что с увеличением количества нейронов во входном и скрытом слоях TPM эффективней использовать правило Хебба.

Выводы

Рассмотренный криптографический алгоритм, базирующийся на синхронизации двух нейронных сетей, позволяет решить проблему распространения секретного ключа в симметричных системах шифрования, к которым он относится. Однако данный алгоритм имеет два слабых места: он может быть взломан с помощью простой или генетической атаки. В качестве основного метода предотвращения простой атаки, который планируется исследовать в будущем, предлагаем использовать квантовые нейронные сети. Квантовые нейронные сети, основываясь на квантовых вычислениях, обладают такими преимуществами, как квантовый параллелизм, позволяющий работать одновременно со всеми допустимыми состояниями; теория о невозможности копирования неизвестного квантового состояния и невозможности прослушать сигнал, так как это искажает сообщение. Таким образом, можно сделать предположение о том, что криптографический алгоритм, основанный на использовании квантовых нейронных сетей, будет безопасным, вследствие невозможности прослушивания сигнала Евой. Для защиты от генетической атаки предлагаем исследовать возможность увеличения количества нейронов.


Библиографическая ссылка

Береза А.Н., Бегляров В.В., Шемякина М.А. КРИПТОГРАФИЧЕСКИЙ АЛГОРИТМ, ОСНОВАННЫЙ НА СИНХРОНИЗАЦИИ НЕЙРОННЫХ СЕТЕЙ // Современные наукоемкие технологии. – 2019. – № 10-1. – С. 15-20;
URL: http://www.top-technologies.ru/ru/article/view?id=37690 (дата обращения: 29.10.2020).

Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»
(Высокий импакт-фактор РИНЦ, тематика журналов охватывает все научные направления)

«Фундаментальные исследования» список ВАК ИФ РИНЦ = 1.074