Dowody interakcyjne
Transkrypt
Dowody interakcyjne
Grzegorz Stachowiak Dowody z wiedza˛ zerowa˛ . – p.1 Dowody interakcyjne Peggy (Prover) chce przekonać Vica (Verifier), że umie otworzyć drzwi nie pokazujac ˛ jak sie˛ to robi. W n próbach prawdopodobieństwo oszukania Vica (1/2)n Vic drzwi Peggy . – p.2 Izomorfizm grafów Peggy (Prover) chce przekonać Vica (Verifier), że G1 ' G2 . 1. Peggy wysyła do Vica losowy G0 izomorficzny do G1 . 2. Vic odsyła Peggy losowe i ∈ {1, 2}. 3. Peggy odsyła izomorfizm φ pomiedzy ˛ G0 i Gi . 4. Vic sprawdza, że to naprawde˛ izomorfizm. Prawdopodobieństwo, że Peggy uda sie˛ odesłać prawidłowy izomorfizm, gdy G1 6' G2 wynosi (co najwyżej) 1/2. Jeśli przeprowadzimy n rund to wyniesie ono (1/2)n . . – p.3 Dowody interakcyjne Peggy (Prover) przekonuje Vica (Verifier) o prawdziwości jakiegoś stwierdzenia. Dwie podstawowe własności completeness (zupełność): Peggy zawsze przekona Vica do stwierdzenia prawdziwego; soundness (rzetelność): Peggy jest w stanie przekonać Vica do stwierdzenia fałszywego z prawdopodobieństwem bliskim zeru. . – p.4 Dowody z wiedza˛ zerowa˛ Nie znany jest szybki algorytm sprawdzajacy ˛ czy G1 ' G2 . Czy Vic jest w stanie szybko skonstruować własne rozumowanie prowadzace ˛ do wniosku, że G1 ' G2 na podstawie komunikacji z Peggy w dowodzie interaktywnym? Okazuje sie, ˛ że nie i dlatego dowód ten nazywamy dowodem z wiedza˛ zerowa. ˛ Vic może sporzadzić ˛ raport z komunikacji z Peggy. Raport ten składa sie˛ z trójek (G0 , i, φ). Pokażemy, że informacje zawarte w raporcie nic Vicowi nie daja. ˛ . – p.5 Rzekome raporty Sporzadzanie ˛ rzekomych raportów: Powtarzaj: 1. Wybierz losowe i ∈ {1, 2}. 2. Wylosuj G0 izomorficzny z Gi wraz z izomorfizmem φ. 3. Dodaj do raportu (G0 , i, φ). Skoro Vic sam może sobie produkować raporty bez komunikacji z Peggy, to oryginalne raporty nie nic mu nie daja. ˛ . – p.6 Rzekome raporty Ale to nie koniec. Vic może w trakcie właściwego protokołu ˛ a˛ znajac ˛ G0 wybierać takie i, które daje mu najwieksz korzyść. Czy można podrobić raport z takie komunikacji? Odpowiedź jest twierdzaca. ˛ Najpierw produkujemy rzekomy raport używajac ˛ metody która˛ już przedstawiliśmy. Potem usuwamy z niego wszystkie trójki (G0 , i, φ) w których i nie zostałoby wybrane dla G0 . Ponieważ prawdopodobieństwo wybrania G0 jest to samo niezależnie od wcześniej wylosowanego i, prawdopodobieństwo usuniecia ˛ każdej trójki z pierwotnego raportu wynosi 1/2. . – p.7 Protokoły Identyfikacji Klucze Peggy publiczny: G1 , G2 – grafy izomorficzne prywatny: ψ – izomorfizm Obliczenia Peggy w protokole moga˛ być przeprowadzone w czasie wielomianowym. Każdy, kto chciałby sie˛ podszyć pod Peggy musi być w stanie znajdować w każdej rundzie izomorfizm φ dla i = 1, 2. Aby to zrobić z prawdopodobieństwem 1, trzeba znać izomorfizm miedzy ˛ G1 a G2 . . – p.8 Reszty kwadratowe Niech n = pq z nieznanym rozkładem i v ⊥ n. Peggy chce przekonać Vica, że v jest równe u2 mod n dla pewnego u. 1. Peggy losuje x i przesyła y = x2 mod n. 2. Vic wysyła Peggy losowe i ∈ {0, 1}. 3. Peggy odsyła z = ui x mod n. 4. Vic sprawdza czy z 2 = v i y mod n. . – p.9 Reszty kwadratowe Rzekome raporty: 1. Wylosuj i ∈ {0, 1}. 2. wylosuj z . 3. Dodaj y = z 2 v −i mod n, i, z do raportu. Ten i nastepny ˛ dowód z wiedza˛ zerowa˛ też może być użyty jako protokół identyfikacji. . – p.10 Przynależność do podgrupy Niech p jest liczba˛ pierwsza˛ i α, β ∈ Zp . Peggy chce przekonać Vica, że αk = β mod p dla pewnego k . 1. Peggy losuje x i wysyła γ = αx mod p. 2. Vic posyła Peggy losowe i ∈ {0, 1}. 3. Peggy odsyła y = x + ki. 4. Vic sprawdza, czy αy = γβ i mod p. . – p.11 Obliczeniowa wiedza zerowa Jest to nieco słabsze pojecie ˛ wiedzy zerowej. Powiedzmy, że dysponujemy losowym raportem z działania ˛ protokołu Tp . Dysponujemy też algorytmem podrabiajacym raporty i Tf jest jego wynikiem. Niech A bedzie ˛ szybkim (wielomianowym) algorytmem który na wejściu pobiera raport T i wyprowadza A(T ) ∈ {0, 1}. advA = Pr(A(Tp ) = 1) − Pr(A(Tf ) = 1) Dowód jest obliczeniowo z wiedza˛ zerowa˛ gdy Tp nie może być odróżniony od Tf przez żaden wielomianowy algorytm A z prawdopodobieństwem powyżej : > 0 tzn. advA < . – p.12 Zobowiazania ˛ bitowe 1. Peggy pomyślała sobie b ∈ {0, 1}. 2. Peggy losuje ciag ˛ r i wysyła do Vica h(b, r) (h – funkcja haszujaca). ˛ 3. Vic nie ma pojecia ˛ jakie jest b 4. Gdy Peggy musi ujawnić b wysyła do Vica wartości b, r. Peggy nie może zmienić wartości b bo jest zwiazana ˛ wartościa˛ funkcji haszujacej. ˛ . – p.13 Zobowiazania ˛ bitowe Inny schemat zobowiaza ˛ ń bitowych: 1. Dane jest n = pq i m 6= s2 mod n dla wszystkich s ∈ Z∗n . 2. Peggy pomyślała sobie b ∈ {0, 1}. 3. Peggy losuje x i przekazuje x2 mb mod n do Vica. 4. Peggy ujawnia b przesyłajac ˛ x do Vica. . – p.14 Grafy 3-kolorowalne Niech G bedzie ˛ grafem. Peggy chce wykazać, że G jest 3-kolorowalny. Peggy zna 3-kolorowanie f : V → {1, 2, 3}. 1. Peggy losuje permutacje˛ π elementów {1, 2, 3}. 2. Peggy wylicza zobowiazania ˛ bitowe dla wszystkich π(f (v)) i przekazuje je do Vica. 3. Vic wysyła Peggy losowa˛ krawedź ˛ {u, v}. 4. Peggy ujawnia π(f (u)), π(f (v)). 5. Vic sprawdza, czy π(f (u)) 6= π(f (v)). . – p.15