Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Математические основы криптологии и криптографические методы и средс

..pdf
Скачиваний:
49
Добавлен:
15.11.2022
Размер:
14.26 Mб
Скачать

им лицам эту теорему. А может ли Алиса убедить Боба так, чтобы он не получил при этом никакой информации, которая помогла бы ему восстановить доказательство теоремы? Этим двум, казалось бы, вза­ имно исключающим требованиям, удовлетворяют протоколы доказа­ тельства с нулевым разглашением. Последнее понятие было введено Гольдвассер, Микали и Ракоффом в 1985 году.

Рассматривается следующая модель протокола. В распоряжении Алисы и Боба имеются вероятностные машины Тьюринга Р и V со­ ответственно. Вычислительные ресурсы, которые может использо­ вать Алиса, неограничены, в то время как машина V работает за по­ линомиальное время. Машины Р и V имеют общую коммуникаци­ онную ленту для обмена сообщениями. После записи сообщения на коммуникационную ленту машина переходит в состояние ожидания и выходит из него, как только на ленту будет записано ответное со­ общение. Машины Р и V имеют также общую входную ленту, на которую записано входное слово х. Утверждение, которое доказыва­ ет Алиса, суть « х е Z,», где L - некоторый фиксированный (извест­ ный и Алисе, и Бобу) язык. Чтобы избежать тривиальности, язык L должен быть трудным (например, АР-полным), иначе Боб сможет самостоятельно проверить, что х L . По существу, протокол дока­ зательства состоит в том, что Боб, используя случайность, выбирает некоторые вопросы, задает их Алисе и проверяет правильность отве­ тов. Выполнение протокола завершается, когда машина V останав­ ливается, при этом она выдает 1, если доказательство принято, и 0 - в противном случае.

Пусть А и В -две интерактивные, т.е. взаимодействующие че­ рез общую коммуникационную ленту, вероятностные машины Тью­ ринга. Через [р(х), Л(х)] обозначается случайная величина-

выходное слово машины А, когда А и В работают на входном слове х.

Через |х| обозначается длина словах.

Определение. Интерактивным доказательством для языка L называется пара интерактивных машин Тьюринга (F, F), такая, что выполняются следующие два условия.

1. (Полнота). Для всех х е L Pr{[P(x), V(x)] = l} = 1.

2. (Корректность). Для любой машины Тьюринга Р*, для лю­ бого полинома р и для всех х <£ L достаточно большой длины

P r{ p * (4 K * )]= i} < i/p d 4

Полнота означает, что если входное слово принадлежит языку L и оба участника, и Алиса, и Боб, следуют протоколу, то доказа­ тельство будет всегда принято. Требование корректности защищает Боба от нечестной Алисы, которая пытается обмануть его, «доказы­ вая»' ложное утверждение. При этом Алиса может каким угодно об­ разом отклоняться от действий, предписанных протоколом, т.е. вме­ сто машины Тьюринга Р использовать любую другую машину Р* Требуется, чтобы вероятность обмана была в любом случае пренеб­ режимо малой.

Определение. Интерактивный протокол доказательства для языка L

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

3. (Свойство нулевого разглашения). Для любой полиномиаль­ ной вероятностной машины Тьюринга V* существует вероятностная машина Тьюринга М у. , работающая за полиномиальное в среднем

время, и такая, что для всех x e L

Му. (*)= [р (х),К*(*)]•

Машина М у, называется

моделирующей машиной для V*

Предполагается, что математическое ожидание времени ее работы ограничено полиномом от длины х. Это означает, что, в принципе, М у. может, в зависимости от того, какие значения примут исполь­

зуемые в ее работе случайные переменные, работать достаточно Дол­ го. Но вероятность того, что время ее работы превысит некоторую полиномиальную границу, мала. Для каждой машины V* строится своя моделирующая машина; последняя может использовать V* как подпрограмму. Через M yt обозначается случайная величина -

выходное слово машины М у, , когда на входе она получает слово х.

