Нейронная криптография - Neural cryptography

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

Определение

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

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

Другая идея - способность нейронной сети разделять пространство на нелинейные части с помощью «смещения». Он дает разные вероятности срабатывания нейросети или нет. Это очень полезно в случае криптоанализа.

Два имени используются для разработки одной и той же области исследования: нейрокриптография и нейронная криптография.

Первая известная работа по этой теме восходит к 1995 году в магистерской диссертации по ИТ.

Приложения

В 1995 году Себастьен Дорленс применил нейронные сети для криптоанализа DES позволяя сетям научиться инвертировать S-таблицы DES. Смещение в DES, изученное с помощью дифференциального криптоанализа, Ади Шамир выделен. Эксперимент показывает, что можно найти около 50% битов ключа, что позволяет найти полный ключ за короткое время. Аппаратные приложения с несколькими микроконтроллерами были предложены в связи с простой реализацией многоуровневых нейронных сетей на аппаратном уровне.
Один из примеров протокола с открытым ключом дал Халил Шихаб. Он описывает схему дешифрования и создание открытого ключа, основанные на обратное распространение нейронная сеть. Схема шифрования и процесс создания закрытого ключа основаны на булевой алгебре. Преимущество этого метода состоит в том, что он требует небольших затрат времени и памяти. Недостатком является свойство алгоритмов обратного распространения ошибки: из-за огромных обучающих наборов фаза обучения нейронной сети очень долгая. Поэтому использование этого протокола пока только теоретическое.

Протокол обмена нейронными ключами

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

Машина проверки четности деревьев

Машина проверки четности деревьев

Машина проверки четности дерева - это особый тип многослойной нейронная сеть с прямой связью.

Он состоит из одного выходного нейрона, K скрытые нейроны и K×N входные нейроны. Входы в сеть принимают три значения:

Веса между входными и скрытыми нейронами принимают значения:

Выходное значение каждого скрытого нейрона рассчитывается как сумма всех умножений входных нейронов и этих весов:

Signum - простая функция, которая возвращает −1,0 или 1:

Если скалярное произведение равно 0, выходной сигнал скрытого нейрона отображается на -1, чтобы гарантировать двоичное выходное значение. Выход нейронной сети затем вычисляется как умножение всех значений, произведенных скрытыми элементами:

Выход машины проверки четности дерева двоичный.

Протокол

Каждая партия (А и B) использует свою собственную машину проверки четности дерева. Синхронизация машин четности дерева достигается на этих этапах

  1. Инициализировать случайные значения веса
  2. Выполняйте эти шаги, пока не будет достигнута полная синхронизация.
    1. Сгенерировать случайный входной вектор Икс
    2. Вычислить значения скрытых нейронов
    3. Вычислить значение выходного нейрона
    4. Сравните значения обеих машин проверки четности дерева
      1. Выходы те же: перейти к 2.1
      2. Выходы разные: к весам применяется одно из подходящих правил обучения.

После достижения полной синхронизации (веса wij обеих машин четности дерева одинаковы), А и B могут использовать их веса как ключи.
Этот метод известен как двунаправленное обучение.
Одно из следующих правил обучения[1] можно использовать для синхронизации:

  • Правило изучения еврейского языка:
  • Антихеббийское правило обучения:
  • Случайная прогулка:

Где:

если иначе

И:

это функция что сохраняет В диапазоне

Атаки и безопасность этого протокола

При каждой атаке считается, что атакующий E может подслушивать сообщения между сторонами А и B, но не имеет возможности их изменить.

Грубая сила

Чтобы обеспечить атаку методом перебора, злоумышленник должен проверить все возможные ключи (все возможные значения весов wij). К K скрытые нейроны, K×N входные нейроны и граница весов L, это дает (2L + 1)КН возможности. Например, конфигурация K = 3, L = 3 и N = 100 дает нам 3 * 10253 ключевые возможности, делающие атаку невозможной с сегодняшними компьютерными мощностями.

Обучение с помощью собственной машины проверки четности дерева

