Геовикипедия wiki.web.ru | ||
|
|
Н. В. Гоголь. ``Мертвые души'', глава 5. В данном разделе мы кратко обсудим те типы криптографических протоколов, в которых два участника должны обменяться некоторой информацией. Но участники не доверяют друг другу и каждый из них может оказаться обманщиком. Поэтому, если один из участников по неосторожности ``выпустит информацию из рук'' преждевременно, то в обмен он может получить совсем не то, проблемы здесь те же, что и в ``протоколе'' обмена расписки на ассигнации у Чичикова и Собакевича. Из всех криптографических протоколов данного типа, пожалуй, наиболее наглядным, и к тому же достаточно простым, является протокол подбрасывания монеты. Предположим, что двум участникам, Алисе и Бобу, необходимо бросить жребий. В случае, когда они оба физически находятся в одном и том же месте, задачу можно решить с помощью обычной процедуры подбрасывания монеты. Если кто-либо из участников не доверяет монете, можно использовать другие источники случайности. Правда, создание надежных источников случайности - весьма непростая задача, но она уже относится к математической статистике, а не к криптографии. Если же Алиса и Боб удалены друг от друга и могут общаться лишь по каналу связи, то задача о жребии, на первый взгляд, кажется неразрешимой. В самом деле, если, следуя обычной процедуре подбрасывания монеты, первый ход делает Алиса, которая выбирает один из возможных вариантов - ``орел'' или ``решка'', то Боб всегда может объявить тот исход, который ему выгоден. Тем не менее, эта задача была решена Блюмом [14]. Любопытно, что даже в заголовке своей работы Блюм охарактеризовал предложенный им метод как метод ``решения нерешаемых задач''. Легко понять, что задача о жребии решается очень просто, если существует надежный агент - третья сторона, которая пользуется полным доверием и Алисы, и Боба, и которая имеет конфиденциальные (закрытые) каналы связи с обоими участниками. В этом случае Боб и Алиса выбирают случайные биты и соответственно и посылают их в тайне друг от друга агенту. Последний ждет, пока не поступят оба бита, и после этого публикует , и - исход подбрасывания монеты. В отсутствие надежного агента срабатывает идея, которую проще всего понять на следующей ``физической'' реализации. Боб выбирает случайный бит , записывает его на листе бумаги, запирает этот лист в ящике, оставляя ключ от замка у себя, и посылает ящик Алисе. Предполагается, что, не имея ключа, Алиса не может добраться до содержимого ящика. Получив ящик, Алиса выбирает случайный бит и посылает его Бобу. В ответ Боб посылает Алисе ключ от ящика. Исходом подбрасывания монеты будет опять-таки бит . Ниже мы излагаем криптографическую реализацию той же идеи, основанную на задаче дискретного логарифмирования, и используем при этом обозначения из раздела 3.
Протокол подбрасывания монеты
Значение - это криптографический аналог того ящика, о котором шла речь в описании физической реализации. В самом деле, из значения Алиса не может извлечь никакой информации о бите . Поскольку выбирается случайным образом из , значение в обоих случаях, при и , является случайным элементом группы, порожденной , и поэтому не несет никакой информации о значении бита (разумеется, Алиса может попытаться обманывать, выбирая значение , не принадлежащее группе, порожденной ; однако Боб легко обнаружит такой обман, проверяя сравнение ). С другой стороны, Боб может обманывать, т.е. открывать значение бита по своему желанию и как 0, и как 1, но только в том случае, если он умеет вычислять дискретные логарифмы. Это вытекает из следующих соображений. Поскольку, как уже отмечалось выше, можно считать, что значение заведомо принадлежит группе, порожденной , существует единственное число такое, что . Для того, чтобы открыть значение , Боб должен послать Алисе на шаге 4 число , а для того, чтобы открыть значение , - число . Отсюда . Пусть - полиномиальная вероятностная машина Тьюринга, которую Боб использует для осуществления такого обмана. Тогда следующий алгоритм будет вычислять дискретные логарифмы.
На основе этих соображений можно построить доказательство следующего утверждения: в предположении трудности задачи дискретного логарифмирования приведенный выше протокол подбрасывания монеты является стойким. Заметим, что для данного протокола достаточно весьма слабой формы этого предположения. Поскольку Алиса может прекратить выполнение протокола, если с момента передачи значения Бобу до момента получения от него значений и проходит более, скажем, 30 секунд, достаточно предположить, что задача дискретного логарифмирования не может быть решена за такое время. Если из приведенного выше протокола подбрасывания монеты вычленить шаги 1, 2 и 4, то получим так называемый протокол привязки к биту (bit commitment). Шаги 1 и 2 в таком протоколе называются этапом привязки, а шаг 4 - этапом открытия бита. В этом протоколе для значения , в которое упаковывается бит , (аналог ящика в физической реализации) обычно используется термин блоб (blob), для Алисы - получатель, а для Боба - отправитель. Говоря неформально, от протокола привязки к биту требуется такая конструкция блоба, которая обеспечивает одновременное выполнение следующих двух требований: 1) после выполнения этапа привязки получатель не может самостоятельно определить, какой бит упакован в блоб; 2) на этапе открытия бита отправитель может открыть любой блоб либо только как 0, либо только как 1. В нашем случае требование 1) выполняется безусловно, т.е. вне зависимости от того, какими вычислительными ресурсами обладает получатель, он не может самостоятельно узнать, какой бит находится в блобе. В таких случаях говорят, что протокол гарантирует безусловную безопасность отправителя. В то же время безопасность получателя основывается на недоказанном предположении о вычислительной трудности задачи дискретного логарифмирования. Такая асимметрия типична для многих типов криптографических протоколов. Она имеется, например, в доказательствах с вычислительно нулевым разглашением. Но существует и другой тип протоколов привязки к биту, в которых уже безопасность получателя безусловна, а безопасность отправителя основывается на недоказанных предположениях. Для многих типов криптографических протоколов с указанной выше асимметрией построены такого рода двойственные протоколы. Протокол привязки к биту - один из основных типов примитивных криптографических протоколов. Он находит многочисленные применения в криптографии. В качестве иллюстрации рассмотрим способ повышения эффективности доказательств с нулевым разглашением на примере рассмотренного в главе 2 протокола для задачи ИЗОМОРФИЗМ ГРАФОВ. В этом протоколе главная проблема - большое количество раундов, растущее пропорционально размеру графа. Достаточно естественная идея - выполнить все эти последовательные раунды параллельно. На первом шаге P выбирает случайных перестановок , вычисляет и посылает все эти графов V. На втором шаге V выбирает случайных битов и посылает их P, а на третьем P формирует все требуемых перестановок и посылает их V. Но будет ли такой протокол доказательством с нулевым разглашением? Прежде всего заметим, что этот протокол трехраундовый, а как показывает уже упоминавшийся в разделе 3 результат Гольдрайха и Кравчика, трехраундовых доказательств с нулевым разглашением скорее всего не существует. Тот метод, который использовался в главе 2 для построения моделирующей машины, срабатывал, поскольку при последовательном выполнении протокола моделирующая машина могла угадать на каждом раунде запрос проверяющего с вероятностью . В параллельном же варианте вероятность угадывания равна , т.е. пренебрежимо мала. Кроме того, проверяющий формирует свои запросы , уже получив от P все графы , и может выбирать их (запросы) зависящими достаточно сложным образом от всех этих графов. Это также представляется непреодолимым препятствием при попытке построения моделирующей машины. Зависимость от можно предотвратить следующим образом. Проверяющий V выбирает свои запросы в самом начале выполнения протокола, еще до того, как увидит . Каждый бит упаковывается в блоб , и V посылает все блобы доказывающему. Только после этого P посылает V все графы . В ответ V открывает блобы, а P, получив , формирует требуемые перестановки и посылает их V. В результате количество раундов в протоколе возросло, но осталось константой (достаточно 5 раундов). При использовании протокола привязки к биту, обеспечивающего безусловную безопасность отправителя, даже обладающий неограниченными вычислительными возможностями доказывающий не может извлечь из блобов никакой информации о запросах . Поэтому корректность протокола сохраняется. Итак, второе из указанных выше препятствий устранено. А как быть с первым? Оказывается, моделирующей машине совсем необязательно угадывать запросы V. Следующая замечательная идея многократно использовалась в работах, посвященных криптографическим протоколам (см. [15]). Моделирующая машина , получив от V блобы, запоминает состояние машины V, выбирает графы , как случайные перестановки графа , и передает их V. В ответ V открывает блобы, и получает запросы . После этого моделирующая машина формирует графы как ответы на запросы , восстанавливает запомненное состояние машины V и передает ей . Поскольку протокол привязки к биту предполагается стойким, машина вновь получит те же самые биты и успешно завершит моделирование, выдавая , , требуемые перестановки, а также блобы и те сообщения, которые были выданы машиной V для их открытия. Предположим, что то предположение, на котором основывается стойкость протокола привязки к биту, стало доказанным фактом. Например, удалось доказать, что не существует полиномиальных алгоритмов для задачи дискретного логарифмирования. Даже в этом случае полиномиально ограниченный отправитель в приведенном выше протоколе привязки к биту может угадать хоть и с малой, но ненулевой вероятностью, и обмануть получателя. Из-за этого рассмотренный нами параллельный вариант протокола будет доказательством лишь со статистически нулевым разглашением. А исходный последовательный вариант (см. главу 2) обладал свойством абсолютно нулевого разглашения. В работе Беллара, Микали и Островски [15], где был предложен описанный выше способ преобразования последовательных протоколов в параллельные, используется специальная конструкция блобов для задачи ИЗОМОРФИЗМ ГРАФОВ, сохраняющая свойство абсолютно нулевого разглашения.
Next: 3.5. Еще раз о Up: 3. Криптографические протоколы Previous: 3.3. Неотслеживаемость. Электронные деньги Contents: Содержание |