Kryptosystem Pailliera
Kryptosystem Pailliera , wynaleziony i nazwany na cześć Pascala Pailliera w 1999 roku, jest probabilistycznym algorytmem asymetrycznym do kryptografii klucza publicznego . Uważa się , że problem obliczenia n -tych klas reszt jest trudny obliczeniowo. Założenie decyzyjnej złożonej resztowości jest hipotezą trudności , na której opiera się ten kryptosystem.
Schemat jest addytywnym homomorficznym kryptosystemem ; oznacza to, że mając tylko klucz publiczny i szyfrowanie i m można obliczyć szyfrowanie .
Algorytm
Schemat działa w następujący sposób:
Generowanie klucza
- duże liczby pierwsze niezależnie od siebie tak, że . Ta właściwość jest zapewniona, jeśli obie liczby pierwsze są równej długości.
- Oblicz i . lcm oznacza najmniejszą wspólną wielokrotność .
- całkowitą gdzie
- Upewnij się, że dzieli rząd istnienie następującej modułowej odwrotności multiplikatywnej : ,
- gdzie funkcja jest zdefiniowana jako .
- że notacja nie oznacza modularnego mnożenia multiplikatywną odwrotność b raczej iloraz , . największą liczbę całkowitą, spełnić relację .
- Klucz publiczny (szyfrujący) to .
- Klucz prywatny (odszyfrowywania) to
W przypadku użycia p, q o równoważnej długości, prostszym wariantem powyższych etapów generowania klucza byłoby ustawienie i , gdzie . Prostszy wariant jest zalecany do celów implementacyjnych, ponieważ w postaci czas obliczeń może bardzo długi przy wystarczająco dużych liczbach pierwszych p, q.
Szyfrowanie
- Niech będzie wiadomością do zaszyfrowania gdzie
- Wybierz losowo gdzie 1
- Oblicz zaszyfrowany tekst jako:
Deszyfrowanie
- Niech będzie tekstem zaszyfrowanym do odszyfrowania, gdzie do
- Oblicz wiadomość w postaci zwykłego tekstu jako:
Jak wskazuje oryginalny artykuł, deszyfrowanie to „w zasadzie jedno potęgowanie modulo ”.
Właściwości homomorficzne
Godną uwagi cechą kryptosystemu Pailliera są jego homomorficzne właściwości wraz z niedeterministycznym szyfrowaniem (patrz Głosowanie elektroniczne w Aplikacjach do użytku). Ponieważ funkcja szyfrowania jest addytywnie homomorficzna, można opisać następujące tożsamości:
- Homomorficzne dodawanie tekstów jawnych
- Iloczyn dwóch zaszyfrowanych tekstów zostanie odszyfrowany do sumy odpowiadających im tekstów jawnych,
- Iloczyn tekstu zaszyfrowanego z podniesieniem tekstu jawnego do sumy odpowiednich tekstów jawnych,
- Homomorficzne mnożenie tekstów jawnych
- Zaszyfrowany tekst podniesiony do potęgi tekstu jawnego zostanie odszyfrowany do iloczynu dwóch tekstów jawnych,
- Mówiąc bardziej ogólnie, tekst zaszyfrowany podniesiony do stałej k zostanie odszyfrowany do iloczynu tekstu jawnego i stałej,
Jednak biorąc pod uwagę szyfrowanie Pailliera dwóch wiadomości, nie ma znanego sposobu obliczenia szyfrowania iloczynu tych wiadomości bez znajomości klucza prywatnego.
Tło
Kryptosystem Pailliera wykorzystuje fakt, że pewne dyskretne logarytmy można łatwo obliczyć.
Na przykład przez twierdzenie dwumianowe ,
Oznacza to, że:
Dlatego jeśli:
Następnie
- .
Zatem:
- ,
- gdzie funkcja jest zdefiniowana jako iloraz dzielenie całkowite) i .
Bezpieczeństwo semantyczne
Oryginalny system kryptograficzny pokazany powyżej zapewnia bezpieczeństwo semantyczne przed atakami z użyciem wybranego tekstu jawnego ( IND-CPA ). Zdolność do pomyślnego rozróżnienia tekstu zaszyfrowanego prowokacji jest zasadniczo równoznaczna ze zdolnością do decydowania o złożonej pozostałości. , że tak zwane decyzyjne założenie złożonej resztowości (DCRA) jest trudne do rozwiązania.
Jednak ze względu na wyżej wymienione właściwości homomorficzne system jest plastyczny , a zatem nie ma najwyższego poziomu bezpieczeństwa semantycznego, ochrony przed atakami adaptacyjnego wybranego tekstu zaszyfrowanego ( IND-CCA2 ). Zwykle w kryptografii pojęcie plastyczności nie jest postrzegane jako „zaleta”, ale w niektórych zastosowaniach, takich jak bezpieczne głosowanie elektroniczne i kryptosystemy progowe , ta właściwość może być rzeczywiście konieczna.
Paillier i Pointcheval zaproponowali jednak ulepszony kryptosystem, który zawiera kombinację mieszania wiadomości m z losowym r . Podobnie jak w kryptosystemie Cramera-Shoupa , haszowanie uniemożliwia atakującemu, któremu podano tylko c, zmianę m w znaczący sposób. Dzięki tej adaptacji można wykazać, że ulepszony schemat jest bezpieczny dla IND-CCA2 w losowym modelu wyroczni .
Aplikacje
Głosowanie elektroniczne
0 Bezpieczeństwo semantyczne nie jest jedyną kwestią. Istnieją sytuacje, w których plastyczność może być pożądana. Powyższe homomorficzne właściwości mogą być wykorzystane przez bezpieczne elektroniczne systemy głosowania. Rozważ proste głosowanie binarne („za” lub „przeciw”). Niech m wyborców odda głos 1 (za) lub (przeciw). Każdy głosujący szyfruje swój wybór przed oddaniem głosu. Urzędnik wyborczy bierze iloczyn m zaszyfrowanych głosów, a następnie odszyfrowuje wynik i otrzymuje wartość n , czyli suma wszystkich głosów. Urzędnik wyborczy wie wtedy, że n osób głosowało za i mn osób głosowało przeciw . Rola losowego r gwarantuje, że dwa równoważne głosy zostaną zaszyfrowane do tej samej wartości tylko z znikomym prawdopodobieństwem, zapewniając w ten sposób prywatność wyborcy.
Elektroniczna gotówka
Inną cechą wymienioną w artykule jest pojęcie samooślepiania . Jest to możliwość zamiany jednego zaszyfrowanego tekstu na inny bez zmiany treści jego deszyfrowania. Ma to zastosowanie do rozwoju ecash , inicjatywy, której oryginalnie zainicjował David Chaum . Wyobraź sobie, że płacisz za przedmiot online, a sprzedawca nie musi znać numeru Twojej karty kredytowej, a tym samym Twojej tożsamości. Celem zarówno elektronicznego głosowania gotówkowego, jak i elektronicznego głosowania jest zapewnienie ważności e-monety (podobnie jak e-głosowania), przy jednoczesnym nieujawnianiu tożsamości osoby, z którą jest aktualnie powiązana.
Kryptosystem progowy
Homomorficzna właściwość kryptosystemu Pailliera jest czasami wykorzystywana do budowy podpisu Threshold ECDSA.
Zobacz też
- Kryptosystem Naccache – Sterna i kryptosystem Okamoto – Uchiyama są historycznymi poprzednikami Pailliera.
- Damgårda -Jurika jest uogólnieniem Pailliera.
- Paillier, Pascal (1999). „Kryptosystemy klucza publicznego oparte na klasach pozostałości stopnia złożonego” (PDF) . Postępy w kryptologii — EUROCRYPT '99. EUROKRYPT . Skoczek. doi : 10.1007/3-540-48910-X_16 .
- Paillier, Pascal; Pointcheval, David (1999). „Wydajne systemy kryptograficzne z kluczem publicznym, które są bezpiecznie zabezpieczone przed aktywnymi przeciwnikami” . AZJAKRYPT . Skoczek. s. 165–179. doi : 10.1007/978-3-540-48000-6_14 .
- Paillier, Pascal (1999). Cryptosystems Based on Composite Residuosity (praca doktorska). École Nationale Supérieure des Télécommunications.
- Paillier, Pascal (2002). „Kryptografia oparta na pozostałościach kompozytowych: przegląd” (PDF) . CryptoBytes . 5 (1). Zarchiwizowane od oryginału (PDF) w dniu 20 października 2006 r.
Notatki
Linki zewnętrzne
- Homomorphic Encryption Project implementuje kryptosystem Pailliera wraz z jego homomorficznymi operacjami.
- Encounter: biblioteka typu open source zapewniająca implementację kryptosystemu Pailliera i opartą na nim konstrukcję liczników kryptograficznych.
- python-paillier biblioteka do częściowego szyfrowania homomorficznego w Pythonie, w tym pełna obsługa liczb zmiennoprzecinkowych.
- Interaktywny symulator kryptosystemu Paillier demonstruje aplikację do głosowania.
- Interaktywna demonstracja kryptosystemu Paillier.
- Weryfikacja koncepcji implementacji Javascript kryptosystemu Paillier z interaktywną demonstracją .
- Film googletechtalk na temat głosowania przy użyciu metod kryptograficznych.
- Ruby implementacja dodatku homomorficznego Pailliera i protokół dowodu zerowej wiedzy ( dokumentacja )