Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
71
Добавлен:
06.06.2015
Размер:
1.75 Mб
Скачать

3.4. Протоколы типа ``подбрасывание монеты по телефону''

``- Хорошо, дайте же сюда деньги. - На что-ж деньги? У меня вот они в руке! Как только напишете расписку, в ту же минуту их возьмете. - Да позвольте, как же мне писать расписку? Прежде нужно видеть деньги. Чичиков выпустил из рук бумажки Собакевичу, который, приблизившись к столу и накрывши их пальцами левой руки, другою написал на лоскутке бумаги, что задаток двадцать пять рублей государственными ассигнациями за проданные души получен сполна.''

Н. В. Гоголь. ``Мертвые души'', глава 5.

В данном разделе мы кратко обсудим те типы криптографических протоколов, в которых два участника должны обменяться некоторой информацией. Но участники не доверяют друг другу и каждый из них может оказаться обманщиком. Поэтому, если один из участников по неосторожности ``выпустит информацию из рук'' преждевременно, то в обмен он может получить совсем не то, проблемы здесь те же, что и в ``протоколе'' обмена расписки на ассигнации у Чичикова и Собакевича.

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

Если же Алиса и Боб удалены друг от друга и могут общаться лишь по каналу связи, то задача о жребии, на первый взгляд, кажется неразрешимой. В самом деле, если, следуя обычной процедуре подбрасывания монеты, первый ход делает Алиса, которая выбирает один из возможных вариантов - ``орел'' или ``решка'', то Боб всегда может объявить тот исход, который ему выгоден.

Тем не менее, эта задача была решена Блюмом [14]. Любопытно, что даже в заголовке своей работы Блюм охарактеризовал предложенный им метод как метод ``решения нерешаемых задач''.

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

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

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

Протокол подбрасывания монеты

 Алиса выбирает случайное число из, вычисляети посылаетБобу.

 Боб выбирает случайный бит , случайное числоиз, вычисляети посылаетАлисе.

 Алиса выбирает случайный бит и посылает его Бобу.

 Боб посылает Алисе и.

 Алиса проверяет, выполняется ли сравнение . Если да, то результатом выполнения протокола будет бит.

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

С другой стороны, Боб может обманывать, т.е. открывать значение бита по своему желанию и как 0, и как 1, но только в том случае, если он умеет вычислять дискретные логарифмы. Это вытекает из следующих соображений. Поскольку, как уже отмечалось выше, можно считать, что значениезаведомо принадлежит группе, порожденной, существует единственное числотакое, что. Для того, чтобы открыть значение, Боб должен послать Алисе на шаге 4 число, а для того, чтобы открыть значение, - число. Отсюда. Пусть-полиномиальная вероятностная машина Тьюринга, которую Боб использует для осуществления такого обмана. Тогда следующий алгоритм будет вычислять дискретные логарифмы.

 Передаем входное значение машине.

 Получив в ответ значение , запоминаем состояние машины.

 Выбираем случайный бит и передаем его.

 Получив от значенияи, запоминаем эти величины, восстанавливаем ранее запомненное состояние машиныи переходим на шаг 3.

 Как только среди пар найдутсяи, вычисляем- дискретный логарифм величины.

На основе этих соображений можно построить доказательство следующего утверждения: в предположении трудности задачи дискретного логарифмирования приведенный выше протокол подбрасывания монеты является стойким. Заметим, что для данного протокола достаточно весьма слабой формы этого предположения. Поскольку Алиса может прекратить выполнение протокола, если с момента передачи значения Бобу до момента получения от него значенийипроходит более, скажем, 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], где был предложен описанный выше способ преобразования последовательных протоколов в параллельные, используется специальная конструкция блобов для задачи ИЗОМОРФИЗМ ГРАФОВ, сохраняющая свойство абсолютно нулевого разглашения.

Соседние файлы в папке Брюс Шнайер Прикладная криптография