Свойство нулевого разглашения защищает Алису от нечестного Боба, который, произвольно отклоняясь от действий, предписанных протоколом (используя V* вместо V ), пытается извлечь из его вы­ полнения дополнительную информацию. Условие 3 означает, что Боб может при этом получить только такую информацию, которую он смог бы вычислить и самостоятельно (без выполнения протокола) за полиномиальное время.

Приведем в качестве примера протокол доказательства с абсо­ лютно нулевым разглашением для языка ИЗОМОРФИЗМ ГРАФОВ из работы Гольдрайха, Микали и Вигдерсона. Входным словом явля­ ется пара графов G] = (£/,£]) и G0 = (U ,E 0) Здесь U - множество вершин, которое можно отождествить с множеством натуральных чисел {1,2,...,я},Ех и Е0 - множества ребер такие, что т

Графы GjH G0называются изоморфными, если существует переста­ новка ср на множестве U такая, что (м,у)е Е0 тогда и только тогда, когда (ф(м),cp(v)) G Е\ (обозначается Gx=cpG0). Задача распознавания изоморфизма графов - хорошо известная математическая задача, для которой на данный момент не известно полиномиальных алгоритмов. С другой стороны, неизвестно, является ли эта задача NP-полной, хотя есть веские основания предполагать, что не является.

2.4.2. Протокол IG

Пусть ф - изоморфизм между Gx и G0 . Следующие четыре ша­ га выполняются в цикле т раз, каждый раз с независимыми случай­ ными величинами.

Р выбирает случайную перестановку л на множестве U, вычис­ ляет Н - nGl и посылает этот граф V.

V выбирает случайный бит а и посылает его Р.

Если а = 1, то Р посылает V перестановку л, в противном случае - перестановку я о ф.

Если перестановка, полученная V, не является изоморфиз­ мом между Gu и Я, то V останавливается и отвергает дока­ зательство. В противном случае выполнение протокола про­

должается.

Если проверки п. 4 дали положительный результат во всех т циклах, то V принимает доказательство.

Заметим, что если в протоколе IG машина Р получает изомор­ физм ф в качестве дополнительного входного слова, то ей для вы­ полнения протокола не требуются неограниченные вычислительные ресурсы. Более того, в этом случае Р может быть полиномиальной вероятностной машиной Тьюринга.

Теорема 24. Протокол Ю является доказательством с абсолютно нулевым разглашением для языка ИЗОМОРФИЗМ ГРАФОВ.

Полнота протокола IG очевидна.

Для доказательства корректности достаточно заметить, что бит а, который V выбирает на шаге 2, указывает Р, для какого из гра­ фов - б’, или G0 - требуется продемонстрировать изоморфизм с гра­ фом Я. Если G[ и G0не изоморфны, то Я может быть изоморфен в лучшем случае одному из них. Поэтому проверка п. 4 даст положи­ тельный результат с вероятностью < 1/2 в одном цикле и с вероятно­ стью < 1/2"' во всех т циклах.

Доказательство свойства нулевого разглашения значительно сложнее. Поэтому мы воспроизводим только основную идею. Преж­ де всего, заметим, что основная задача машины V* - получить мак­ симально возможную информацию об изоморфизме между G] и G0. Естественно предположить, что она, в отличие от V, будет выдавать в качестве выходного слова не один бит, а всю полученную в резуль­ тате выполнения протокола информацию, включая содержимое сво­ ей случайной ленты, графы Я и перестановки, полученные соответ­ ственно на шагах 1 и 3 протокола IG. Моделирующая машина М у,

должна уметь строить такие же случайные строки, графы и переСта­

новки, не зная при этом изоморфизм ф ! Поэтому М у+ пытается уга­

дать тот бит а , который будет запросом машины К*на шаге 2. Для этого М у* выбирает случайный бит р , случайную перестановку \|/

