Kryptografia II stopień
Od definicji bezpieczeństwa do konstrukcji, redukcji i publikacji naukowych.
Pogłębienie B. Rewinding i forking lemma
Dwa dowody, jedna idea algebraiczna. W identyfikacji ekstraktor sam wysyła drugie wyzwanie po odtworzeniu stanu dowodzącego. W podpisie wyzwanie jest odpowiedzią hasza. Redukcja musi więc ponownie uruchomić fałszerza ze zmienioną wyrocznią i doprowadzić do drugiego fałszerstwa dotyczącego tego samego zobowiązania. To dodatkowe wymaganie ma mierzalny koszt.
Najpierw ustalimy funkcjonalność i model, potem zbudujemy algorytm redukcji. Każdą stratę prawdopodobieństwa policzymy oddzielnie. Symbol oznacza niepowodzenie, prawdopodobieństwo zdarzenia , a wartość oczekiwaną zmiennej , czyli średnią ważoną prawdopodobieństwami jej wyników. Wszystkie eksperymenty są klasyczne. Nie obejmują kwantowych zapytań do wyroczni. Przeciwnicy mają jawny limit czasu, wielomianowy względem parametru bezpieczeństwa.
Identyfikacja Schnorra: pełny dowód z cofaniem przebiegu
1. Co dokładnie ma zapewniać schemat?
Publiczna grupa ma pierwszy rząd . Jej działanie zapisujemy multiplikatywnie. Sekret to , a klucz publiczny to . Parametry obejmują grupę, generator, rząd i jednoznaczne kodowania. Skalary dodajemy i mnożymy modulo . Odbiorca sprawdza typy, przynależność do grupy i zakresy skalarów przed użyciem równania.
Schemat to krotka . Dwa ostatnie algorytmy są interaktywne. Ich kroki i stan prywatny są zdefiniowane w formalnym opisie Schnorra. Przypomnijmy interfejsy potrzebne w dowodzie:
| Algorytm | Wejście i wynik | Czynność |
|---|---|---|
| , | ||
| , . Tylko jest wysyłane | ||
| , po otrzymaniu poprawnego | ||
| . Stan z nonce jest jednorazowy | ||
| , po kontroli typów |
Poprawność. Uczciwy dowodzący zawsze przechodzi test, ponieważ
Cel bezpieczeństwa. Przeciwnik ma przekonać uczciwego weryfikatora bez znajomości . Nie definiujemy porażki jako samego braku dostępu do algorytmu Respond. Przeciwnik może wykonywać dowolne obliczenia. Wygraną jest rzeczywista akceptacja jego odpowiedzi.
Rozważamy podszywanie po pasywnym treningu. Przeciwnik otrzymuje i może żądać wielomianowo wielu niezależnych transkryptów uczciwych sesji. Liczbę żądań i moment zakończenia treningu może dobierać adaptacyjnie. W końcowej sesji sam wysyła , otrzymuje świeże jednostajne i odpowiada . Nie ma wtedy dostępu do żywego uczciwego dowodzącego. Nie dostaje nonce ani klucza prywatnego. Nie zakładamy bezpieczeństwa wobec przekazywania wyzwania równolegle prawdziwemu użytkownikowi.
2. Symulator transkryptów nie potrzebuje sekretu
Symulator losuje niezależnie , oblicza i zwraca . Weryfikacja akceptuje. Ważniejsze jest jednak to, że rozkład całej trójki jest identyczny z uczciwym przebiegiem, a nie jedynie to, że równanie się zgadza.
Uczciwy przebieg wybiera z prawdopodobieństwem . Dla ustalonego klucza odwzorowanie
jest bijekcją na . Jego odwrotność to . Każdy dopuszczalny transkrypt ma więc w obu doświadczeniach prawdopodobieństwo . To doskonała wiedza zerowa wobec uczciwego weryfikatora, czyli perfect honest-verifier zero knowledge. Symulator wybiera wyzwanie. Ten argument nie daje mu możliwości narzucania wyzwań złośliwemu weryfikatorowi w aktywnych sesjach.
Redukcja otrzymuje instancję problemu logarytmu dyskretnego i odpowiada na każde żądanie treningowe nowym wynikiem Sim. Nie zna , ale nie traci na symulacji żadnego prawdopodobieństwa. Przez indukcję po adaptacyjnych żądaniach cały widok przeciwnika ma właściwy rozkład.
3. Dwa transkrypty wydobywają ten sam sekret
Niech oznacza program podszywającego się przeciwnika. Ekstraktor uruchamia go z ustaloną taśmą losową, symuluje trening i zapamiętuje stan po wysłaniu , przed otrzymaniem . Taśma zawiera również bity, które program wykorzysta dopiero później. Po jej ustaleniu odpowiedź programu na konkretne wyzwanie jest deterministyczna. Przekroczenie limitu czasu lub brak odpowiedzi oznacza odrzucenie.
Identyfikacja: dwa wyzwania, ten sam stan
Pierwsza gałąź
- Pierwsze wyzwanie:
- Odpowiedź z zapisanego stanu:
- Pierwsza kontrola:
Druga gałąź
- Odtworzenie i nowe wyzwanie:
- Odpowiedź z tego samego stanu:
- Druga kontrola:
Ekstraktor wykonuje następujące czynności:
- Uruchamia trening i pierwszą część końcowej sesji. Jeśli nie uzyska poprawnego , zwraca .
- Zapamiętuje . Losuje , otrzymuje i sprawdza Check. Przy odrzuceniu zwraca .
- Przywraca ten sam stan i taśmę. Losuje niezależnie i otrzymuje . Sprawdza Check i . Inaczej zwraca .
- Oblicza . Sprawdza i zwraca .
Z dwóch akceptacji wynika kolejno
Ostatni krok jest legalny, bo jest pierwsze, a nie jest zerem w . W szczególności nie wystarczą dwa dowolne poprawne przebiegi. Muszą mieć ten sam klucz i to samo zobowiązanie oraz różne wyzwania. Ta własność nazywa się special soundness, czyli ekstrakcją świadka z dwóch akceptujących transkryptów o wspólnym pierwszym komunikacie.
Przykład liczbowy. W małej grupie rzędu weźmy , więc . Dla mamy . Wyzwania i dają odpowiedzi i . Oba testy akceptują, a ekstraktor otrzymuje
Mała grupa służy sprawdzeniu rachunku, nie bezpieczeństwu. Cofanie jest uprawnieniem redukcji uruchamiającej kod przeciwnika. Nie zakładamy, że zewnętrzny napastnik może cofać uczciwe urządzenie. Jeżeli urządzenie rzeczywiście powtórzy nonce w dwóch sesjach, ten sam rachunek staje się atakiem na jego sekret.
4. Dokładne prawdopodobieństwo ekstrakcji
Dla ustalonego stanu niech oznacza liczbę wyzwań, na które odpowiada poprawnie. Wtedy jest warunkowym prawdopodobieństwem akceptacji. Gdy program nie dotarł do poprawnego zobowiązania, przyjmujemy . Dwa niezależne wyzwania tworzą jednakowo prawdopodobnych par. Dokładnie par daje dwie akceptacje z różnymi wyzwaniami. Zatem
Niech będzie prawdopodobieństwem podszycia. Uśredniamy po treningu i losowości przeciwnika. Nieujemność wariancji daje , stąd pełny rachunek:
Twierdzenie ID. Jeśli istnieje przeciwnik odnoszący sukces w opisanym modelu pasywnym, istnieje redukcja do logarytmu dyskretnego o sukcesie co najmniej . Potrzebuje najwyżej dwóch wykonań przeciwnika, dokładnej symulacji treningu oraz ekstrakcji. Gdy rośnie wykładniczo z parametrem bezpieczeństwa, nieznikomy sukces podszycia daje nieznikomy sukces rozwiązania logarytmu dyskretnego. To sprzeczne z założeniem jego trudności.
Dlaczego nie możemy usunąć ? Bez sekretu można przygotować odpowiedź na jedno przewidziane wyzwanie . Wybieramy , ustalamy i odpowiadamy tylko, gdy . Dla niezerowego klucza daje to sukces , ale nie dwa różne akceptujące wyzwania. Liczba to knowledge error, czyli próg błędu wiedzy. Nie oznacza prawdopodobieństwa wycieku klucza.
| Liczba akceptujących wyzwań przy | Sukces jednej sesji | Sukces dwóch różnych wyzwań |
|---|---|---|
| 1 | ||
| 2 | ||
| 12 | ||
| 23 |
Jeżeli dolna granica sukcesu jednej niezależnej próby na ustalonym kluczu wynosi , to po próbach prawdopodobieństwo niepowodzenia jest najwyżej . Oczekiwana liczba prób do sukcesu jest najwyżej . Nie wolno wyprowadzać takiej granicy oczekiwanego czasu dla każdego klucza wyłącznie ze średniego sukcesu po losowych kluczach. Rachunek jednej próby pozostaje poprawny również po uśrednieniu po kluczu, z ponownym użyciem nieujemnej wariancji.
Podpis Schnorra: pełna redukcja niepodrabialności
1. Krotka algorytmów i granice twierdzenia
Schemat podpisu to . Setup ustala oraz dziedzinę wyroczni skalarnej . Funkcja enc jest jednoznaczna. Stały znacznik domeny oddziela ten schemat od innych zastosowań hasza.
| Algorytm | Wejście i wynik | Ciało |
|---|---|---|
| , | ||
| Losuj . Oblicz , , , | ||
| Sprawdź typy. Oblicz to samo i . Zwróć |
Poprawność wynika z tego samego równania co w identyfikacji. Diagram uczciwego podpisywania znajduje się przy definicji schematu. Teraz badamy, czy przeciwnik może uzyskać akceptację dla nowej wiadomości.
Eksperyment EUF-CMA, czyli existential unforgeability under chosen-message attack, bada egzystencjalną niepodrabialność przy adaptacyjnie wybieranych wiadomościach. Przeciwnik otrzymuje . Ma najwyżej zapytań do Hash i żądań Sign. Prowadzimy zbiór wiadomości przekazanych do Sign. Wygrywa, gdy zwróci takie, że i Verify zwraca 1. Nowy podpis wcześniej podpisanej wiadomości nie jest wygraną tego eksperymentu.
Najpierw ustalamy . Nie zmieniamy po cichu wcześniejszego KeyGen. Przy losowaniu z całego ciała zdarzenie ma prawdopodobieństwo . W takim kluczu jest jawne i każdy może podpisywać. Jeśli jest sukcesem dla całego KeyGen, a sukcesem warunkowym dla , to
Dalsze twierdzenie dotyczy tego niezerowego profilu. Przy KeyGen losującym od początku z powyższej korekty nie potrzeba. Zerowy klucz nie psuje algebraicznej ekstrakcji w identyfikacji, bo jego logarytm wynosi po prostu zero. Ma jednak znaczenie dla poniższego oszacowania zgadywania hasza.
2. Redukcja dostaje trudny klucz i symuluje podpisującego
Redukcja otrzymuje instancję DL, czyli discrete logarithm, problemu logarytmu dyskretnego , bez . Przekazuje przeciwnikowi. Utrzymuje jedną początkowo pustą tabelę wejść hasza, wartości i ich pochodzenia. Zbiór zapisanych wejść oznaczamy przez . Pochodzenie jest informacją wewnętrzną redukcji. Przeciwnik go nie widzi.
| Procedura | Pełna obsługa |
|---|---|
| , istniejący wpis | Zwróć . Nie losuj ponownie i nie przydzielaj nowego indeksu |
| , nowe wejście | Pobierz kolejną niezależną odpowiedź . Zapisz i zwróć |
| Losuj niezależnie . Oblicz i . Jeśli , przerwij całe wykonanie. Inaczej zapisz , dodaj do i zwróć |
Symulator nie nadpisuje wcześniejszego hasza, nawet jeżeli jego wylosowane przypadkiem zgadza się z wpisem. Przerwanie jest świadomym uproszczeniem redukcji. Nie jest zachowaniem uczciwego podpisującego. Wpis programowany przez SimSign nie zużywa pozycji taśmy . Późniejszy odczyt tego wpisu przez Hash też jej nie zużywa.
3. Dlaczego symulacja wygląda jak prawdziwe podpisy?
Gdy jest świeże, prawdziwy Sign wybiera jednostajne i oblicza . SimSign wybiera jednostajne . Bijekcja z dowodu identyfikacji daje identyczny rozkład . Redukcja nie musi znać ani , aby wytworzyć ten rozkład.
Pozostaje konflikt z wcześniejszą tabelą. Przy -tym żądaniu podpisu jest w niej najwyżej wpisów. Dla ustalonego skalar jest jednostajny, więc jest jednostajne na . Każdy wcześniejszy wpis dotyczący tego samego wyklucza najwyżej jedno z zobowiązań. Warunkowe prawdopodobieństwo pierwszego konfliktu jest najwyżej . Sumujemy po żądaniach:
Nie zakładamy niezależności konfliktów. To nierówność sumy prawdopodobieństw. Sprzęgamy oba eksperymenty tak, aby do pierwszego konfliktu dawały te same transkrypty. Ich wyniki mogą się różnić tylko po konflikcie. Sukces symulowanego przeciwnika jest zatem co najmniej . Jest to przykład argumentu „identyczne do bad” w metodzie gier.
4. Wybierz sukces, którego hasz można rozwinąć ponownie
Jeżeli przeciwnik nie zapytał Hash o , to tego wpisu nie mogła też utworzyć Sign. Wiadomość jest świeża. Weryfikacja losuje wtedy nowy, niezależny skalar. Dla ustalonych równanie akceptacji dopuszcza dokładnie jedno , ponieważ ma rząd . Sukces bez wcześniejszego pytania ma więc prawdopodobieństwo najwyżej .
Niech oznacza rzeczywisty sukces po symulacji, ograniczony do fałszerstw z takim wcześniejszym pytaniem. Dostajemy
Procedura odtwarza cały ten eksperyment. zawiera taśmę przeciwnika i prywatne losowania SimSign. Przy odpowiednim sukcesie Run zwraca , gdzie jest indeksem pierwszego zapytania Hash tworzącego wpis . Inaczej zwraca . Jeżeli wpisu brakuje, Run odrzuca wynik bez dodatkowego losowania hasza. Ta klasa sukcesów została już odjęta w oszacowaniu . Brakujące odpowiedzi do długości dopełniamy niewykorzystanymi niezależnymi skalarami.
5. Rozwidlenie musi odtworzyć stan, nie tylko zmienić c
Podpis: wspólny prefiks, dwa niezależne sufiksy
Pierwsza gałąź
- Pierwsza odpowiedź i sufiks:
- Pierwszy sukces Run:
- Wspólne dane do ekstrakcji:
Druga gałąź
- Nowa odpowiedź i nowy sufiks:
- Drugi sukces Run:
- Warunki rozwidlenia:
Algorytm wykonuje dokładnie następujący eksperyment:
- Losuje i niezależne . Wywołuje Run. Jeśli , zwraca .
- Zachowuje oraz . Losuje niezależny sufiks .
- Uruchamia Run od początku z tymi danymi. Dostaje albo porażkę. Każdy wpis tabeli powstaje ponownie podczas wykonania. Wpisów z pierwszego sufiksu nie kopiuje.
- Wymaga i . Obie gałęzie muszą spełniać warunki poprawności i świeżości. Inaczej zwraca .
- Zwraca , po sprawdzeniu .
Dlaczego wiadomość i zobowiązanie są te same? Do chwili wysłania pytania numer program widzi identyczny klucz, losowość, odpowiedzi i symulowane podpisy. Jest deterministyczny po ustaleniu tych danych. Wysyła więc identyczne . Jednoznaczność enc ustala te same . Jeżeli drugie fałszerstwo wskazuje również indeks , dotyczy właśnie tego wejścia. Nie jest potrzebne założenie, że reszta obu wykonań pozostanie identyczna.
Czego nie wolno dopowiedzieć? Druga gałąź może przestać odnosić sukces, przerwać symulację podpisu albo oprzeć fałszerstwo na innym pytaniu. Nie wolno przyjąć, że zmiana jednego wyzwania automatycznie zachowuje sukces. Tę trudność rozwiązuje poniższy rachunek.
Lemat o rozwidleniu: dowód, nie tylko gotowy wzór
Udowodnimy wersję o dwóch wykonaniach. To współczesna postać z Bellarego–Nevena, Lemma 1, wyrażająca precyzyjnie ideę Pointchevala–Sterna. Historyczny harmonogram z ich oryginalnymi stałymi wyprowadzimy osobno. W tej części jest liczbą pozycji odpowiedzi, a rozmiarem alfabetu wyzwań. Dla naszego Schnorra i .
1. Warunkowanie po wspólnym prefiksie
Dla pozycji niech obejmuje publiczne wejście, całą taśmę i odpowiedzi . Definiujemy
Prawdopodobieństwo dotyczy dolosowania całego sufiksu od . Jeśli program w tym prefiksie nie może odnieść sukcesu z indeksem , wartość wynosi zero. Sumowanie po wszystkich prefiksach nadal jest poprawne. Zdarzenia wskazania różnych indeksów są rozłączne, dlatego .
2. Policz dwa sukcesy o wspólnym indeksie
Przy ustalonym pierwszy i drugi sufiks są niezależne. Dwa sukcesy z indeksem mają prawdopodobieństwo . Nie twierdzimy, że sukcesy są niezależne bez warunkowania. Wspólny prefiks właśnie je wiąże. Zatem
Nieujemna wariancja daje . Nierówność Cauchy'ego–Schwarza daje . Stosując je kolejno, otrzymujemy
3. Usuń pary z równym wyzwaniem
Po dowolnym pierwszym sukcesie nowe jest jednostajne i niezależne od całego pierwszego wykonania. Powtórzy z prawdopodobieństwem . Zdarzenie „pierwszy sukces i równe wyzwania” ma więc prawdopodobieństwo . Jego usunięcie może zabrać najwyżej tyle par sukcesów. Ostatecznie
To kończy dowód lematu. Kwadrat pochodzi z dwóch sufiksów. Dzielenie przez pochodzi z rozdzielenia sukcesów między indeksy. Odjęcie usuwa równe wyzwania. Nie mnożymy wyniku ponownie przez . Indeks odczytujemy z pierwszego fałszerstwa, a cena zgodności indeksów została już policzona.
4. Wstaw wszystkie straty i zakończ redukcję Schnorra
Dwa sukcesy lematu mają to samo i różne . Algebraiczna ekstrakcja z identyfikacji daje więc dokładnie . Pełne twierdzenie przyjmuje postać
Podstawienie dolnego oszacowania jest legalne. Funkcja jest zerowa dla , a następnie rosnąca. Dla nieznikomego , wielomianowych budżetów i wykładniczo dużego otrzymujemy nieznikomy sukces DL. To dowodzi EUF-CMA w zadeklarowanym klasycznym modelu wyroczni losowej, ROM, czyli random oracle model, pod założeniem trudności DL.
Koszt. Oznaczmy przez ograniczenie czasu całego Run, łącznie z symulacją. Jeśli samo wykonanie kodu przeciwnika kosztuje najwyżej , to można przyjąć
ogranicza potęgowanie w , a iloczyn grupowy. obejmuje kodowanie wejścia podpisu, wszystkie operacje tabel, losowania i księgowanie, a końcowe sprawdzenie fałszerstwa. Odpowiednie koszty uwzględniają długości wiadomości. Redukcja zużywa najwyżej . Ekstrakcja obejmuje odejmowania i odwrotność w oraz jedno potęgowanie kontrolne. Nie ma pairingu.
| Składnik | Przyczyna | Czego nie zakładamy |
|---|---|---|
| Konflikt programowanego wejścia z tabelą | Nie nadpisujemy odpowiedzi hasza | |
| przed rozwidleniem | Trafiony hasz bez zapytania | Nie każde fałszerstwo wskazuje indeks |
| wewnątrz lematu | Wspólny istotny indeks dwóch sukcesów | Drugie fałszerstwo może dotyczyć czegoś innego |
| wewnątrz lematu | Przypadkowo takie samo wyzwanie | Nie dzielimy przez zero |
Granica nie obejmuje wycieku nonce, resetowania uczciwego podpisującego ani pairingowych modyfikacji protokołu. Zamiana idealnej wyroczni na konkretny hash jest etapem instancjacji, nie twierdzeniem, że każda funkcja skrótu dziedziczy ten dowód.
Poniższy kalkulator używa ogólnego alfabetu i podanego już sukcesu po odjęciu strat symulacji. Nie oblicza za użytkownika. W dokładnym rachunku dla naszego skalarnego hasza alfabet ma rozmiar , a nie dowolnie zaokrągloną potęgę dwójki.
Granica dotyczy zdefiniowanego eksperymentu. Nie jest pomiarem sukcesu konkretnego fałszerza.
Gotowe do rozpoczęcia.
Pointcheval–Stern: skąd biorą się wszystkie stałe?
Powyższy dowód daje ograniczony czas jednej próby. Teraz prześledzimy historyczny harmonogram wielu prób z §3.1 pracy Security Arguments for Digital Signatures and Blind Signatures. To inny algorytm, więc jego stałej nie wstawiamy do poprzedniej granicy prawdopodobieństwa.
Ustalamy publiczne wejście i maszynę atakującą bez wyroczni podpisującej. Jej sukces wynosi , liczba pytań jest najwyżej , a czas jednego wykonania najwyżej . Alfabet odpowiedzi ma elementów. Oryginał posługuje się . Dla kursowego Schnorra stosujemy . Potrzebujemy założenia, że sukces bez istotnego pytania ma prawdopodobieństwo najwyżej . Dla i skalarnych wyzwań wynika ono z równania weryfikacji.
Przekład oznaczeń. Pointcheval i Stern zapisują klucz publiczny jako i sprawdzają . Nasze oznaczenia to , , i . Wtedy ten sam test przyjmuje postać . Rachunek poniżej dotyczy jawnie podanego alfabetu wyzwań. Nie zakładamy, że redukowanie dowolnego ciągu bitów modulo zawsze daje jednostajny skalar.
1. Próg 7 i klasy sukcesów
Zakładamy . Niech będzie zdarzeniem sukcesu z zadanym istotnym pytaniem, a sukcesu z indeksem . Oznaczmy . Wtedy
Klasa jest ciężka, jeśli . Lekkich klas jest najwyżej , więc ich łączna masa warunkowa jest najwyżej . Co najmniej połowa sukcesów trafia do ciężkich klas. Każda ciężka klasa ma bezwarunkową masę co najmniej .
2. Splitting lemma: dobry prefiks istnieje z policzalną częstością
W ciężkiej klasie nazwijmy prefiks dobrym, gdy . Symbol oznacza wskaźnik zdarzenia. Ma wartość 1, gdy zachodzi, a 0 w przeciwnym przypadku. Masa sukcesów tej klasy pochodzących ze złych prefiksów wynosi
Cała klasa ma masę co najmniej , więc najwyżej połowa jej sukcesów pochodzi ze złych prefiksów. Po znalezieniu sukcesu prawdopodobieństwo jednoczesnego trafienia ciężkiej klasy i dobrego prefiksu jest co najmniej . Jest to konkretne zastosowanie splitting lemma, czyli lematu o podziale przestrzeni wykonań na dobre prefiksy i ich kontynuacje. Nie wymaga niezależności dwóch tych zdarzeń. Drugie oszacowanie jest warunkowe w każdej ciężkiej klasie.
Z dobrego prefiksu prawdopodobieństwo użytecznej drugiej gałęzi jest co najmniej
3. Znane epsilon: 2, 14, 16 oraz 1/9
Wykonujemy do niezależnych prób znalezienia pierwszego sukcesu. Szansa znalezienia go jest co najmniej . Pierwszy znaleziony sukces ma rozkład wykonania warunkowany przez , więc z prawdopodobieństwem co najmniej daje dobry prefiks.
Z tego prefiksu wykonujemy do niezależnych kontynuacji. Użyteczna druga gałąź pojawi się z prawdopodobieństwem co najmniej . Cały eksperyment odnosi sukces z prawdopodobieństwem większym niż
Planowana liczba wykonań spełnia
To pochodzenie stałych z Lemma 2. Autorzy zapisują budżet bez jawnego narzutu zaokrągleń. Dla rzeczywistej całkowitej liczby wywołań zachowujemy powyższe dwa sufity. Nie nazywamy dokładną liczbą uruchomień programu.
4. Nieznane epsilon: harmonogram adaptacyjny
Redukcja nie zna ani . W etapie wykonuje nowe niezależne próby do pierwszego sukcesu w . Niech będzie ich liczbą. Następnie wykonuje najwyżej kontynuacji uzyskanego prefiksu, gdzie . Zatrzymuje się po użytecznym rozwidleniu. Inaczej przechodzi do następnego etapu. Używamy podłogi, aby budżet był całkowity i nie przekraczał wskazanej wartości.
ma rozkład geometryczny o średniej . Czas oczekiwania i uzyskany pierwszy sukces są niezależne. Dla dowolnego podzbioru zachodzi bowiem
Ponadto . Wystarczy zsumować prawdopodobieństwa sukcesu w mniej niż pierwszych próbach. Zatem . Ostatnie, słabsze oszacowanie zachowujemy, aby odtworzyć stałe autorów.
Niech . Dla i liczba kontynuacji jest większa niż . Prawdopodobieństwo użytecznej kontynuacji dobrego prefiksu jest co najmniej , ponieważ
Iloczyn liczby kontynuacji i dolnej granicy sukcesu jest większy niż
Uwzględniliśmy więc również podłogę w budżecie. Prawdopodobieństwo znalezienia drugiej gałęzi jest większe niż . Od etapu szansa sukcesu etapu jest co najmniej . Przyjmujemy zachowawczo jako górną granicę porażki etapu.
5. Oczekiwany koszt i liczba 84480
Niech oznacza zdarzenie dotarcia do etapu . Dla używamy granicy , a dla granicy . Koszt rozpoczętego etapu to najwyżej . Jego świeże próby są niezależne od wcześniejszych etapów. Dlatego dla łącznej liczby wykonań :
Nie warunkujemy średniej przez przyszły moment zakończenia całego algorytmu. Takie warunkowanie mogłoby zmienić rozkład czasu oczekiwania. Sumujemy koszt tylko z prawdopodobieństwem rozpoczęcia etapu.
Aby uzyskać historyczną stałą, osłabiamy oszacowanie, zastępując większą wartością . Używamy też . Rozdzielenie sumy na etapy przed i po nim daje
Pierwszy składnik pochodzi z ograniczenia skończonej sumy geometrycznej. Drugi pochodzi z ogona . Teraz każde podstawienie jest jawne:
Otrzymujemy
Jeżeli obejmuje koszt pojedynczego wykonania z obsługą wyroczni i kontrolą sukcesu, czas uzyskania rozwidlenia ma wartość oczekiwaną najwyżej . Dla redukcji do DL dodajemy jednorazowy koszt ekstrakcji. Harmonogram kończy się z prawdopodobieństwem 1, bo jego ogon maleje geometrycznie. To luźna granica z konkretnego harmonogramu, a nie dolna granica pracy atakującego ani pomiar wydajności podpisu.
Zastosowanie do naszej symulacji podpisów. Run jest jednym programem probabilistycznym. Symulator Sign stanowi jego część, a nie dodatkową zewnętrzną wyrocznię. Dla ustalonego klucza jego sukces wynosi , z dolnym oszacowaniem . Każdy sukces Run ma istotny indeks. Jeżeli dla tego klucza , ten sam rachunek etapów daje
Do mianownika nie wolno wstawić sukcesu przed odjęciem strat symulacji. Nie wolno też zamienić warunku dla ustalonego klucza na samą średnią po kluczach. Bez takich dodatkowych warunków używamy wcześniejszego twierdzenia o ograniczonym czasie i sukcesie jednej próby.
Co wnosi sposób dowodzenia Herranza–Sáeza?
W podpisie pierścieniowym istotne może być różnych pytań. Herranz i Sáez grupują sukcesy według uporządkowanego wzorca ich indeksów, a rozwidlenie wykonują przy najpóźniejszym z nich. Liczba możliwych wzorców wynosi
Ten wybór zachowuje wcześniejsze zobowiązania i odpowiedzi, a zmienia jedno wyzwanie potrzebne ekstrakcji. W zwykłym Schnorrze i . Dokładnie to zrobiliśmy: wskazaliśmy istotny indeks, zachowaliśmy jego prefiks, sprawdziliśmy zgodność obu sukcesów i dopiero potem odjęliśmy równania. Nie dodajemy sztucznego czynnika do dowodu dla jednego klucza.
W Theorem 1 pracy Herranza–Sáeza historyczny koszt ma postać . W ich Theorem 2, dla konkretnej symulacji chosen-message, straty zostawiają co najmniej . Zastąpienie tą wartością daje , więc zaokrąglona w górę stała wynosi . Pełny rachunek pierścieniowy wyjaśnia oddzielnie warunki i straty tamtej symulacji. Nie przenosimy do naszego SimSign. Jego rzeczywisty koszt prawdopodobieństwa to policzone wyżej .
Co student powinien umieć sprawdzić samodzielnie?
- Wskazać instancję trudnego problemu i dane, których redukcja nie zna.
- Wykazać zgodność rozkładu odpowiedzi symulatora, nie tylko ich poprawność.
- Określić stan cofnięcia oraz losowość zachowaną i losowaną ponownie.
- Uzasadnić, że z dwóch sukcesów powstają zgodne równania z niezerowym mianownikiem.
- Przypisać każdej stracie prawdopodobieństwa konkretne zdarzenie.
- Odróżnić bezpieczeństwo identyfikacji w modelu pasywnym, EUF-CMA podpisu w ROM i koszt oczekiwany historycznego harmonogramu.
References
- C.-P. Schnorr, Efficient Signature Generation by Smart Cards, Journal of Cryptology 4, 1991. Publikacja.
- D. Pointcheval, J. Stern, Security Arguments for Digital Signatures and Blind Signatures, Journal of Cryptology 13, 2000, s. 361–396. Pełna wersja pracy Security Proofs for Signature Schemes z EUROCRYPT 1996. §2.3: splitting lemma. §3.1: Lemma 2 i Theorem 1 z rachunkiem stałych. Tekst autorów.
- J. Herranz, G. Sáez, Forking Lemmas in the Ring Signatures' Scenario, 2003. §3: wzorce indeksów i oba warianty lematu. IACR ePrint 2003/067.
- M. Bellare, G. Neven, Multi-Signatures in the Plain Public-Key Model and a General Forking Lemma, ACM CCS 2006. §3, Lemma 1: dwukrotne wykonanie i granica . Tekst autorów.
Herranz–Sáez: pełny dowód anonimowości transkryptu
Punktem wyjścia jest rzeczywisty algorytm podpisywania, nie sam rysunek podobnych podpisów. Ustalamy pierścień , wiadomość i całą funkcję . W tym dowodzie hasz nie musi być wyrocznią losową. Porównujemy tylko rozkłady wywołane uczciwą losowością podpisujących.
Eksperyment. Przeciwnik wskazuje dwóch użytkowników w pierścieniu . Eksperyment losuje bit i zwraca . Przeciwnik zgaduje . Nie dostaje faktycznie użytej taśmy losowej ani danych z kanałów bocznych. Pokażemy, że rozkład publicznego podpisu nie zależy od , nawet przy nieograniczonych obliczeniach.
Krok 1. Ustal dowolny możliwy publiczny wynik
Niech będzie podpisem akceptowanym w zadeklarowanym profilu, z różnymi . Jest
możliwych uporządkowanych wektorów zobowiązań. Dla każdego takiego wektora wszystkie hasze są ustalone. Równanie weryfikacji wyznacza dokładnie jeden , ponieważ jest bijekcją. To stwierdzenie o jednoznaczności, nie algorytm obliczania DL.
Krok 2. Policz pozostałe n − 1 pozycji
Dla podpisującego każda pozycja poza jest losowana bez zwracania spośród niezerowych skalarów. Potęgowanie przenosi ten rozkład bijektywnie na niejednostkowe punkty. Prawdopodobieństwo dokładnie ustalonych dla wynosi
Dla iloczyn pusty wynosi jeden. Nie ma wtedy anonimowości między różnymi osobami, ale rachunek nadal opisuje poprawnie algorytm.
Krok 3. Uwzględnij odrzucenia, zamiast udawać losowanie bez ograniczeń
Po ustaleniu innych pozycji wyrażenie jest stałe. Odwzorowanie jest bijekcją z na . Każda próba daje więc jednostajny punkt. Odrzucamy dokładnie punktów: element neutralny oraz wcześniejszych zobowiązań.
Dla dowolnego dozwolonego prawdopodobieństwo otrzymania go po dowolnej liczbie odrzuceń to
Nie jest to . Średnia liczba prób wynosi . Potrzebujemy . W rzeczywistych parametrach pierścień jest nieporównanie mniejszy od rzędu grupy.
Krok 4. Połącz prawdopodobieństwa i przejdź do gry
Odpowiedź jest już jednoznaczna. Nie pojawia się dodatkowy czynnik losowania odpowiedzi. Dla każdego użytkownika w pierścieniu:
Wartość jest taka sama dla wszystkich . Podpisy poza tym nośnikiem mają prawdopodobieństwo zero dla każdego podpisującego. Rozkłady są zatem identyczne punkt po punkcie. Dla dowolnej strategii zgadywania , a przewaga wynosi zero.
Jeśli przeciwnik zna długoterminowe sekrety, może matematycznie odtworzyć możliwe losowości dla każdego kandydata. Nie dowie się jednak z samego podpisu, która została użyta. Ujawnienie faktycznej losowości jest innym modelem. Wiele niezależnych podpisów zachowuje równość rozkładów przez kolejne warunkowanie na już widzianych podpisach. Nierównomierne nonce lub dodatkowe logi mogą ten argument unieważnić.
To rozwinięcie rachunku z Herranz–Sáez, §4.3. W szczególności zachowuje odrzucanie powtórzonych zobowiązań. Nie dodaje do prawdziwego podpisującego zakazu kolizji wartości hasza, który występuje tylko w pomocniczym historycznym symulatorze. Źródło.
Herranz–Sáez: pełna ścieżka redukcji niepodrabialności
Cel gry. Ustalamy pierścień różnych uczciwie wygenerowanych kluczy. Przeciwnik nie zna żadnego sekretu, ale zadaje zapytań do Hash i najwyżej żądań Sign. Może wskazać użytkownika, który podpisze. Wygrywa, jeśli podpisze wiadomość niepodpisaną wcześniej przez żadnego użytkownika w tym pierścieniu. W tym modelu nie ma Corrupt ani rejestracji własnych kluczy.
Poniżej podajemy kompletny wariant dydaktyczny redukcji, z jawną obsługą tabeli i własnym oszacowaniem strat. Zachowuje konstrukcję oraz ekstrakcję z oryginału. Nie jest przepisaniem stałej czasowej Theorem 3. Historyczne twierdzenie i jego dodatkowe warunkowania zestawiamy osobno, aby nie łączyć niezgodnych rachunków.
Krok 1. Jedna instancja DL we wszystkich kluczach
Redukcja dostaje . Losuje różne niezerowe i publikuje
Mnożenie przez niezerowe jest permutacją . Dlatego wektor kluczy ma rozkład uczciwych różnych kluczy. Redukcja zna , ale nie zna żadnego sekretu . W ten sposób każda późniejsza wyekstrahowana gałąź będzie użyteczna. Nie zgadujemy dodatkowo indeksu podpisującego.
Krok 2. Hash i Sign współdzielą tabelę
Hash odczytuje istniejący wpis albo losuje jednostajny i zapisuje go. Zwykłe kolizje wartości hasza są dozwolone. Różne wejścia mogą otrzymać ten sam skalar.
Na żądanie podpisu przez użytkownika :
- Wylosuj inne zobowiązań dokładnie jak prawdziwy podpisujący. Dla każdego odczytaj albo utwórz przez Hash.
- Wylosuj niezależnie i wyznacz
- Przy lub powtórzeniu innego zobowiązania losuj ponownie , pozostawiając pozostałe dane i bez zmian.
- Jeśli ma już wpis w tabeli, przerwij redukcję. W przeciwnym razie zapisz i zwróć podpis.
W żadnym kroku nie wykorzystaliśmy sekretu. Weryfikacja zgadza się przez konstrukcję .
Krok 3. Uzasadnij rozkład, a nie tylko poprawne równanie
Ustalmy wcześniejszy widok, inne zobowiązania i ich hasze. W rzeczywistym podpisie zaakceptowane jest jednostajne na dozwolonych punktach. Jeśli wejście jest świeże, jego hasz jest niezależnym jednostajnym skalarem.
W symulatorze dla każdego ustalonego odwzorowanie jest bijekcją na . Po odrzuceniach każdy dozwolony punkt ma prawdopodobieństwo , niezależnie od . Zatem para w obu eksperymentach ma dla świeżego wejścia prawdopodobieństwo . Odpowiedź jest jednoznacznie ustalona przez tę parę i pozostałe dane. Zgadza się cały transkrypt i tabela, nie tylko pojedynczy element.
Łączymy wykonania tak, aby były identyczne aż do trafienia zapisanego wejścia przez domykające zobowiązanie. Przy -tym podpisie tabela przed programowaniem ma najwyżej wpisów. Jeden wcześniejszy wpis tej wiadomości wyklucza najwyżej jeden dozwolony punkt. Dlatego wystarcza jawna granica
To oszacowanie jest konserwatywne, bo liczy także wpisy innych wiadomości. Nie zakłada niezależności kolizji. Nie dopisujemy tu błędu za powtórzone wartości , bo nasz symulator dopuszcza je tak samo jak prawdziwa wyrocznia.
Losowanie z odrzucaniem ma oczekiwaną liczbę prób . Przy wymaganym sztywnym limicie prób na domknięcie trzeba dodać do granicy błędu najwyżej . Wtedy również czas symulatora ma jawny limit. Losowanie różnych pozostałych skalarów można realizować bez zwracania, bez odrzucania całego podpisu.
Krok 4. Zidentyfikuj zapytania sfałszowanego podpisu
Świeżość wiadomości oznacza, że żaden z jej wpisów nie został zaprogramowany przez Sign. Jeżeli przeciwnik pominął któryś hasz, weryfikacja wymaga trafienia niezależnej odpowiedzi. Ponieważ odpowiadający jej ma rząd , najwyżej jedna wartość nieznanego wyzwania dopełnia równanie przy ustaleniu pozostałych. Można zastosować konserwatywną sumę dla brakujących pozycji.
Po usunięciu konfliktów symulacji i takich trafień prawdopodobieństwo użytecznej pierwszej gałęzi spełnia
W naszym symulatorze zwykłych świeżych losowań Hash jest najwyżej . Drugi składnik liczy hasze innych gałęzi, tworzone wewnątrz Sign. Programowane należą do prywatnej taśmy symulatora. Nie pomijamy tych dwóch rodzajów losowości przy odtwarzaniu.
Krok 5. Fork pierścienia: zachowaj cały wzorzec
Dla poprawnego fałszerstwa zapamiętujemy uporządkowany wektor indeksów pierwszych losowań Hash dla . Są różne, bo zobowiązania są różne. Możliwych wzorców jest co najwyżej
Dla jest ich , nie ani . Pozycja wektora jest związana z konkretnym kluczem. Nie można zastąpić uporządkowanego wektora zbiorem indeksów.
Rozwidlamy przy . Odtwarzamy ten sam stan, taśmę przeciwnika i symulatora oraz odpowiedzi sprzed . Od dolosowujemy nowy sufiks. Sukces drugiej gałęzi wymaga tego samego wektora indeksów i innej odpowiedzi na pytanie .
Wszystkie istotne pytania powstały najpóźniej w chwili , a każde zostało wysłane przed otrzymaniem własnej odpowiedzi. Wspólny prefiks i to samo ostatnie pytanie ustalają więc wiadomość oraz wszystkie . Tylko jedno istotne wyzwanie się zmienia. Pozostałe odpowiedzi spoza podpisu mogą zmienić się w sufiksie.
Przygotowane akceptujące transkrypty w małej grupie. Drugi wynik obliczamy ze znanych sekretów przykładu. Nie symulujemy znalezienia fałszerstwa. Rysunek sprawdza warunki ekstrakcji.
Pierwszy przebieg
Drugi przebieg
Wynik ekstraktora
Pełny rachunek dla tego wariantu. Dla każdego wzorca ustalamy prefiks przed jego ostatnim indeksem i oznaczamy warunkową szansę sukcesu z tym wzorcem przez . Zdarzenia wyboru wzorców są rozłączne. Dokładnie jak w poprzednim lemacie:
Powtórzenie zmienianego wyzwania zabiera najwyżej . Zatem użyteczny fork ma prawdopodobieństwo co najmniej . Nie wystarcza zachowanie tylko ostatniego indeksu. Wtedy inne pozycje w końcowym podpisie mogłyby być inne.
Krok 6. Dokończ redukcję DL
Niech zmienioną pozycją będzie . Dzielimy dwa równania akceptacji. Wszystkie zobowiązania i wszystkie pozostałe potęgi kluczy skracają się:
Redukcja zwraca
Oba mianowniki są niezerowe. Sprawdzenie kończy algorytm. W opisanym eksperymencie dwóch gałęzi sukces jest co najmniej
To zamyka drogę od instancji DL przez symulację adaptacyjnych podpisów do ekstrakcji. Nie ma dodatkowego mnożnika , bo instancja została osadzona we wszystkich kluczach. Nie ma też gwarancji, że fork zakończy się sukcesem w jednej próbie.
Osobno: dokładny zakres historycznych stałych
W raporcie Herranza–Sáeza symbole liczą zapytania przeciwnika odpowiednio do Hash i Sign. To inna konwencja niż całkowita liczba losowań w naszym powyższym symulatorze. Autorzy używają symulatora z pomocniczym warunkowaniem na różne wyzwania, a potem ograniczają różnicę względem prawdziwego rozkładu. Nie przenosimy tej reguły do algorytmu podpisującego.
W Theorem 1 próg dla ataku bez podpisów wynosi , a oczekiwany czas uzyskania forka jest co najwyżej , gdzie . Dowód używa tego samego podziału na ciężkie klasy co Pointcheval–Stern, ale klasami są całe wzorce. Strata za nieodpytane hasze wynosi najwyżej , a pozwala zachować .
Theorem 2 dla chosen-message zakłada
Przy wymaganych w raporcie granicach masy zobowiązań trzy składniki kontroli kolizji mają następujące oszacowania:
| Zdarzenie w historycznej symulacji | Górna granica | Po użyciu progu |
|---|---|---|
| Symulowany punkt trafia wcześniejsze pytanie przeciwnika | ||
| Symulowany punkt trafia punkt innego podpisu | ||
| Dwa losowane wyniki hasza są równe |
Suma wynosi najwyżej , więc pozostaje co najmniej . Po zastosowaniu twierdzenia bez podpisów otrzymujemy
to koszt symulacji jednego podpisu. Parametr należy dobrać zgodnie z alfabetem i warunkami entropii twierdzenia. Dla wyzwań jednostajnych w wartość daje zachowawczą granicę trafienia, ale pozostałe warunki lematu nadal trzeba sprawdzić. Nie utożsamiamy automatycznie z pierwszą liczbą .
Ograniczenie istotne przy czytaniu publikacji: rośnie bardzo szybko. Dla stałego jest wielomianem w . Dla rosnącego nie musi nim być. Próg większy od jednego oznacza, że to oszacowanie nie daje informacji, a nie że znaleziono atak. Ani historycznego, ani naszego prostego rachunku nie nazywamy ciasną gwarancją dla dowolnie dużego pierścienia.
Źródło historycznego schematu, modelu i twierdzeń: Herranz–Sáez, §3 oraz §4. Podpis OR, ten podpis pierścieniowy i konstrukcje hierarchiczne mają wspólne idee, ale nie są jednym schematem z wymiennymi dowodami.
Okamoto: pełny dowód bezpieczeństwa identyfikacji
Cel: odporność na podszywanie się po aktywnym treningu. Przeciwnik najpierw rozmawia z prawdziwym użytkownikiem jako złośliwy weryfikator. Później próbuje sam przekonać uczciwego weryfikatora. Pokażemy, jak taki program wykorzystać do obliczenia logarytmu dyskretnego. Nie jest to jeszcze dowód niepodrabialności podpisu. Podpis Okamoto ma osobny eksperyment i osobną redukcję.
Pomysł składa się z dwóch kroków. Rewinding, czyli odtworzenie wcześniejszego stanu programu przeciwnika, dostarczy reprezentację klucza publicznego. Porównanie jej z reprezentacją zapamiętaną przez redukcję dostarczy logarytm jednego generatora względem drugiego. Trzeba udowodnić zarówno skuteczność pierwszego kroku, jak i to, że drugi nie zatrzyma się na tej samej parze wykładników.
1. Schemat, typy i jednorazowy stan
Grupa cykliczna ma pierwszy rząd . Parametry zawierają dwa generatory tej samej grupy, opis jej działań oraz jednoznaczne kodowania. Indeksy nie oznaczają grup pairingu. Wszystkie działania na skalarach wykonujemy w ciele . Działania na elementach zapisujemy potęgowo.
Setup wybiera generatory o rozkładzie przyjętym w problemie logarytmu dyskretnego. W szczególności jest jednostajnym elementem dla ustalonego . Istnieje takie, że , ale nie udostępniamy tego wykładnika. Trudność dotyczy jego obliczenia z publicznych parametrów. Nie zakładamy trudności dla dowolnej źle dobranej pary, na przykład publicznie ustalonego .
Identyfikacja jest krotką
i są maszynami interaktywnymi. Commit i Respond to kroki , a Challenge i Check to kroki . Klucz prywatny oznaczamy , publiczny przez . Nawias daje , gdy warunek zachodzi, i w przeciwnym razie.
| Procedura i wynik | Ciało oraz znaczenie |
|---|---|
| Losuj . Oblicz . Powtórz, jeżeli . | |
| Losuj niezależne . Oblicz i zachowaj . Wysyłasz tylko . | |
| Sprawdź klucz i zobowiązanie. Losuj . Zachowaj . | |
| Sprawdź . Oblicz dla . Zużyj . | |
| Po kontroli typów zwróć . |
Weryfikator sprawdza przynależność elementów do właściwej grupy, nieneutralność klucza i kanoniczne zakresy skalarów. Dopuszczamy oraz . Wykluczenie ich zmieniłoby rozkłady używane poniżej. Dla niepoprawnego komunikatu następuje odrzucenie. Jeden stan służy do jednej odpowiedzi.
Okamoto: dokładna obsługa aktywnego treningu
Redukcja w roli dowodzącego:
Przeciwnik w roli weryfikatora:
- Redukcja w roli dowodzącego, Commit: świeża para nonce:
- Redukcja w roli dowodzącego → Przeciwnik w roli weryfikatora: Zobowiązanie przed wyzwaniem
- Przeciwnik w roli weryfikatora, Dowolny wybór po otrzymaniu X: Może zależeć od całej historii.
- Przeciwnik w roli weryfikatora → Redukcja w roli dowodzącego: Przeciwnik wybiera wyzwanie
- Redukcja w roli dowodzącego, Respond: znana reprezentacja: Zużyj oba nonce. Nie potrzebujesz logarytmu baz.
- Redukcja w roli dowodzącego → Przeciwnik w roli weryfikatora: Dwie odpowiedzi skalarne
- Przeciwnik w roli weryfikatora, Zapamiętaj rozmowę: Następna sesja albo koniec treningu.
Diagram przedstawia trening w redukcji. Ten sam schemat rozmowy staje się uczciwą identyfikacją, gdy prawa strona losuje wyzwanie jednostajnie. W treningu przeciwnik ma większą swobodę i może wybrać dowolne poprawne wyzwanie po zobaczeniu .
Poprawność jest doskonała. Dla każdego dopuszczalnego klucza, każdej pary nonce i każdego wyzwania:
To uzasadnia akceptację uczciwego przebiegu. Samo równanie nie dowodzi jeszcze bezpieczeństwa.
2. Co dokładnie wolno przeciwnikowi?
Oznaczmy przeciwnika przez . Pierwsza część prowadzi trening, druga próbuje się podszyć. Współdzielą pamięć. Angielskie określenie impersonation under active attack oznacza tutaj podszywanie się po aktywnych sesjach treningowych.
- Ustawienie eksperymentu. Uruchom Setup i KeyGen. Przekaż przeciwnikowi . Klucz publiczny jest już wiarygodnie przypisany do użytkownika. Podmiana rejestru kluczy nie jest celem tego eksperymentu.
- Trening. Przeciwnik otwiera najwyżej kolejnych sesji z uczciwym . Otrzymuje , sam wybiera i otrzymuje . Każda sesja ma świeżą parę nonce. Może uzależniać kolejne decyzje od całej historii, przerwać rozmowę lub zakończyć trening wcześniej.
- Zamknięcie dostępu. Wszystkie sesje treningowe są zakończone albo porzucone. Przeciwnik nie ma już dostępu do i nie może wznowić porzuconej sesji. Nie otrzymuje sekretu, nonce ani prywatnej pamięci urządzenia.
- Podszycie. Przeciwnik wysyła własne , otrzymuje od uczciwego niezależne i odpowiada . Wygrywa wtedy i tylko wtedy, gdy Check zwróci .
Niech . Prawdopodobieństwo obejmuje parametry, klucz, losowość obu stron i wyzwanie końcowej sesji. Przeciwnik ma jawny wielomianowy limit czasu . Brak odpowiedzi w tym limicie oznacza przegraną. Dowód jest klasyczny, nie kwantowy.
Dlaczego zamykamy dostęp do dowodzącego? Gdy oszust mógłby podczas końcowej próby przekazywać wiadomości żywemu użytkownikowi, wykonałby relay, czyli przekazanie rozmowy bez poznania sekretu. Nasz eksperyment nie obiecuje odporności na takie pośrednictwo. Nie utożsamiamy też aktywnego treningu z możliwością resetowania uczciwego urządzenia.
3. Jeden klucz, dokładnie q reprezentacji
Dla zdefiniujmy zbiór reprezentacji
Niech . Jest to oznaczenie używane w analizie, nie polecenie obliczenia logarytmu przez redukcję. Równanie reprezentacji jest równoważne . Dla każdego istnieje dokładnie jedno . Stąd .
Jednostajne losowanie pary z daje jednostajny element grupy. Warunkowo przy ustalonym para jest jednostajna na . Odrzucenie neutralnego klucza w KeyGen nie zmienia tego wniosku dla żadnego dopuszczalnego . Daje jednostajny i nadal dokładnie równoprawdopodobnych sekretów dla tego .
Znajomość jednej poprawnej reprezentacji wystarcza do identyfikacji. Weryfikator nie rozstrzyga, czy jest to para wylosowana przy rejestracji. Ta wielość reprezentacji jest istotą redukcji, a nie błędem w definicji klucza.
4. Dlaczego aktywny trening nie wskazuje sekretnej pary?
Udowodnimy doskonałą nierozróżnialność świadków, po angielsku perfect witness indistinguishability, w skrócie WI. Świadkiem jest tu poprawna reprezentacja . Dla dowolnych pełny widok złośliwego weryfikatora ma dokładnie ten sam rozkład. To równość rozkładów, nie tylko brak znanego wydajnego testu.
Ustalmy publiczne , dotychczasowy widok i całą taśmę losową weryfikatora. Rozpatrzmy następną sesję. Commit wybiera jednostajnie z . Z poprzedniego punktu wynika dla każdego . Warunkowo przy konkretnym para jest jednostajna na .
Weryfikator widzi i wybiera . Po ustaleniu jego taśmy oraz to wyzwanie jest ustalone. Nie musi być losowe. Odwzorowanie
jest bijekcją. Równanie poprawności dowodzi, że wynik należy do wskazanego zbioru. Odwrotność odejmuje . Zatem odpowiedź jest jednostajna na . Ten zbiór zależy od publicznych , a nie od wybranego .
Przy deterministycznej strategii wyzwań każda zgodna ze strategią trójka ma prawdopodobieństwo . Jeden czynnik pochodzi z , drugi z odpowiedzi w zbiorze reprezentacji. Nie dokładamy czynnika za wyzwanie, ponieważ w aktywnym treningu wybiera je przeciwnik.
Niepoprawne wyzwanie lub przerwanie rozmowy również nie rozróżnia świadków. Jest decyzją zależną od tego samego widoku i otrzymuje identyczną obsługę. Stosując argument do kolejnych sesji, otrzymujemy indukcję po całej adaptacyjnej historii. W szczególności widok wraz z prywatną taśmą przeciwnika jest niezależny od tego, którą reprezentację zna dowodzący.
WI nie jest tym samym co wiedza zerowa. Dla uczciwego weryfikatora możemy dodatkowo podać symulator: wylosuj i oblicz . Bijekcja między i dowodzi równości rozkładów pełnych transkryptów. Każdy dopuszczalny ma prawdopodobieństwo . Jest to doskonała wiedza zerowa wobec uczciwego weryfikatora. Ten symulator wybiera jednak i nie jest naszym sposobem obsługi złośliwego weryfikatora. W dowodzie aktywnego bezpieczeństwa użyjemy WI oraz rzeczywiście znanej reprezentacji.
5. Redukcja zna sekret użytkownika, ale nie rozwiązanie DL
Problem discrete logarithm, czyli logarytmu dyskretnego, oznaczamy DL. Redukcja otrzymuje , gdzie jest nieznane. Jej zadaniem jest zwrócić właśnie . Nie dostaje wyroczni logarytmującej ani klucza obliczonego przez inną stronę.
sama wykonuje KeyGen, otrzymując i zapamiętaną parę . Przekazuje programowi . Każdą sesję treningową prowadzi uczciwie z użyciem . Potrafi odpowiedzieć na dowolne dozwolone wyzwanie, bo Respond nie potrzebuje . Rozkład parametrów, klucza i rozmów jest dokładnie taki jak w eksperymencie. Na symulacji treningu nie tracimy prawdopodobieństwa.
Znany sekret nie rozwiązuje sam problemu DL. Redukcja umie obliczyć , lecz nie zna . Dopiero druga, różna reprezentacja tego samego pozwoli wyeliminować tę niewiadomą.
6. Rewinding końcowej próby
Po zakończeniu treningu redukcja uruchamia . Zapisuje jego stan po wysłaniu poprawnego , przed wyzwaniem. Ustala całą taśmę losową przeciwnika, oznaczoną , także część zużywaną po wyzwaniu. Stan obejmuje tę taśmę. Przy danym odpowiedź na konkretne jest więc deterministyczna.
- Pierwsze wyzwanie:
- Odpowiedź z zapisanego stanu:
- Pierwsza kontrola:
- Odtworzenie i nowe wyzwanie:
- Odpowiedź z tego samego stanu:
- Druga kontrola:
- Wylosuj . Uzyskaj odpowiedź i sprawdź Check. Przy odrzuceniu zakończ bez wyniku.
- Odtwórz i tę samą taśmę przeciwnika. Wylosuj niezależne . Nie wykluczaj podczas losowania.
- Uzyskaj . Wymagaj akceptacji Check i . Inaczej zwróć , oznaczające niepowodzenie.
- Oblicz dla . Sprawdź i zachowaj .
Odtwarzamy kod przeciwnika w redukcji, nie uczciwe urządzenie. Trening został zakończony i jego transkrypty są takie same w obu gałęziach. Druga gałąź nie dostaje nowej odpowiedzi uczciwego pod starymi nonce. Takie ujawnienie zmieniłoby model i zniszczyłoby argument WI.
Dlaczego krok 4 działa? Dwie akceptacje dają
Dzielimy równania w grupie, eliminując to samo :
Ponieważ jest pierwsze i , istnieje odwrotność tej różnicy w . Podniesienie obu stron do tej potęgi daje . To special soundness, czyli możliwość wydobycia świadka z dwóch akceptujących rozmów ze wspólnym zobowiązaniem i różnymi wyzwaniami. Wydobywamy jakąś reprezentację , nie obiecujemy odzyskania oryginalnego .
7. Dokładnie skąd bierze się strata kwadratowa?
Dla ustalonego niech będzie zbiorem wyzwań, na które przeciwnik odpowiada poprawnie w limicie czasu. Definiujemy i . Dla przebiegu, który nie dotarł do poprawnego , przyjmujemy . Nie warunkujemy więc sukcesu na szczęśliwym dojściu do punktu cofnięcia.
Zdarzenie oznacza dwie akceptacje z różnymi wyzwaniami. Jest równoprawdopodobnych uporządkowanych par . Dokładnie z nich spełnia :
Sukces pojedynczego podszycia to . Nieujemność wariancji daje , więc
Wynik ujemny zastępujemy zerem. Dwie próby nie są niezależne bezwarunkowo, ponieważ współdzielą . Dlatego najpierw liczymy warunkowo przy , a dopiero potem uśredniamy. Sam zapis „dwa sukcesy, więc ” nie uzasadniałby rachunku.
Próg ma konkretne znaczenie. Oszust może wybrać , przygotować i odpowiedzieć tylko na . Wtedy , ale nie ma dwóch różnych akceptowanych wyzwań. To knowledge error, czyli błąd wiedzy protokołu. Nie jest to jeszcze prawdopodobieństwo trafienia w zapamiętaną reprezentację.
8. Dlaczego wydobyta para jest inna z prawdopodobieństwem 1 − 1/q?
Ustalmy . Z KeyGen wiemy, że jest jednostajna na . Z dowodu WI wiemy, że cały widok treningu wraz z taśmą przeciwnika jest od niej niezależny. Stan , obie odpowiedzi końcowe i wynik ekstrakcji są funkcjami tego widoku, taśmy oraz nowych wyzwań. Nie korzystają już z prywatnej pamięci uczciwego dowodzącego.
Niech oznacza te wszystkie dane dostępne ekstraktorowi, bez i bez prywatnych nonce treningowych. Również łączny widok obu gałęzi, a nie tylko każda gałąź z osobna, jest niezależny od przy ustalonych . Dla każdego , dla którego zachodzi, wydobyta należy do . Stąd
Warunkowanie na udanym cofnięciu nie wyróżnia sekretnej pary, bo jest już określone przez . Sumując po tych widokach, otrzymujemy dokładnie
To uzasadnia mnożenie przez . Nie wystarczyłoby powiedzieć, że „są różne klucze, więc raczej trafimy na inny”. Gdyby trening ujawniał wybraną parę albo obie gałęzie dostawały różne odpowiedzi z tego samego prywatnego stanu uczciwego urządzenia, powyższa niezależność nie zachodziłaby.
9. Dwie reprezentacje dają logarytm
Na zdarzeniu mamy . Podstawiamy i porównujemy wykładniki modulo :
Jeżeli , pierwsze równanie wymusza . Dlatego z wynika . Redukcja oblicza
i sprawdza . Otrzymuje rozwiązanie wejściowej instancji DL. Gdy , zwraca . Nie dzieli przez zero i nie ogłasza sukcesu tylko dlatego, że obie rozmowy były poprawne.
10. Twierdzenie, koszt i zakres wniosku
Twierdzenie. Dla każdego klasycznego przeciwnika działającego w opisanym modelu kolejnych aktywnych sesji treningowych, o sukcesie , istnieje redukcja do DL o prawdopodobieństwie sukcesu co najmniej
Dowód twierdzenia. Redukcja generuje klucz z poprawnego rozkładu i dokładnie obsługuje trening. Rachunek z punktu 7 daje zdarzenie z podaną dolną granicą. Punkt 8 mnoży jego prawdopodobieństwo przez . Punkt 9 zamienia każdy tak uzyskany przypadek w rozwiązanie DL. Nie ma dodatkowego zgadywania sesji ani pytania do hasza. Wszystkie potrzebne kroki zostały podane jawnie.
Poniższa tabela zbiera wszystkie straty. Symbol oznacza liczbę pytań do hasza, występującą w osobnych dowodach podpisów.
| Czynnik | Skąd pochodzi? |
|---|---|
| Dolna granica na średnią kwadratu warunkowej skuteczności przeciwnika. | |
| Odjęcie par z tym samym wyzwaniem, które nie dają odwrotności różnicy. | |
| Wydobyta reprezentacja nie jest jedną konkretną reprezentacją zapamiętaną przez redukcję. | |
| Brak czynnika | Trening obsługujemy w całości. Nie zgadujemy, która sesja będzie ważna. |
| Brak czynnika | Wyzwanie jest komunikatem weryfikatora, nie odpowiedzią wyroczni losowej. |
Tutaj nie ma ani interfejsu pytań do hasza, ani modelu wyroczni losowej. Używamy prostego rewindingu, a nie lematu o rozwidleniu pytań haszujących.
Koszt. Niech ogranicza koszt obsługi jednej sesji treningowej, koszt jednej kontroli, a koszt wytworzenia klucza. Konserwatywna granica czasu to . Uwzględnia ponowne wykonanie wspólnego prefiksu, gdy nie zapisujemy migawki pamięci. Przy migawce trening wystarczy wykonać raz. W mieszczą się dwie odwrotności skalarne, stała liczba działań na skalarach, kontrola wydobytej reprezentacji oraz sprawdzenie wyniku DL. Dla obu współrzędnych używamy tej samej odwrotności .
Odrzucanie neutralnego wymaga średnio prób KeyGen. Powyższy czas jest zatem oczekiwany, choć każda próba przeciwnika ma sztywny limit. Aby uzyskać sztywny limit także dla redukcji, przerwij KeyGen po próbach. Prawdopodobieństwo niepowodzenia wynosi dokładnie . Warunkowo przy sukcesie rozkład klucza pozostaje niezmieniony, więc dolną granicę sukcesu mnożymy przez . Dla , gdzie jest parametrem bezpieczeństwa, ta dodatkowa strata jest znikoma.
Jeżeli rośnie wykładniczo z , a jest nieznikome, dolna granica sukcesu DL też jest nieznikoma. Przy założeniu trudności DL taki przeciwnik nie istnieje. To jest właściwy wniosek o bezpieczeństwie identyfikacji w ustalonym modelu, a nie bezwarunkowa gwarancja dla każdego urządzenia i sieci.
Wcześniejszy dowód Schnorra pod zwykłym założeniem DL obejmował pasywne otrzymywanie transkryptów. Tutaj uzasadniliśmy więcej: przeciwnik sam wybiera wyzwania podczas treningu. Dodatkowa reprezentacja i WI umożliwiają tę zmianę modelu. Nie jest to twierdzenie, że Schnorr nie ma dowodów w innych modelach i przy innych założeniach.
11. Cały rachunek na małych liczbach
Poniższa grupa jest celowo mała i nie zapewnia bezpieczeństwa. Używamy jej wyłącznie do prześledzenia rachunku. Niech ma rząd , i . W eksperymencie redukcja dostałaby , ale nie znałaby .
Wybierzmy zapamiętaną parę . Wtedy . Inna poprawna reprezentacja to , ponieważ . Dla zobrazowania ekstrakcji przyjmijmy program odpowiadający z użyciem tej drugiej pary i nonce . Nie twierdzimy, że znaleźliśmy atak w dużej grupie.
| Wielkość | Pierwsza gałąź | Druga gałąź |
|---|---|---|
| Wspólne zobowiązanie | ||
| Wyzwanie | ||
| Pierwsza odpowiedź | ||
| Druga odpowiedź | ||
| Lewa strona Check, modulo | ||
| Prawa strona Check, modulo |
Neutralne zobowiązanie jest w tym profilu dozwolone. nie oznacza neutralnego klucza. Tu . Ponieważ i , odzyskujemy
Druga odwrotność dotyczy . Otrzymujemy
Przy pełna skuteczność przeciwnika, czyli , dawałaby w tej redukcji . Pierwszy czynnik usuwa równe wyzwania, drugi trafienie w zapamiętaną reprezentację. Są to różne zdarzenia i wymagają różnych argumentów. Dla rzeczywistych parametrów oba czynniki są bliskie jedności, ale strata kwadratowa w pozostaje.
12. Co trzeba zachować, żeby ten dowód nadal działał?
- Świeżość obu nonce. Dwie odpowiedzi uczciwego urządzenia z tego samego stanu i na różne wyzwania ujawniają jego własne . W dowodzie cofamy wyłącznie przeciwnika.
- Jednostajne losowanie. WI opiera się na dokładnych rozkładach na zbiorach reprezentacji. Stronniczy generator lub dodatkowy wyciek wymaga nowej analizy.
- Ustalony, wiarygodny klucz. Parametry i rejestr tożsamości nie mogą być dowolnie podmieniane przez przeciwnika. Dwa generatory same w sobie nie uwierzytelniają właściciela.
- Jawny model sesji. Udowodniliśmy wariant z kolejnymi sesjami treningowymi i zamknięciem dostępu przed podszyciem. Nie wyprowadzamy stąd odporności na dowolny atak pośrednika ani reset.
- Brak automatycznego przenoszenia na inne konstrukcje. Zmodyfikowany Okamoto używa odpowiedzi grupowych i pairingów. Powyższy ekstraktor odejmuje skalary, więc nie stanowi dowodu tej modyfikacji.
Związek z podpisem. W identyfikacji redukcja wybiera drugi komunikat weryfikatora. Po transformacie Fiata–Shamira wyzwanie zależy od hasza wiadomości i zobowiązania. Wtedy trzeba symulować podpisywanie, zadbać o wspólny argument hasza i policzyć skuteczność rozwidlenia. Tych obowiązków nie zastępuje samo WI. Dlatego dowód podpisu Okamoto następuje osobno.
References
- Tatsuaki Okamoto, Provably Secure and Practical Identification Schemes and Corresponding Signature Schemes, CRYPTO 1992, LNCS 740, s. 31–53. Źródło konstrukcji i klasycznej idei redukcji.
- Mihir Bellare, Sarah Shoup, Two-Tier Signatures, Strongly Unforgeable Signatures, and Fiat-Shamir without Random Oracles, pełna wersja, §5.3, rys. 6 i Proposition 5.3. Zapisano tam równoważną konwencję z odwrotnością naszego klucza publicznego. Argument dwóch reprezentacji i WI stosowany jest do innego, silniejszego eksperymentu ekstrakcji. Nie utożsamiamy jego granicy z wyprowadzonym tutaj rachunkiem podszycia.
Powyżej podaliśmy samodzielne wyprowadzenie dla dokładnie określonego profilu kursowego: wyzwania z całego , nieneutralny klucz i dwa wykonania końcowej próby. Stałe wynikają z jawnego liczenia par wyzwań oraz reprezentacji, a nie z przytoczenia innego twierdzenia bez sprawdzenia jego modelu.
Od identyfikacji Okamoto do podpisu: osobna redukcja EUF-CMA
Powyższa redukcja dotyczy identyfikacji po aktywnym treningu. Podpis musi dodatkowo zastąpić wyzwanie haszem i obsłużyć żądania podpisów. Nie wolno nazwać samej ekstrakcji z dwóch transkryptów pełnym dowodem podpisu.
Schemat, model i miejsce trudnej instancji
Przyjmujemy tę samą grupę, z nieznanym oraz losową reprezentację . Podpisujący losuje , wyznacza , a następnie
Podpis to , a weryfikacja sprawdza . Model EUF-CMA, klasyczny ROM i świeżość wiadomości są takie jak w redukcji dla podpisu Schnorra. Redukcja dostaje instancję DL , sama wybiera reprezentację i przekazuje .
Symulator niezależny od zapamiętanej reprezentacji
W tej redukcji celowo nie podpisujemy znaną parą sekretów. Losujemy niezależnie i obliczamy
Przerywamy przy zajętym wejściu hasza. W przeciwnym razie zapisujemy we wspólnej tabeli i zwracamy podpis. Losowość tego symulatora nie zależy od , gdy jest ustalone. To ważne nie tylko dla jednej gałęzi. Przy forku odtwarzamy tę samą prywatną taśmę symulatora, więc obie gałęzie łącznie nadal nie zależą od wybranej reprezentacji.
Dla świeżego wejścia przesunięcie jest bijekcją na . Otrzymujemy rozkład uczciwego podpisu. Dla ustalonych jednostajne daje jednostajne . Konflikty programowania mają zatem tę samą granicę co u Schnorra. Sukces bez pytania o świeże wejście ma granicę , bo jest niejednostkowe.
Fork, inna reprezentacja i ostatni czynnik
Stosujemy lemat o rozwidleniu z , i . Wspólny istotny indeks ustala . Z odpowiedzi pod różnymi wyznaczamy przez dwa ilorazy skalarne z ekstrakcji Okamoto.
Ustalmy . Zapamiętana para jest jednostajna wśród dokładnie reprezentacji . Wszystkie dane użyte przez symulator i ekstraktor, poza tą zapamiętaną parą, zależą tylko od publicznych parametrów i niezależnych taśm. Warunkowanie na sukces forka nie zmienia tego faktu. Prawdopodobieństwo, że wydobyta para jest właśnie zapamiętaną, wynosi więc .
W pozostałych przypadkach liczymy i sprawdzamy . Cała redukcja ma dolną granicę sukcesu
Dlaczego ten szczegół był potrzebny? Powtarzanie prawdziwego podpisującego z tą samą losowością, ale zmienionymi wyzwaniami, mogłoby ujawnić jego reprezentację między gałęziami. Nie uzasadnialibyśmy wtedy czynnika samą nierozróżnialnością jednej rozmowy. Symulator używający tylko publicznego usuwa tę lukę w rozumowaniu.
Jest to dydaktyczna redukcja dla jawnie zdefiniowanego podpisu Fiat–Shamir w ROM. Oryginalna konstrukcja i technika reprezentacji pochodzą od Okamoto, CRYPTO 1992. Argument nierozróżnialności świadków omawiają również Bellare–Shoup, §5.3. Ich twierdzenia o podpisach dwupoziomowych mają inny model i nie są nazwą powyższego twierdzenia.