Minimalny koszt komunikacji dla zerowych dowodów wiedzy o trzech kolorach

11

Dowód Goldreicha i in., Że trzy kolory mogą mieć zerowe dowody wiedzy, wykorzystuje bitowe zaangażowanie w całe zabarwienie wykresu w każdej rundzie [1]. Jeśli wykres ma wierzchołków i krawędzie, bezpieczne hash ma bitów i szukamy błędów prawdopodobieństwo , całkowity koszt komunikacjie b pnmibp

O(bminlog(1/p))

ponad rund. Używając stopniowo ujawnianego drzewa Merkle, całkowitą komunikację można zredukować do kosztem zwiększenia liczby rund do .O ( b e log n log ( 1 / p ) ) O ( log n )O(1)O(bmilognlog(1/p))O(logn)

Czy można to zrobić lepiej, zarówno pod względem całkowitej komunikacji, jak i liczby rund?

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

Edycja : Podziękowania dla Ricky'ego Demera za wskazanie brakującego czynnika .mi

Geoffrey Irving
źródło

Odpowiedzi:

3

Oto właściwy papier do moich celów:

Joe Kilian, „Uwaga na temat skutecznych dowodów i argumentów o zerowej wiedzy”. http://people.csail.mit.edu/vinodv/6892-Fall2013/efficientargs.pdf

Aby uzyskać najsilniejszy wynik, musimy zaakceptować zero argumentów wiedzy zamiast dowodów (dowcip związany z obliczeniami); to mnie interesuje, ale nie znałem terminologii.

Zakładając wystarczające założenia kryptograficzne, artykuł podaje zero argumentów wiedzy przy całkowitej komunikacji dla .c = O ( 1 )O(blogdonlog(1/p))do=O(1)

Wynik ten został zaostrzony do rund Ishai i wsp., „On Efficient Zero-Knowledge PCPs”, http://www.cs.virginia.edu/~mohammad/files/papers/13%20ZKPCPs.pdf .O(1)

Geoffrey Irving
źródło
Myślę, że lepiej jest usunąć tę odpowiedź i zaktualizować oryginalną, aby była poprawną odpowiedzią.
Kaveh
2

Aktualizacja : Ta odpowiedź jest nieaktualna w mojej innej odpowiedzi, z całkowicie polilogarytmicznymi granicami z odpowiednich odniesień.

Po namyśle nie trzeba stopniowo odsłaniać drzewa Merkle, więc niższa wersja komunikacyjna nie wymaga dodatkowych rund. Kroki komunikacji są

  1. Przysłowie P losuje swoje zabarwienie, zamienia je w (solone) drzewo Merkle i wysyła korzeń do weryfikatora V.
  2. V wybiera losową krawędź i wysyła ją do P.e
  3. P wysyła ścieżki drzewa Merkle od katalogu głównego do każdego punktu końcowego od do V.mi

Daje to komunikację przez rundy .O ( 1 )O(bmilognlog(1/p))O(1)

Aktualizacja: Oto szczegóły budowy drzewa Merkle. Dla uproszczenia, rozwinąć wykres mieć dokładnie wierzchołków dodając kilka odłączonych węzłów (nie są one skuteczne trzy zabarwienia lub zerową wiedzę). Przyjmij bezpieczną funkcję skrótu, przyjmującą dane o dowolnej wielkości i generujące b- bitowe dane wyjściowe. Dla każdego drzewa Merkle prover wybiera 2 losowe b- bity 1 a + 1 - 1 , po jednym dla każdego liścia i nonleaf drzewa binarnego. Na liściach mieszamy kolor połączony z nonce, aby uzyskać wartość liścia. Na każdym nonleaf łączymy wartość dwójki potomnej z nonce nonceaf, aby uzyskać wartość nonleaf.2)zab2)za+1-1b

W pierwszej rundzie prover wysyła tylko wartość root, która nie dostarcza informacji, ponieważ jest mieszana z nonce root. W trzeciej rundzie nie są przekazywane żadne informacje o żadnym nierozwiniętym węźle w drzewie binarnym, ponieważ taki węzeł został zaszyfrowany z nonce w tym węźle. Zakładam, że zarówno przysłowie, jak i weryfikator są ograniczone obliczeniowo i nie mogą złamać skrótu.

Edycja : Podziękowania dla Ricky'ego Demera za wskazanie brakującego czynnika .mi

