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 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 )
Czy można to zrobić lepiej, zarówno pod względem całkowitej komunikacji, jak i liczby rund?
Edycja : Podziękowania dla Ricky'ego Demera za wskazanie brakującego czynnika .
źródło
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ą
Daje to komunikację przez rundy .O ( 1 )O ( b e lognlog( 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)za b 2)a + 1- 1 b
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
źródło
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).
źródło
(To nie pasuje do komentarza.)
Myślę, że teraz widzę, jak pokazać, że twoje solenie niekoniecznie zapewnia Niech będzie bezpiecznym hashem.H.0 Jeśli wiemy,
H.0 H.1 H.0
H.1 H.0
| | Niech jest takie, że
do wszystkich łańcuchów 3-bitowe x i Z , dla wszystkichH.2)
x z -bit( (3⋅b)+6 ) łańcuchy ,
dla łańcucha m taki, żey
m m=x| |111 ... [ b z nich ] ...111| |y| |z ,
H.2)( m )=x| |111...[b of them]...111| |H.1( m )| |z .
x r , dla ciągu który wynika z solenia x za pomocą rm x r Jeż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 .
m H.2)( m )=
[ b+3 bity, których wartości nie mają znaczenia ]| |H.1( m )| |[ 3 bity, których wartości nie mają znaczenia ] .
rzetelną weryfikację zerowej wiedzy.
ż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ę.)
jeden ma
i
Dla wszystkich łańcuchów 3-bitowych , dla wszystkich soli r
i
dla wszystkich łańcuchów które nie mają żadnej z tych dwóch form, H 2 ( m )
[ b
.
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.1 H.2) H.1 Dzięki bezpieczeństwu Merkle-Damgarda każda kolizja w może być skutecznie przekształcona
w kolizję w H 0 .H.1
H.0 Zatem, 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.0 H.2)
1 / ( 2( b - 1 ))
źródło