<<
>>

1.3.2. Доказательства с нулевым разглашением знания

Пусть задана интерактивная система доказательства (P,V,S).

В определении интерактивной системы доказательства ранее не предполагалось, что V может быть противником (предполагалась только возможность существования нечестного участника Р').

Но V может оказаться противником, который хочет выведать у Р какую- либо новую полезную информацию об утверждении S. В этом слу-чае Р может не хотеть, чтобы это случилось в результате работы

протокола интерактивной системы доказательства . Таким

28 Запечников С. В. Криптографические протоколы и их прішеиеиие

образом приходим к идее протокола доказательства с нулевым раз-глашением знания (zero-knowledge proof). Нулевое разглашение зна-ния подразумевает, что в результате работы протокола интерактивной системы доказательства V не увеличит свои знания об утвер-ждении S, или, другими словами, не сможет извлечь никакой информации о том, почему S истинно.

Как и ранее, в протоколе предварительно формулируется неко-торое утверждение S, например о том, что некоторый объект w об-ладает свойством L: we L. В ходе протокола Р и V обмениваются сообщениями. Каждый из них может генерировать случайные числа и использовать их в своих вычислениях. В конце протокола V дол-жен вынести свое окончательное решение о том, является ли S ис-тинным или ложным.

Цель Р всегда состоит в том, чтобы убедить V в том, что S ис-тинно, независимо от того, истинно ли оно на самом деле или нет, т. е. Р может быть активным противником, а задача V - проверять аргументы Р. Цель участника V заключается в том, чтобы вынести решение, является ли S истинным или ложным. Как и ранее, V имеет полиномиально ограниченные вычислительные возможности, а именно время его работы ограничено некоторым полиномом от

длины доказываемого утверждения: t< p(jw|). В силу этого он са-мостоятельно, без помощи Р, не способен распознать истинность высказывания S.

Вычислительные возможности Р никак не ограни-чиваются.

Рассмотрим теперь примеры протоколов доказательства с нулевым разглашением знания.

1. «Задача о пещере Али-Бабы». Имеется пещера, план которой показан на рис. 1.2. Пещера имрет дверь с секретом между точками С и D. Каждый, кто знает волшебные слова, может открыть эту дверь и пройти из С в D или наоборот. Для всех остальных оба хода пещеры ведут в тупик.

Пусть Р знает секрет пещеры. Он хочет доказать V знание этого секрета, не разглашая волшебные слова. Вот протокол их общения:

V находится в точке А;

Р заходит в пещеру и добирается либо до точки С, либо до точки D\

После того как Р исчезает в пещере, V приходит в точку В, не зная, в какую сторону пошел Р\

V зовет Р и просит его выйти либо из левого, либо из правого коридора пещеры согласно желанию V;

Р выполняет это, открывая при необходимости дверь, если, конечно, он знает волшебные слова;

Р и V повторяют шаги (1) - (5) п раз.

Если Р не знает секрета двери, вероятность того, что V попросит его выйти из того же коридора, в который он вошел, равна 1/2.

Если Р не знает секрета двери, вероятность того, что V попросит его выйти из того же коридора, в который он вошел, равна 1/2.

После п раундов протокола вероятность сократится до 1/2".

2. Доказательство изоморфизма графов. Р хочет доказать V изо-морфизм графов Go и Gb ПустьG, = (p(G0):G0 = G,, где ф - пре-образование изоморфизма; т - мощность множества N вершин графов. В табл. 1.4 приведен протокол доказательства данного утвер-ждения.

Поясним строение этого протокола. На шаге (1) участник Р создает случайный граф Я, изоморфный G\. На шаге (2) участник V, выбирая случайный бит а = {0Д}, тем самым просит доказать, что

Н ~G0 либо что Н « Gj. На шаге (3) участник Р посылает участни-ку V преобразование \|/, которое он строит таким образом, что при а = 1 в результате применения этого преобразования к графу Gu по-лучается граф F1 = TtG, = Н .

а при а = 0 в результате применения этого преобразования к графу Ga получается граф F0 =

зо Запечников С. В. Криптографические протоколы и их применение

= 7i((p(G0))~7iG] = #, На шаге (4) участник V, выполняя проверку равенства графов, тем самым определяет, выполнено ли условие

Н = Fa. Шаги (1) - (4) повторяются т раз. Если во всех т раундах этого протокола результат проверки оказывается положительным, V принимает доказательство.

Таблица 1.4. Протокол доказательства изоморфизма графов Р V 1 % - случайная перестановка вершин, вычисляет H = nGl 2 <г а = {0,1}- случ. 3 Посылает преобразование V}/, такое, что

f п, если (а -1),

V = 1 / ч 1 л о ф, если (а = 0) -> •т раз 4 Вычисляет граф \j/Ga и сравнивает: Н =\jfGa 5 Принимает доказательство тогда и только тогда, когда для Vm

Этот протокол действительно является протоколом с нулевым разглашением знаний, так как в случае изоморфных G0 ~ Gx участ-ник V не получает никакой информации, кроме изоморфизмов гра-фов G0 и G\ с какими-то их случайными перенумерациями, которые он мог бы получить и самостоятельно, выбирая случайный бит а и перенумеровывая случайным образом граф Ga .

3. Доказательство знания дискретного логарифма х числа X. Перед началом работы протокола задаются открытые величины: р,

q - простые числа, такие, что q\(p -1), элемент g е Z*, число X. До- ]. Базовые криптографические протоколы 31

