Minimale Kommunikationskosten für wissensfreie Beweise mit drei Färbbarkeiten

11

Der Beweis von Goldreich et al., Dass drei Färbbarkeitsnachweise keine Wissensnachweise enthalten, verwendet Bit-Commitment für eine vollständige Färbung des Graphen in jeder Runde [1]. Wenn ein Graph Eckpunkte und e Kanten hat, ein sicherer Hash b Bits hat und wir die Fehlerwahrscheinlichkeit p suchen , sind die gesamten Kommunikationskostennebp

O(benlog(1/p))

über Runden. Unter Verwendung eines allmählich aufgedeckten Merkle-Baums kann die Gesamtkommunikation auf O ( b e log n log ( 1 / p ) ) reduziert werden, wobei die Anzahl der Runden auf O ( log n ) erhöht wird .O(1)O(belognlog(1/p))O(logn)

Ist es möglich, dies besser zu machen, entweder in Bezug auf die Gesamtkommunikation oder die Anzahl der Runden?

  1. http://www.wisdom.weizmann.ac.il/~oded/X/gmw1j.pdf

Edit : Danke an Ricky Demer für den Hinweis auf den fehlenden Faktor von .e

Geoffrey Irving
quelle

Antworten:

3

Hier ist das richtige Papier für meine Zwecke:

Joe Kilian, "Ein Hinweis zu effizienten Beweisen und Argumenten ohne Wissen." http://people.csail.mit.edu/vinodv/6892-Fall2013/efficientargs.pdf

Um das stärkste Ergebnis zu erhalten, müssen wir Null Wissen akzeptieren Argumente anstatt Beweise (rechnerisch begrenzt Prover); Das interessiert mich, aber ich kannte die Terminologie nicht.

Unter der Annahme ausreichender kryptografischer Annahmen liefert das Papier keine Wissensargumente mit der Gesamtkommunikation für c = O ( 1 ) .O(blogcnlog(1/p))c=O(1)

Dieses Ergebnis wird von Ishai et al., "On Efficient Zero-Knowledge PCPs", http://www.cs.virginia.edu/~mohammad/files/papers/13%20ZKPCPs.pdf, auf -Runden verschärft .O(1)

Geoffrey Irving
quelle
Ich denke, es ist besser, diese Antwort zu löschen und Ihre ursprüngliche zu aktualisieren, um die richtige Antwort zu erhalten.
Kaveh
2

Update : Diese Antwort ist durch meine andere Antwort veraltet, mit vollständig polylogarithmischen Grenzen aus entsprechenden Referenzen.

Beim zweiten Gedanken ist es nicht erforderlich, den Merkle-Baum schrittweise zu enthüllen, sodass die untere Kommunikationsversion keine zusätzlichen Runden benötigt. Die Kommunikationsschritte sind

  1. Der Prüfer P randomisiert seine Färbung, verwandelt ihn in einen (gesalzenen) Merkle-Baum und sendet die Wurzel an den Prüfer V.
  2. V nimmt eine zufällige Kante und sendet sie an P.e
  3. P sendet die Merkle-Baumpfade von der Wurzel zu jedem Endpunkt von nach V.e

Dies gibt Kommunikation über O ( 1 ) Runden.O(belognlog(1/p))O(1)

Update: Hier finden Sie Details zur Merkle-Baumkonstruktion. Erweitern Sie der Einfachheit halber das Diagramm, um genau Eckpunkte zu haben, indem Sie einige nicht verbundene Knoten hinzufügen (diese wirken sich nicht auf drei Färbbarkeits- oder Nullwissen aus). Nehmen Sie eine sichere Hash-Funktion an, die Eingaben beliebiger Größe verwendet und b- Bit-Ausgaben erzeugt. Für jeden Merkle-Baum wählt der Prüfer 2 a + 1 - 1 zufällige b- Bit-Nonces, eine für jedes Blatt und Nichtblatt des Binärbaums. An den Blättern haben wir die Farbe mit der Nonce verkettet, um den Wert des Blattes zu erzeugen. Bei jedem Nichtblatt haben wir den Wert von zwei untergeordneten Blättern mit dem Nonce des Nichtblatts, um den Wert des Nichtblattes zu erzeugen.2ab2a+11b

