Использование нейросетей в криптографии

| | Comments (0) | TrackBacks (0)
Две нейросети, тренируемые на общие выходные биты анализируется методами статической физики. При этом проявляется новый феномен: сети синхронизируют свои состояния с идентичными, не зависящими от времени весами. Расширение моделей до многослойных сетей с дискретными весами показывает, как синхронизация общим обучением может быть применена для защищённого обмена ключами через публичный канал.
Прим. пер.: это перевод статьи о совершенно новом веянии в криптографии. Однако не стоит забывать о том, что уже разработаны и опубликованы методы вскрытия такого алгоритма, что не мешает создавать более надёжные версии. Переведена общая часть статьи, математическая часть находится в приложенном файле.

Введение

Нейросети учаться по образцам. Эта концепция в значительной степени раскрывается при использовании моделей и методов статической механики. Обущающая сеть предоставляет пары «вход/выход» данных, а обучаемая сеть тренируется на эти данные. Тренировка (обучение) означает, что синаптические веса адаптируются по простым правилам к парам поступающих данных.

Когда обе сети, обучающая и обучаемая, имеют 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

About this Entry

This page contains a single entry by Pavel Titov published on July 1, 2002 6:17 AM.

Создание почтовых роботов на Perl was the previous entry in this blog.

Безопасная установка PHP is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Powered by Movable Type 4.01

Страницы