называющему Р известна секретная величина x\x<=Zq% gx = X , знание которой он должен доказать V, не разглашая самой секретной величины. В табл. 1.5 показано решение этой задачи.

Таблица 1.5. Протокол доказательства знания дискретного логарифма Р V I r&RZ

М = g (mod р) 2 <г 3 /?7 = /- +xfl(modg) 4 g'^X*-M(modp)

А. Доказательство знания представления числа у в базисе (zero- knowledge proof of knowledge of у representation). Перед началом работы протокола задаются открытые величины, известные всем уча-стникам: простые числа р, q, элементы y,gvg2,..., gk Є Gq.

Доказы-вающему P известны секретные величины ара 2,...,ake ZQ: у =

= 8і' ' 8г1"'> знание которых он должен доказать V, не разгла-шая самих этих величин. Протокол представлен в табл. 1.6.

Таблица 1.6. Протокол доказательства знания представления

числа в базисе Р V 1 rl.r2,...,rk. ЄІ{ Zq, 2 <- 3 /77,. = /;. +a}R, i=l,k 4

5. Доказательство знания представления множества чисел в соответствующих базисах (zero-knowledge proof of knowledge of equality of representation of all y(j) in the respective bases). Перед началом работы протокола задаются открытые величины, извест-

W I >\

ные всем участникам: простые числа р, q, элементы у , , 82^є для некоторых (/). Доказывающему Р известны сек-ретные величины 0С[,а2,...,а,,. є Zq, такие, что для V/ у^ =

= ( знание которых он должен доказать V,

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

Таблица 1.7. Протокол доказательства знания множества чисел

в соответствующих базисах Р V 1 rvr21...lrkeR ля У/ 2 (АиП«іТ-(ьТ-

6. Доказательство знания мультипликативной связи «депониро-ванных» величин (zero-knowledge proof of knowledge of multiplicative rela-tion between committed values). Элемент X = gx циклической подгруп-пы простого порядка, в которой задача дискретного логарифмирования считается вычислительно-сложной, называется депонированной вели-чиной (committed value), представляющей секретную величину х. Пусть

d - неизвестный элемент, такой, что h = gd . Перед началом работы протокола задаются открытые величины: простые числа р, q, элементы А, В, С Є Gq . Доказывающему Р известны секретные величины

a, a, b, Ь, с, с, такие, что с = ab, A = gah'\ В = gbhb, С = gche. Знание их он и должен доказать V, не разглашая самих величин. В табл. 1.8 при-веден протокол такого доказательства.

Таблица 1.8. Протокол доказательства знания мультипликативной связи депонированных величин Р V 1 М=і'>/Ї, j Mt = gx-h*\ ¦ M2= Bx ¦ h'1 2 <- 3 y-d+bR, z-x + aR, w = s + bR, w, = J, + aR, w2 = s2 + (c - ab^j R 4 gy-hw = BR-M, g? - A"'1 =Ar -M,, B:-hw> =CK-M2

разглашением знания

Таблица 1.9.

Структура протоколов доказательства с нулевым P S: x є L- доказываемое утверждение, h - dp, общедоступные параметры и величины, s - секретные данные дока-зывающего о том, почему S истинно, г- случайное число V 1 rp- случ., 2 rv - случай-ное число,

с = ЛМ Обобщим рассмотренные примеры и сформулируем ряд определений. В общем виде протокол интерактивного доказательства с ну-левым разглашением знания (табл. 1.9) состоит из четырех шагов:

Окончание табл. 1.9 Р S : хе L— доказываемое утверждение, h - др. общедоступные параметры и величины, s - секретные данные дока-зывающего о том, почему S истинно, г - случайное число V 3 R = f3(C,x) 4

доказывающий передает проверяющему так называемое сви-детельство (witness -W)- результат вычисления однонаправленной функции от секретной величины, знание которой он доказывает;

проверяющий посылает ему случайный запрос;

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

получая ответ, V проверяет его соответствие «свидетельству», переданному на первом шаге.

Рассмотрим основные принципы построения доказательств с ну-левым разглашением знания: что подразумевает свойство нулевого разглашения знания.

В теории доказательств с нулевым разглашением знания Р и V рассматриваются как «черные ящики» (рис. 1.3).

Пусть \тр }, \}Пу } - совокупность всех сообщений, передаваемых от Р к V (соответственно от У к Р), каждое из которых является слу-чайной величиной, и, таким образом, {x,h,rv,{mp},{mv}} = = viewpy[x,h) - это ансамбль случайных величин протокола, на-блюдаемых извне (внешним наблюдателем), [x,/z,rv«,{;«p},{wzv}} =

= MV. (x,h)~ это ансамбль случайных величин, получаемых в ре-зультате работы полиномиального моделирующего алгоритма (simu-lator), который выполняется внешним наблюдателем (противником) самостоятельно.

с

Если величины viewp v(x>h)~Mу>(х,}г) вычислительно-неразли-чимы за полиномиальное время (т.

е. не существует никакого алго- ритма, который за полиномиальное время мог бы распознать эти два ансамбля случайных величин), то говорят, что протокол обеспечивает вычислительно-нулевое разглашение знания (computationally zero- knowledge).

х h

Рис. 1.3. Случайные величины, наблюдаемые в протоколе доказательства с нулевым разглашением знания: а - противник наблюдает протокол извне; б - противник самостоятельно моделирует протокол

Рис. 1.3. Случайные величины, наблюдаемые в протоколе доказательства с нулевым разглашением знания: а - противник наблюдает протокол извне; б - противник самостоятельно моделирует протокол

Если величины viewpv{x,h)~ Mv>(x,h) одинаково распределены над множеством случайных величин, то говорят, что протокол обеспечивает абсолютно нулевое разглашение знания (perfect zero- knowledge ).

Система (P,V,S) называется интерактивной системой дока-зательства с нулевым разглашением знания для языка L, если она:

является интерактивной системой доказательства для языка L (т. е. обладает свойствами полноты и корректности);

обладает свойством нулевого разглашения знания.

Пусть S - утверждение вида we L, где w - слово, L - язык в двоичном алфавите. Язык L имеет интерактивную систему дока-зательства с абсолютно нулевым (вычислительно нулевым) разгла-шением знания,если:

1) существует интерактивная система доказательства для языка L;