Geoffrey Irving
źródło
Krok 1 dałby weryfikatorowi bardzo dokładny sposób przetestowania przypuszczeń dotyczących zabarwienia go, wykorzystując tylko 6-krotność pracy kroku 1 dla jednego przypuszczenia. Nie widzę też żadnego sposobu na użycie drzewa Merkle obliczonego przez prover bez przejścia od dowodu do argumentu .
Jak solone drzewo Merkle może być użyte do odgadnięcia koloru?
Geoffrey Irving
1
Wysłałem odpowiedź mówiącą, dlaczego myślę, że solony Merkle Tree nie działa. Zamiast tego powinieneś zamienić zobowiązania dotyczące losowości kolorów w drzewo Merkle. Zauważam również, że wydaje się, że brakuje Ci czynnika liczbowego w złożoności komunikacji.
1
Cóż, można wziąć pod uwagę obietnicę, że zadanie jest albo prawidłowym 3-kolorowaniem, albo [przynajmniejδmi krawędzie mają takie same wierzchołki]. To zmniejsza złożoność komunikacji O(((bn)/δ)log(n)). (ciąg dalszy ...)
1
(... nieprzerwany) Następnie można zastosować maszynę PCP, aby zmniejszyć standardową relację trójkolorowania do tej relacji obietnicy.Doprowadzenie tego pomysłu do skrajności daje uniwersalne argumenty o zerowej wiedzy .
1

Ostatnio wzrosła aktywność zwięzłych, nieinteraktywnych argumentów o zerowej wiedzy. Wiadomo na przykład, jak skonstruować argument NIZK dla Circuit-SAT, gdzie długość argumentu jest bardzo małą stałą liczbą elementów grupy (patrz Groth 2010, Lipmaa 2012, Gennaro, Gentry itp., Eurocrypt 2013 itp.). W oparciu o redukcję NP możesz następnie jasno skonstruować argument za 3-kolorowością przy tej samej komunikacji.

Oczywiście jest to inny model niż twoje pierwotne pytanie - na przykład w tych argumentach długość CRS ma rozmiar liniowy i w pewnym sensie można go traktować jako część komunikacji (choć można go ponownie wykorzystać w wiele różnych argumentów).

cryptocat
źródło
0

(To nie pasuje do komentarza.)

Myślę, że teraz widzę, jak pokazać, że twoje solenie niekoniecznie zapewnia
rzetelną weryfikację zerowej wiedzy.Niech będzie bezpiecznym hashem.H.0Jeśli wiemy,
że może już obsłużyć dane o dowolnej długości, to niech H 1 będzie równe H 0 , w przeciwnym razie niech H 1 będzie wynikiem zastosowania konstrukcji Merkle – Damgard do H 0 . (Zauważ, że | | oznacza konkatenację.)H.0H.1H.0
H.1H.0
||Niech jest takie, że do wszystkich łańcuchów 3-bitowe x i Z , dla wszystkichH.2)


xz -bit((3)b)+6)łańcuchy , dla łańcucha m taki, żey
mm=x||111 ...[b z nich]...111||y||z,
jeden maH.2)(m)=x||111 ...[b z nich]...111||H.1(m)||z.

i

Dla wszystkich łańcuchów 3-bitowych , dla wszystkich soli rxr, dla ciągu który wynika z solenia x za pomocą rmxrJeżeli jest nie w postaci omówione powyżej, a następniem
H.2)(m)=x||111 ...[b z nich]...111||H.1(m)||x.

i

dla wszystkich łańcuchów które nie mają żadnej z tych dwóch form, H 2 ( m )m
[ bH.2)(m)=
[b+3) bity, których wartości nie mają znaczenia]||H.1(m)||[3) bity, których wartości nie mają znaczenia].


.



Ponieważ w każdym przypadku występuje w tym samym miejscu, każde zderzenie w H 2 jest również zderzeniem w H 1 .H.1H.2)H.1Dzięki bezpieczeństwu Merkle-Damgarda każda kolizja w może być skutecznie przekształcona w kolizję w H 0 .H.1
H.0Zatem, jeśli jest odporny na kolizję, wówczas H 2 . Jeśli jednak liczba wierzchołków jest potęgą dwóch, to sprawdzając 3 bity na każdym końcu skrótu korzenia, można ustalić, czy początkowe i końcowe wierzchołki otrzymały ten sam kolor z prawdopodobieństwem błędu mniejszym niż 1 / ( 2 ( b - 1 ) ) .H.0H.2)


1/(2)(b-1))


źródło
Nie jestem pewien, czy podążam za twoją notacją, ale wygląda na to, że argumentujesz, że możesz wziąć mój szkic i uzupełnić szczegóły w oczywiście głupi sposób, tworząc w ten sposób niepewny system. Dodam czystszą bezpieczną wersję szczegółów do mojej odpowiedzi.
Geoffrey Irving
H.2) Wszystko inne było co szczerze myślałem, że masz na myśli.
Daj mi znać, czy szczegółowe informacje dodane do mojej odpowiedzi są jasne. Całkiem możliwe, że coś mi umknęło, a moja konstrukcja jest naprawdę zepsuta.
Geoffrey Irving