Использование нейросетей в криптографии
Две нейросети, тренируемые на общие выходные биты анализируется методами
статической физики. При этом проявляется новый феномен: сети синхронизируют
свои состояния с идентичными, не зависящими от времени весами.
Расширение моделей до многослойных сетей с дискретными весами показывает,
как синхронизация общим обучением может быть применена для защищённого обмена
ключами через публичный канал.
Прим. пер.: это перевод статьи о совершенно новом веянии
в криптографии. Однако не стоит забывать о том, что уже
разработаны и опубликованы
методы вскрытия такого алгоритма, что не мешает создавать более надёжные
версии. Переведена общая часть статьи, математическая часть находится
в приложенном файле.
Когда обе сети, обучающая и обучаемая, имеют N весов, процесс обучения требует N образцов данных для получения возможности их обобщения. Это значит, что после обучающей фазы обучаемая сеть достигла частичного совпадения с обучающей, их векторы кореллируются. В результате обучаемая сеть может различать входные данные, не относящиеся к тренировочному набору. Усреднённая вероятность возникновения ошибки обратно пропорциональна количеству тренировочных образцов.
Обучение может проходить в двух различных режимах: пакетном и оперативном. В первом случае все образцы записываются и используются для минимизации ошибок. Во втором случае образец используется лишь раз и потом уничтожается. Таким образом оперативное обучение может рассматриваться как динамический процесс: на каждом шаге обучающая сеть создаёт новый образец, который обучаемая сеть использует для изменения своих весов на небольшой коэффициент. Фактически, для случайных входных векторов и при N, стремящимся к бесконечности, обучение и генерализация могут быть описаны простыми дифференциальными выражениями для нескольких параметров.
Оперативное обучение динамический процесс, в котором образцы создаются обучающей статической сетью. Обучаемая сеть пытается двигаться за учителем. Обучаемая сеть может сама создавать образцы, по которым она тренируется. Когда результирующий бит смещается к смещённой входной последовательности, сеть создаёт комплексный временной ряд. Такие сети называются генераторами битов (двоичные) или последовательностей (множественных чисел) и обычно изучаются в контексте предсказания временных рядов.
Работы по динамике нейросетей обучение статичным учителем или самообучение заставили нас заняться следующим вопросов: что случиться, если две нейросети будут обучаться друг по другу? Обнаружился феномен: синхронизация при помощи общего обучения. Биологические последствия этого феномена пока не изучены, но мы находим интересное применение: защищённая генерация секретного ключа с использованием открытого канала связи.
В криптографии одним из требований к методам передачи секретного сообщения между двумя корреспондентами A и B является невозможность получения корреспондентом E содержимого секретного сообщения.
До 1976 года все криптографические методы основывались на секретных ключах шифрования, которые передавались между A и B по защищённому каналу, не допускающему перехвата ключа. Такой общий секретный ключ может быть использован, например, в качестве основы для генератора псевдослучайной двоичной последовательности, добавляющему в сообщение псевдослучайные биты.
В 1976 году Диффи (Diffie) и Гельман (Hellmann) обнаружили, что общий секретный ключ может быть передан по открытому каналу связи. Этот метод базируется на теории чисел: при ограниченной вычислительной мощности невозможно подсчитать дискретный логарифм достаточно больших чисел.
В нашей статье показывается, как нейросети могут создать общий секретный ключ, обмениваясь данными через открытый канал связи и обучаясь друг у друга.
Этот феномен может быть использован как протокол обмена ключами. Два корреспондента выбирают секретные начальные векторы весов, соглашаются о публичной передаче последовательности входных векторов. После нескольких шагов они имеют идентичные весовые векторы, используемые для секретного ключа. В отличии от других методов этот является очень быстрым.
Введение
Нейросети учаться по образцам. Эта концепция в значительной степени раскрывается при использовании моделей и методов статической механики. Обущающая сеть предоставляет пары «вход/выход» данных, а обучаемая сеть тренируется на эти данные. Тренировка (обучение) означает, что синаптические веса адаптируются по простым правилам к парам поступающих данных.Когда обе сети, обучающая и обучаемая, имеют N весов, процесс обучения требует N образцов данных для получения возможности их обобщения. Это значит, что после обучающей фазы обучаемая сеть достигла частичного совпадения с обучающей, их векторы кореллируются. В результате обучаемая сеть может различать входные данные, не относящиеся к тренировочному набору. Усреднённая вероятность возникновения ошибки обратно пропорциональна количеству тренировочных образцов.
Обучение может проходить в двух различных режимах: пакетном и оперативном. В первом случае все образцы записываются и используются для минимизации ошибок. Во втором случае образец используется лишь раз и потом уничтожается. Таким образом оперативное обучение может рассматриваться как динамический процесс: на каждом шаге обучающая сеть создаёт новый образец, который обучаемая сеть использует для изменения своих весов на небольшой коэффициент. Фактически, для случайных входных векторов и при N, стремящимся к бесконечности, обучение и генерализация могут быть описаны простыми дифференциальными выражениями для нескольких параметров.
Оперативное обучение динамический процесс, в котором образцы создаются обучающей статической сетью. Обучаемая сеть пытается двигаться за учителем. Обучаемая сеть может сама создавать образцы, по которым она тренируется. Когда результирующий бит смещается к смещённой входной последовательности, сеть создаёт комплексный временной ряд. Такие сети называются генераторами битов (двоичные) или последовательностей (множественных чисел) и обычно изучаются в контексте предсказания временных рядов.
Работы по динамике нейросетей обучение статичным учителем или самообучение заставили нас заняться следующим вопросов: что случиться, если две нейросети будут обучаться друг по другу? Обнаружился феномен: синхронизация при помощи общего обучения. Биологические последствия этого феномена пока не изучены, но мы находим интересное применение: защищённая генерация секретного ключа с использованием открытого канала связи.
В криптографии одним из требований к методам передачи секретного сообщения между двумя корреспондентами A и B является невозможность получения корреспондентом E содержимого секретного сообщения.
До 1976 года все криптографические методы основывались на секретных ключах шифрования, которые передавались между A и B по защищённому каналу, не допускающему перехвата ключа. Такой общий секретный ключ может быть использован, например, в качестве основы для генератора псевдослучайной двоичной последовательности, добавляющему в сообщение псевдослучайные биты.
В 1976 году Диффи (Diffie) и Гельман (Hellmann) обнаружили, что общий секретный ключ может быть передан по открытому каналу связи. Этот метод базируется на теории чисел: при ограниченной вычислительной мощности невозможно подсчитать дискретный логарифм достаточно больших чисел.
В нашей статье показывается, как нейросети могут создать общий секретный ключ, обмениваясь данными через открытый канал связи и обучаясь друг у друга.
Тезисы
Взаимодействующие нейросети могут рассчитываться аналитически. На каждом шаге обучения две сети получают общий случайный входной вектор и определяют свои выходные биты. При достаточной скорости обучения и нормализируемых весовых векторах две сети знают достаточно друг о друге. Их весовые вектора при этом меняются случайным образом. Оппонент, перехвативший обучающие образцы не может узнать секретный ключ (что было опровергнуто прим. пер.). В случае использования многослойных сетей оппонент не сможет не зная начальных весовых коэффициентов восстановить полную информацию об используемом секретном ключе. Его сеть, работающая по идентичному алгоритму не сможет синхронизироваться с сетями корреспондентов A и B.Этот феномен может быть использован как протокол обмена ключами. Два корреспондента выбирают секретные начальные векторы весов, соглашаются о публичной передаче последовательности входных векторов. После нескольких шагов они имеют идентичные весовые векторы, используемые для секретного ключа. В отличии от других методов этот является очень быстрым.
0 TrackBacks
Listed below are links to blogs that reference this entry: Использование нейросетей в криптографии.
TrackBack URL for this entry: http://www.ptitov.ru/mt/mt-tb.cgi/3

Leave a comment