Warum ist Feige-Fiat-Shamir nicht Zero Knowledge ohne Vorzeichen?


12

In Kapitel 10 von HAC (10.4.2) sehen wir das bekannte Feige-Fiat-Shamir-Identifikationsprotokoll, das auf einem Null-Wissens-Beweis basiert, der die (angenommene) Schwierigkeit nutzt, Quadratwurzeln zu extrahieren, die modulo ein Composite sind, das schwer zu faktorisieren ist. Ich werde das Schema in meinen eigenen Worten wiedergeben (und es hoffentlich richtig machen).

Beginnen wir mit einem einfacheren Schema: Sei eine Blum-Ganzzahl (also n = p q und jedes von p und q ist 3 mod 4) mit einer ausreichend großen Größe, dass Factoring unlösbar ist. Da n eine ganze Zahl von Blum ist, haben die Hälfte der Elemente von Z n das Jacobi-Symbol +1 und die andere Hälfte -1. Für die + 1-Elemente hat die Hälfte davon Quadratwurzeln, und jedes Element mit einer Quadratwurzel hat vier von ihnen, wobei genau eines selbst ein Quadrat ist.nn=pqpqnZn

Nun wählt Peggy ein zufälliges Element aus Z n aus und setzt v = s 2 . Sie schickt dann v an Victor. Als nächstes folgt das Protokoll: Victor möchte überprüfen, ob Peggy eine Quadratwurzel von v kennt, und Peggy möchte es ihm beweisen, ohne etwas über s preiszugeben, das über die Tatsache hinausgeht, dass sie ein solches s kennt .sZnv=s2vvss

  1. Peggy wählt ein zufälliges in Z n und schickt r 2 an Victor.rZnr2
  2. Victor schickt wahrscheinlich oder b = 1 zurück zu Peggy.b=0b=1
  3. Peggy sendet zu Victor.rsb

Victor kann überprüfen, ob Peggy die richtige Antwort gesendet hat, indem er das, was er erhält, quadriert und mit dem richtigen Ergebnis vergleicht. Natürlich wiederholen wir diese Interaktion, um die Wahrscheinlichkeit zu verringern, dass Peggy nur eine glückliche Vermutung ist. Dieses Protokoll soll ZK sein; Ein Beweis kann an verschiedenen Stellen gefunden werden (z. B. in Boaz Baraks Vorlesungsnotizen ).

Wenn wir dieses Protokoll erweitern, um es effizienter zu gestalten, wird es Feige-Fiat-Shamir genannt. es ist sehr ähnlich wie oben. Wir beginnen Peggy mit Zufallswerten s 1s k und Zufallszeichen t 1 = ± 1 , t k = ± 1. Sie veröffentlicht ihre Quadrate als v 1 = t 1 s 2 1 , , v k = t k s 2 k . Mit anderen Worten, wir negieren zufällig einige der vks1skt1=±1,tk=±1v1=t1s12,,vk=tksk2 . Jetztvich

  1. Peggy wählt ein zufälliges in Z n und schickt r 2 an Victor.rZnr2
  2. Victor sendet wahrscheinlich Werte b i von { 0 , 1 } zurück an Peggy.kbich{0,1}
  3. Peggy schickt an Victor.rΠich=1ksichbich

Meine Frage: Warum sind die -Zeichenbits erforderlich? In Klammern weist HAC darauf hin, dass dies eine technische Voraussetzung ist, um zu beweisen, dass keine geheimen Informationen weitergegeben werden. Die Wikipedia-Seite für Feige-Fiat-Shamir (was das Protokoll falsch macht) impliziert, dass ohne dies ein bisschen durchgesickert ist.tich

Ich kann keine Attacke finden, die Peggy etwas entzieht, wenn sie die Zeichen auslässt.

Antworten:


8

Das Feige-Fiat-Shamir (FFS) -Identifizierungsprotokoll ist ein Wissensnachweis (PoK), in dem die Prüferin (Peggy) ihr Wissen über die Quadratwurzeln der dem Prüfer (Victor) gegebenen Eingaben nachweist.

FFS möchte PoK von Beweisen für die Zugehörigkeit zu einer Sprache unterscheiden , in denen Peggy nachweist, dass die Eingabe eine bestimmte Eigenschaft hat (formeller gesagt , die Eingabe gehört zu einer bestimmten Sprache).

Wenn wir die negativen Vorzeichen nicht verwenden, ist es möglich, dass die Eingänge keine Quadratwurzel besitzen. Zum Beispiel hat die Zahl 20 keine Quadratwurzel mod 21. Da das Unterscheiden von Quadraten und Nichtquadraten ein bekanntes Problem ist , vermeidet FFS es, indem die Eingabe das Plus oder Minus einer quadratischen Zahl sein lässt. In ihren eigenen Worten (ein bisschen geändert):

Indem entweder plus oder minus ein Quadrat modulo a sein Blum integer , stellen wir sicher , dass v i mit allen Zahlen -umspannen kann Jacobi - Symbol + 1vichvich und somit die s i existiere (von V-Sicht) unabhängig von v i Charakter, wie in uneingeschränkter Eingabe Null-Wissensbeweise des Wissens erforderlich.+1modnsichvich

Mit der uneingeschränkten Eingabe von wissensfreien Nachweisen von Wissen ist ein ZK PoK gemeint, dessen entsprechender Nachweis der Sprachzugehörigkeit trivial ist. Das heißt, V kann selbst entscheiden, ob die Eingabe das Plus oder das Minus eines Quadrats ist (indem nur das Jacobi-Symbol angekreuzt wird).


Danke für die Antwort, aber ich folge immer noch nicht: Ohne Zeichen ist das Jacobi-Symbol +1. Mit den Zeichen ist das Jacobi-Symbol +1. Sie sagen oben: "Wenn wir die negativen Vorzeichen nicht verwenden, ist es möglich, dass die Eingaben keine Quadratwurzel besitzen." Wie ist das möglich? Die Eingabe für den Prüfer ist eine Liste von Quadraten, die (unter der Annahme eines ehrlichen Beweisers) immer Quadratwurzeln haben.
Fixee

Zweite Frage: Wollen Sie damit sagen, dass die Zeichen nur für den Beweis vorhanden sind? Oder gibt es einen tatsächlichen Angriff, wenn sie weggelassen werden?
Fixee

vichvichsichvich
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.