и вычисляет \j/ (7р . Далее М у+запоминает состояние машины

V* (включая содержимое случайной ленты) и вызывает ее как под­ программу, подавая ей на вход граф Н. Ответом машины V* будет некоторый бит а . Если а = р , то моделирование в данном цикле за­ вершено успешно, поскольку М у* может продемонстрировать тре­

буемый изоморфизм. Если же а * р , то М у* восстанавливает ранее

сохраненное состояние машины V* и повторяет попытку.

Если в определении свойства нулевого разглашения заменить

равенство случайных величин и [р (х),К*(х)] требованием,

чтобы их распределения вероятностей «почти не отличались», то по­ лучится другая разновидность доказательств - доказательства со статистически нулевым разглашением.

Еще один тип - доказательства с вычислительно нулевым раз­ глашением. В этом случае требуется, чтобы моделирующая машина создавала распределение вероятностей, которое неотличимо от [p(x),F*(x)] никаким полиномиальным вероятностным алгоритмом (неотличимость здесь определяется аналогично тому, как это дела­ лось в определении псевдослучайного генератора).

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

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

Предположим, например, что Алиса - это интеллектуальная банковская карточка, в которой реализован алгоритм Р, а Боб - это компьютер банка, выполняющий программу V. Прежде чем начать выполнение каких-либо банковских операций, банк должен убедить­ ся в подлинности карточки и идентифицировать ее владельца, иди, говоря на языке криптографии, карточка должна пройти аутентифи­ кацию. В принципе, для этой цели можно использовать приведенный выше протокол IG. В этом случае в памяти банковского компьютера хранится пара графов (G0,Gi), сопоставленная Алисе, а на интеллек­ туальной карточке - та же пара графов и изоморфизм <р . Предполага­ ется, что, кроме Алисы, этот изоморфизм никтоне знает (кроме, быть может, Боба), и поэтому с помощью протокола IG карточка до­ казывает свою аутентичность. При этом свойство полноты означает, что карточка наверняка докажет свою аутентичность. Свойство кор­ ректности защищает интересы банка от злоумышленника, который, не являясь клиентом банка, пытается пройти аутентификацию, ис­ пользуя фальшивую карточку. Свойство нулевого разглашения за­ щищает клиента от злоумышленника, который, подслушав одно или более выполнений протокола аутентификации данной карточки, пы­ тается пройти аутентификацию под именем Алисы. Конечно, в дан­ ном случае бессмысленно доказывать, что пара графов (G0,G\) при­ надлежит языку ИЗОМОРФИЗМ ГРАФОВ, поскольку она заведомо выбирается из этого языка. Вместо этого Алиса доказывает, что она знает изоморфизм <р . Интерактивные доказательства такого типа на­ зываются доказательствами знания.

Для практического применения очень важным свойством прото­ кола IG, как и других протоколов доказательства знания, является то, что алгоритм Р, получивший в качестве дополнительного входа изо­ морфизм ф , работает за полиномиальное время. Вместо протокола IG можно использовать, вообще говоря, любое другое доказательст­ во с нулевым разглашением, в котором алгоритм Р обладает этим свойством. Но для реальных приложений протокол IG, как и боль­ шинство подобных протоколов, не эффективен: большое количество

циклов, слишком длинные сообщения и т.д. Поиск более эффектив­ ных доказуемо стойких протоколов - одно из основных направлений исследований в данной области.

2.4.3. Доказательство с нулевым разглашением конфиденциальной информации

Алиса: «Я знаю Пароль для входа в компьютерную сеть Центро­ банка и рецепт приготовления “Байкала”».

Боб: «Нет, не знаешь!» Алиса: «Нет, знаю!» Боб: «Чем докажешь?»

Алиса: «Хорошо, я тебе все расскажу» Алиса долго шепчет что-то на ухо Бобу.

Боб: «Действительно интересно! Надо сообщить об этом газет­ чикам!»

Алиса: «Ё-моё...» К сожалению, в обычных условиях Алиса может доказать Бобу,

что знает какую-либо тайну, единственным способом - рассказав, в чем состоит ее суть. Но тогда Боб автоматически узнает эту тайну и сможет поведать о ней первому встречному. Есть ли у Алисы воз­ можность помешать Бобу это сделать?

Конечно, есть. В первую очередь, Алисе не следует доверять свою тайну Бобу. Но как тогда Алиса сможет убедить Боба в том, что действительно входит в число посвященных?

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

Доказательство носит интерактивный характер. Боб задает Али­ се серию вопросов. Если Алиса знает секрет, то ответит правильно на все заданные ему вопросы. Если не знает, вероятность правильного ответа на каждый из вопросов будет невелика. После примерно 10 вопросов Боб будет точно знать, обманывает ли его Алиса. При

этом шансы Боба извлечь для себя какую-либо полезную инфорг^ цию, о сути самого секрета, практически равны нулю.

Использование доказательства с нулевым разглашением коцф^_ денциальной информации можно пояснить на конкретном примере

Предположим, что имеется пещера, точка входа в пещеру о§0_ значена буквой А, в точке В пещера разветвляется на две половин^ __ С и D. У пещеры есть секрет: только тот, кто знает волшебные сло^а может открыть дверь, расположенную между С и D.

Алисе волшебные слова известны, Бобу —нет. Алиса хочет казать Бобу, что знает волшебные слова, но так, чтобы Боб ц0_ прежнему оставался в неведении относительно этих слов. Тогца Алиса может воспользоваться следующим протоколом:

1.Боб стоит в точке А.

2.По своему выбору Алиса подходит к двери либо со стороцы точки С, либо со стороны точки D.

3.Боб перемещается в точку В.

4.Боб приказывает Алисе появиться или а) - через левый пр0_ ход к двери, или б) - через правый проход к двери.