Запечников С. В. Криптографические протоколы и их применение

2) для любого полиномиально ограниченного участника V' ин-терактивный протокол (P,V\S) является интерактивной системой

доказательства с абсолютно нулевым (вычислительно нулевым) раз-глашением знания для языка L.

Класс языков, обладающих доказательствами с абсолютно нуле-вым разглашением знания, обозначается PZK, с вычислительно-ну-левым - ZK. Справедливо следующее соотношение: BPP^PZK^ZK^IP.

Доказаны следующие основные теоремы о доказательствах с нулевым разглашением знания:

Теорема 1 (Goldreich О., Krawchyk Н.). Последовательное вы-полнение двух протоколов с нулевым разглашением знания является протоколом с нулевым разглашением знания.

Теорема 2 (Goldreich О., Krawchyk Н.). Параллельное выполне-ние протоколов с нулевым разглашением знания не обязательно приводит к протоколу с нулевым разглашением знания.

Среди всех протоколов доказательства с нулевым разглашением знания выделяют класс протоколов доказательства знания (proof of knowledge).

Например, доказательство знания чисел р, q, таких, что pq — n есть доказательство знания, но доказательство того, что п - составное число, доказательством знания не является - это так называемое доказательство обладания (proof of possession).

Но доказательство знания не обязательно должно быть доказа-тельством с нулевым разглашением знания, так как можно просто сообщить секрет другой стороне протокола: при этом сообщивший докажет знание секрета, но тем самым разгласит секрет. Далее в различных приложениях криптографии, в частности в протоколах аутентификации и в схемах электронных платежей, будут встречаться протоколы доказательства знания с нулевым разглашением зна-ния (zero-knowledge proof of knowledge - ZKPK). Существуют специ-альные разновидности протоколов доказательства знания с нулевым разглашением знания: протоколы группового и «скрытого» доказа-тельства знания и др.

<< | >>
Источник: Запечников С. В.. Криптографические протоколы и их применение в финансовой и коммерческой деятельности: Учебное пособие для вузов. - М.: Горячая линия-Телеком,2007. - 320 с.. 2007

Еще по теме 1.3.2. Доказательства с нулевым разглашением знания: