Вычислительно ограниченный противник - Computationally bounded adversary

В теория информации, то вычислительно ограниченный противник Проблема - это другой взгляд на проблему отправки данных по зашумленному каналу. В предыдущих моделях лучшее, что можно было сделать, - это обеспечить правильное декодирование до d/ 2 ошибок, где d - расстояние Хэмминга кода. Проблема с тем, чтобы сделать это таким образом, заключается в том, что он не принимает во внимание фактическое количество вычислительной мощности, доступной противнику. Скорее, он заботится только о том, сколько бит данного кодового слова может измениться, и при этом сообщение будет правильно декодировано. В вычислительно ограниченной модели противника канал - противник - ограничивается только возможностью выполнить разумный объем вычислений, чтобы решить, какие биты кодового слова необходимо изменить. Другими словами, этой модели не нужно учитывать, сколько ошибок может быть обработано, а только то, сколько ошибок может быть внесено при разумной вычислительной мощности со стороны противника. Как только каналу присвоено это ограничение, становится возможным создавать коды, которые быстрее кодируются и декодируются по сравнению с предыдущими методами, которые также могут обрабатывать большое количество ошибок.

Сравнение с другими моделями

Модель наихудшего случая

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

Для сравнения рассмотрим Быстрая сортировка алгоритм. В худшем случае Quicksort сделает O (п2) сравнения; однако такое случается редко. Quicksort почти всегда дает O (п журналп), и даже превосходит другие алгоритмы, которые могут гарантировать O (п журналп) поведение. Предположим, злоумышленник хочет заставить алгоритм быстрой сортировки выполнить O (п2) сравнения. Тогда ему придется обыскать все п! перестановок входной строки и проверять алгоритм на каждой, пока не найдет ту, для которой алгоритм работает значительно медленнее. Но так как это займет O (п!) время, злоумышленник явно не может это сделать. Точно так же неразумно предполагать, что злоумышленник системы кодирования и декодирования сможет протестировать каждый шаблон ошибки, чтобы найти наиболее эффективный.

Модель стохастического шума

Модель стохастического шума можно охарактеризовать как своего рода «тупую» модель шума. То есть он не способен противостоять «интеллектуальным» угрозам. Даже если злоумышленник ограничен, все же возможно, что он сможет преодолеть стохастическую модель с небольшим умом. Стохастическая модель не имеет реального способа борьбы с такого рода атаками и, как таковая, не подходит для борьбы с «интеллектуальными» угрозами, от которых было бы предпочтительнее иметь защиту.


Таким образом, вычислительно ограниченная состязательная модель была предложена как компромисс между ними.[1] Это заставляет задуматься о том, что сообщения могут быть извращены сознательно, даже злонамеренно, но при этом разработчика алгоритма не нужно беспокоиться о редких случаях, которые, вероятно, никогда не произойдут.

Приложения

Сравнение с каналом стохастического шума

Поскольку любой вычислительно ограниченный противник может в O (пЕсли подбросить монетку для каждого бита, то интуитивно понятно, что любая система кодирования и декодирования, которая может работать против этого противника, также должна работать в модели стохастического шума. Обратное менее просто; однако можно показать, что любая система, которая работает в модели стохастического шума, может также эффективно кодировать и декодировать против вычислительно ограниченного противника, и только за дополнительную плату, которая полиномиальна от п.[1] Следующий метод достижения этого был разработан Диком Липтоном и взят из:[1]

Иллюстрация метода. Первая строка дает исходное закодированное сообщение; второй - после случайной перестановки и случайного R; третий - после того, как противник добавляет N; четвертый - после непереключения; пятый - закодированное сообщение с удаленной ошибкой злоумышленника.
Иллюстрация метода. Первая строка дает исходное закодированное сообщение; второй - после случайной перестановки и случайного R; третий - после того, как противник добавляет N; четвертый - после непереключения; пятый - закодированное сообщение с удаленной ошибкой злоумышленника.

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

Для кодирования: 1. Позволять .

2. Пусть .

3. Передать

Затем для расшифровки: 1. Получить . Вычислить .

2. Рассчитайте .

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

поскольку по определению.

, куда

так как любая перестановка линейна относительно XOR,

согласно определению над.

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

Конкретные приложения

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

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

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

  1. ^ а б c Липтон (6 мая 2009 г.). «Сложность наихудшего случая». Потерянное письмо Гёделя и P = NP. Получено 2013-04-01.
  2. ^ Островский, Пандей, Сахай. «Частные локально декодируемые коды» (PDF). Получено 2013-04-01.CS1 maint: несколько имен: список авторов (ссылка на сайт)
  3. ^ Микали, Пайкерт; Судан, А. Уилсон. «Оптимальное исправление ошибок для вычислительно ограниченного шума» (PDF). Получено 2013-04-01.