Доказательства с нулевым разглашением — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
м (rollbackEdits.php mass rollback)
 
Строка 1: Строка 1:
{| class="wikitable" align="center" style="color: red; background-color: black; font-size: 56px; width: 800px;"
+
В криптографии '''Доказательство с нулевым разглашением (информации)''' (Zero-Knowledge Proof) — это интерактивный протокол, позволяющий одной из сторон (проверяющему, Verifier) убедиться в достоверности какого-либо утверждения (обычно математического), не получив при этом никакой другой информации от второй стороны (доказывающего, Prover).
|+
 
|-align="center"
 
|'''НЕТ ВОЙНЕ'''
 
|-style="font-size: 16px;"
 
|
 
24 февраля 2022 года российское руководство во главе с Владимиром Путиным развязало агрессивную войну против Украины. В глазах всего мира это военное преступление совершено от лица всей страны, всех россиян.
 
 
 
Будучи гражданами Российской Федерации, мы против своей воли оказались ответственными за нарушение международного права, военное вторжение и массовую гибель людей. Чудовищность совершенного преступления не оставляет возможности промолчать или ограничиться пассивным несогласием.
 
 
 
Мы убеждены в абсолютной ценности человеческой жизни, в незыблемости прав и свобод личности. Режим Путина — угроза этим ценностям. Наша задача — обьединить все силы для сопротивления ей.
 
 
 
Эту войну начали не россияне, а обезумевший диктатор. И наш гражданский долг — сделать всё, чтобы её остановить.
 
 
 
''Антивоенный комитет России''
 
|-style="font-size: 16px;"
 
|Распространяйте правду о текущих событиях, оберегайте от пропаганды своих друзей и близких. Изменение общественного восприятия войны - ключ к её завершению.
 
|-style="font-size: 16px;"
 
|[https://meduza.io/ meduza.io], [https://www.youtube.com/c/popularpolitics/videos Популярная политика], [https://novayagazeta.ru/ Новая газета], [https://zona.media/ zona.media], [https://www.youtube.com/c/MackNack/videos Майкл Наки].
 
|}
 
 
 
В криптографии '''Доказательство с нулевым разглашением (информации)''' (Zero-Knowledge Proof) это интерактивный протокол, позволяющий одной из сторон (проверяющему, Verifier) убедиться в достоверности какого-либо утверждения (обычно математического), не получив при этом никакой другой информации от второй стороны (доказывающего, Prover).
 
  
 
Доказательство с нулевым разглашением должно обладать тремя свойствами:
 
Доказательство с нулевым разглашением должно обладать тремя свойствами:

Текущая версия на 19:38, 4 сентября 2022

В криптографии Доказательство с нулевым разглашением (информации) (Zero-Knowledge Proof) — это интерактивный протокол, позволяющий одной из сторон (проверяющему, Verifier) убедиться в достоверности какого-либо утверждения (обычно математического), не получив при этом никакой другой информации от второй стороны (доказывающего, Prover).

Доказательство с нулевым разглашением должно обладать тремя свойствами:

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

Формальное определение

Пусть [math]L[/math]NP, и [math]M[/math] — машина Тьюринга для проверки сертификата, то есть [math]x \in L \Leftrightarrow \exists y \in \{0,1\}^{p(|x|)} : M(x, y) = 1[/math]. Пара [math]\langle P, V \rangle[/math] интерактивных вероятностных алгоритмов называется доказательством с нулевым разглашением для [math]L[/math], если выполнены следующие три условия:

  1. Полнота: Для любого [math]x \in L[/math] и сертификата [math]y[/math] выполнено [math]P \left( \text{out}_V \left\langle P(x,y), V(x) \right\rangle = 1 \right) \ge 2/3[/math]
  2. Корректность: Если [math]x \not \in L[/math], то для любых [math]P^*, y[/math] выполнено [math] P \left( \text{out}_V \left\langle P^*(x,y), V(x) \right\rangle = 1 \right) \le 1/3[/math]
  3. Нулевое разглашение: Для любой вероятностной полиномиальной интерактивной стратегии [math]V^*[/math] существует вероятностный полиномиальный алгоритм [math]S^*[/math], такой что для любого [math]x \not \in L[/math] и соответствующего сертификата y выполнено [math]\text{out}_{V^*} \left \langle P(x,y), V^*(x) \right \rangle\equiv S^*(x)[/math]. Такой алгоритм [math]S^*[/math] называется симулятором для [math]V^*[/math], он симулирует результат взаимодействия [math]V^*[/math] c proover'ом без доступа к последнему.

Пример: изоморфизм графов

Назовем проверяющую сторону Виктор (Victor), а доказывающую сторону Пегги (Peggy). Им обоим известна пара графов [math]\langle G_0, G_1 \rangle[/math]. Допустим, эти графы изоморфны и Пегги известна биекция между вершинами этих графов, то есть некоторая перестановка [math]\pi[/math], такая что [math]G_0 = \pi G_1[/math]. Пегги хочет доказать Виктору, что графы изоморфны, не выдавая при этом ни самой перестановки, ни какой-либо информации о ней.

Для этого Виктор и Пегги совместно выполняют несколько раундов протокола:

  • Вначале Пегги создает случайную перестановку [math]\phi[/math]. Применив ее к [math]G_0[/math], она получает некий граф [math]H = \phi G_0[/math].
  • Пегги передает граф [math]H[/math] Виктору.
  • Виктор выбирает случайный бит [math]i \leftarrow \{0,1\}[/math]
  • Виктор просит Пегги доказать изоморфизм [math]G_i[/math] и [math]H[/math], то есть предоставить соответствие вершин этих двух графов.
  • Если [math]i = 0[/math], то Пегги отсылает Виктору [math]\phi[/math], иначе [math]\phi \cdot \pi[/math]

В каждом раунде Виктор выбирает новый случайный бит, который неизвестен Пегги. Поэтому чтобы ответить на оба вопроса, Пегги нужно чтобы [math]H[/math] был в самом деле изоморфен [math]G_i[/math]. Это означает, что после достаточного числа раундов, Виктор может быть уверен в том, что графы [math]G_0[/math] и [math]G_1[/math] изоморфны. С другой стороны, Пегги не раскрывает никакой информации о перестановке [math]\pi[/math]. Более того, Виктору сложно будет доказать кому-либо ещё изоморфизм этих графов.

Предположим, что у Пегги нет перестановки [math]\pi[/math] и она хочет обмануть Виктора. Тогда граф [math]H[/math], который она отсылает Виктору, будет не изоморфен хотя бы одному из пары графов [math]\langle G_0, G_1 \rangle[/math]. Поэтому вероятность того, что она сможет обмануть Виктора в одном раунде не более [math]\frac{1}{2}[/math]. Вероятность того, что Пегги сможет обманывать Виктора на протяжении [math]n[/math] раундов не превосходит [math]2^{-n}[/math].

Предположим, что Виктор не узнал перестановку [math]\pi[/math], но хочет доказать Френку, что Пегги ее знает. Если Виктор, например, заснял на видео все раунды протокола, Френк едва ли ему поверит. Френк может предположить, что Пегги и Виктор в сговоре и в каждом раунде Виктор заранее сообщал Пегги свой выбор случайного бита, чтобы Пегги могла передавать ему [math]H[/math] для проверок изоморфизма. Таким образом без участия Пегги доказать изоморфизм графов, можно лишь доказав, что во всех раундах протокола выбирались действительно случайные биты.