In der ersten Runde sendet der Prüfer nur den Stammwert, der keine Informationen liefert, da er mit der Nonce des Stamms gehasht wird. In der dritten Runde werden keine Informationen über einen nicht erweiterten Knoten im Binärbaum übermittelt, da ein solcher Knoten an diesem Knoten mit einer Nonce gehasht wurde. Hier gehe ich davon aus, dass sowohl der Prüfer als auch der Prüfer rechnerisch begrenzt sind und den Hash nicht brechen können.

Edit : Danke an Ricky Demer für den Hinweis auf den fehlenden Faktor von .e

Geoffrey Irving
quelle
Schritt 1 würde dem Prüfer eine hochgenaue Möglichkeit geben, jede Vermutung der Farbe des Prüfers zu testen, wobei nur das 6-fache der Schritt-1-Arbeit des Prüfers pro Vermutung verwendet wird. Außerdem sehe ich keine Möglichkeit, einen vom Prüfer berechneten Merkle-Baum zu verwenden, ohne von einem Beweis zu einem Argument überzugehen .
Wie kann ein gesalzener Merkle-Baum verwendet werden, um eine Färbung zu erraten?
Geoffrey Irving
1
Ich habe eine Antwort gepostet, die besagt, warum ich denke, dass die Idee des gesalzenen Merkle-Baums nicht funktioniert. Sie sollten stattdessen Verpflichtungen zu den Randomisierungen der Farben in einen Merkle-Baum verwandeln. Ich stelle auch fest, dass Ihnen anscheinend ein Faktor für die Anzahl der Kanten in der Kommunikationskomplexität fehlt.
1
Nun, man kann das Versprechen in Betracht ziehen , dass die Aufgabe entweder eine gültige 3-Färbung ist oder [zumindestδe Kanten haben gleichfarbige Eckpunkte]. Dadurch sinkt die Kommunikationskomplexität auf O(((bn)/δ)log(n)). (Fortsetzung ...)
1
(... Fortsetzung) Als nächstes kann man PCP-Maschinen anwenden , um die Standard-3-Farb-Beziehung auf diese Versprechen-Beziehung zu reduzieren.Wenn Sie diese Idee dann auf das Äußerste bringen, erhalten Sie universelle Argumente ohne Wissen .
1

In jüngster Zeit hat die Aktivität prägnanter nicht interaktiver Null-Wissens-Argumente stark zugenommen. Es ist bekannt, wie beispielsweise ein NIZK-Argument für Circuit-SAT erstellt wird, bei dem die Argumentlänge eine sehr kleine konstante Anzahl von Gruppenelementen ist (siehe Groth 2010, Lipmaa 2012, Gennaro, Gentry usw., Eurocrypt 2013 usw.). Basierend auf einer NP-Reduktion können Sie dann mit derselben Kommunikation ein Argument für die 3-Färbbarkeit klar konstruieren.

Natürlich ist dies ein anderes Modell als Ihre ursprüngliche Frage - in diesen Argumenten ist beispielsweise die CRS-Länge in der Schaltungsgröße linear, und in gewissem Sinne kann dies als Teil der Kommunikation betrachtet werden (obwohl es in wiederverwendet werden kann) viele verschiedene Argumente).

Kryptokat
quelle
0

(Dies passt nicht in einen Kommentar.)

Ich denke, ich sehe jetzt, wie ich zeigen kann, dass Ihr Salzen nicht unbedingt
ehrliches Verifizierer-Null-Wissen liefert .H0
H0H1H0
H1H0
||H2


xz((3b)+6)y
mm=x||111...[b of them]...111||y||z,
Hat manH2(m)=x||111...[b of them]...111||H1(m)||z



xrmxrm
H2(m)=x||111...[b of them]...111||H1(m)||x



m
H2(m)=
[b+3 bits whose values don't matter]||H1(m)||[3 bits whose values don't matter].


.



H1H2H1H1
H0H0H2


1/(2(b1))


quelle
Ich bin mir nicht sicher, ob ich Ihrer Notation folge, aber es scheint, als würden Sie argumentieren, dass Sie meine Skizze nehmen und die Details auf offensichtlich dumme Weise ausfüllen können, wodurch ein unsicheres System entsteht. Ich werde meiner Antwort die sauberere, sichere Version der Details hinzufügen.
Geoffrey Irving
H2 Alles andere war was ich ehrlich dachte du meintest.
Bitte lassen Sie mich wissen, ob die meiner Antwort hinzugefügten Details dies klar machen. Es ist durchaus möglich, dass mir etwas fehlt und meine Konstruktion tatsächlich kaputt ist.
Geoffrey Irving