Одна из базовых атак может быть предоставлена ​​злоумышленником, который владеет той же машиной проверки четности дерева, что и стороны. А и B. Он хочет синхронизировать свою машину проверки четности деревьев с этими двумя сторонами. На каждом этапе возможны три ситуации:

  1. Выход (A) ≠ Выход (B): ни одна из сторон не обновляет свои веса.
  2. Выход (A) = Выход (B) = Выход (E): Все три стороны обновляют веса в своих машинах контроля четности деревьев.
  3. Выход (A) = Выход (B) ≠ Выход (E): Стороны А и B обновлять свои машины с четностью дерева, но злоумышленник не может этого сделать. Из-за этой ситуации его обучение происходит медленнее, чем синхронизация партий. А и B.

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

Прочие атаки

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

Александр Климов, Антон Митягин и Ади Шамир говорят, что исходная схема нейросинхронизации может быть взломана, по крайней мере, тремя различными атаками - геометрическим, вероятностным анализом и использованием генетических алгоритмов. Несмотря на то, что эта конкретная реализация небезопасна, идеи хаотической синхронизации потенциально могут привести к безопасной реализации.[2]

Перестановочная машина четности

Машина проверки четности перестановки является двоичным вариантом машины проверки четности дерева.[3]

Он состоит из одного входного слоя, одного скрытого слоя и одного выходного слоя. Количество нейронов в выходном слое зависит от количества скрытых единиц K. Каждый скрытый нейрон имеет N двоичных входных нейронов:

Веса между входными и скрытыми нейронами также являются двоичными:

Выходное значение каждого скрытого нейрона рассчитывается как сумма всех исключительных дизъюнкций (исключая или) входных нейронов и этих весов:

(⊕ означает XOR).

Функция - пороговая функция, которая возвращает 0 или 1:

Выход нейронной сети с двумя или более скрытыми нейронами может быть вычислен как исключающее ИЛИ значений, созданных скрытыми элементами:

Возможны и другие конфигурации выходного слоя при K> 2.[3]

Эта машина оказалась достаточно устойчивой к некоторым атакам.[4] поэтому его можно было бы использовать в качестве средства шифрования, но было показано, что он уязвим для вероятностной атаки.[5]

Защита от квантовых компьютеров

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

Протокол обмена нейронными ключами не основан на какой-либо теории чисел. Он основан на разнице между однонаправленной и двунаправленной синхронизацией нейронных сетей. Следовательно, что-то вроде протокола обмена нейронными ключами может привести к потенциально более быстрым схемам обмена ключами.[2]

Смотрите также

Рекомендации

  1. ^ Сингх, Аджит; Нандал, Арти (май 2013 г.). «Нейронная криптография для обмена секретными ключами и шифрования с помощью AES» (PDF). Международный журнал перспективных исследований в области компьютерных наук и программной инженерии. 3 (5): 376–381. ISSN  2277-128X.
  2. ^ а б Климов Александр; Митягин, Антон; Шамир, Ади (2002). «Анализ нейронной криптографии» (PDF). Достижения в криптологии. ASIACRYPT 2002. LNCS. 2501. С. 288–298. Дои:10.1007/3-540-36178-2_18. ISSN  0302-9743. Получено 2017-11-15.
  3. ^ а б Reyes, O.M .; Kopitzke, I .; Циммерманн, К.-Х. (Апрель 2009 г.). «Машины перестановки четности для нейронной синхронизации». Журнал физики A: математический и теоретический. 42 (19): 195002. Bibcode:2009JPhA ... 42с5002Р. Дои:10.1088/1751-8113/42/19/195002. ISSN  1751-8113.
  4. ^ Рейес, Оскар Маурисио; Циммерманн, Карл-Хайнц (июнь 2010 г.). «Машины перестановочной четности для нейронной криптографии». Физический обзор E. 81 (6): 066117. Bibcode:2010PhRvE..81f6117R. Дои:10.1103 / PhysRevE.81.066117. ISSN  1539-3755. PMID  20866488.
  5. ^ Сеоан, Луис Ф .; Руттор, Андреас (февраль 2012 г.). «Успешная атака на нейронную криптографию на основе машины с перестановкой четности». Физический обзор E. 85 (2): 025101. arXiv:1111.5792. Bibcode:2012PhRvE..85b5101S. Дои:10.1103 / PhysRevE.85.025101. ISSN  1539-3755. PMID  22463268.