5.Алиса подчиняется приказу Боба, в случае необходимости ис­ пользуя волшебные слова, чтобы пройти через дверь.

6.Шаги 1-5 повторяются п раз, где п - параметр протокола. Допустим, что у Боба есть видеокамера, с помощью которой он

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

скакой стороны она направится к двери, чтобы потом Боб приказы­ вал ей выходить именно с той стороны, с какой Алиса зашла. Или что из сделанной видеозаписи не вырезаны все неудачные экспери­ менты, в ходе которых Алиса появлялась совсем не с той стороны,

скакой ей приказывал Боб.

Это означает, что Боб не в состоянии убедить Владимира, лично не присутствовавшего при проведении экспериментов в пещере,

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

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

Протокол доказательства с нулевым разглашением срабатывает

всилу того, что, не зная волшебных слов, Алиса может выходить только с той стороны, с которой зашла. Следовательно, только в 50 % всех случаев Алиса сумеет обмануть Боба, сумев выйти именно с той стороны, с которой тот попросит. Если количество экспериментов равно л, то Алиса успешно пройдет все испытания только в одном

случае из 2п. На практике можно ограничиться 16. Если Алиса правильно исполнит приказ Боба во всех 16 случаях, значит, она и вправду знает волшебные слова.

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

Поэтому предположим, что Алисе известны не какие-то там волшебные слова типа «Сезам, откройся». Нет, Алиса владеет более интересной информацией - она первой сумела справиться с трудно­ решаемой задачей. Чтобы доказать этот факт Бобу, Алисе совсем не обязательно публично демонстрировать свое решение. Ей достаточно применить следующий протокол доказательства с нулевым разгла­ шением конфиденциальной информации:

1. Алиса использует имеющуюся у нее информацию и сген^рИ рованное случайное число, чтобы свести труднорешаемую задачу к другой труднорешаемой задаче, изоморфной исходной задаче. Затем Алиса решает эту новую задачу.

2. Алиса задействует протокол предсказания бита для найде^но_ го на шаге 1 решения, чтобы впоследствии, если у Боба возни^нех необходимость ознакомиться с этим решением, Боб мог бы досто­ верно убедиться, что предъявленное Алисой решение действигедьно было получено ею на шаге 1.

3.Алиса показывает новую труднорешаемую задачу Бобу.

4.Боб просит Алису:

или а) - доказать, что две труднорешаемые задачи (старая и но­ вая) изоморфны,

или б) - предоставить решение, которое Алиса должна была найти на шаге 1, и доказать, что это действительно решение задачи,

ккоторой Алиса свела исходную задачу на том же шаге.

5.Алиса выполняет просьбу Боба.

6.Алиса и Боб повторяют шаги 1-5 п раз, где п - параметр про­

токола.

Труднорешаемые задачи, способ сведения одной задачи к дру­

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

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