P: Jeśli pedałujesz na rybie do tyłu, to czy ona cofa się?
Odp .: ???
Ryba to nie rower. Podobnie nie można użyć klucza prywatnego do zaszyfrowania wiadomości ani klucza publicznego do odszyfrowania wiadomości. Nie mają odpowiedniego sprzętu.
Z RSA , który jest popularnym kryptosystemem z kluczem publicznym, ale nie jedynym, klucz prywatny i klucz publiczny mają te same właściwości matematyczne, więc można je stosować zamiennie w algorytmach. (Nie mają one jednak tych samych właściwości bezpieczeństwa - klucz publiczny jest zazwyczaj łatwo odgadnąć na podstawie klucza prywatnego.) Możesz wziąć algorytm szyfrowania RSA i podać mu klucz prywatny lub algorytm deszyfrowania RSA i podać go jako publiczny klucz. Jednak wyniki nie są znaczące zgodnie ze standardowymi algorytmami.
Ta symetria między kluczami publicznymi a kluczami prywatnymi nie obejmuje większości innych kryptosystemów z kluczami publicznymi. Zasadniczo klucz publiczny nie jest odpowiednim typem obiektu matematycznego do użycia w algorytmie deszyfrowania, a klucz prywatny nie jest odpowiednim typem obiektu matematycznego do zastosowania w algorytmie szyfrowania.
To powiedziawszy, kryptosystemy klucza publicznego oparte są na koncepcji funkcji zapadni . Funkcja jednokierunkowa jest funkcją łatwą do obliczenia, ale której odwrotność jest trudna do obliczenia. Funkcja zapadni jest jak funkcja jednokierunkowa, ale istnieje „magiczna” wartość, która sprawia, że odwrotność jest łatwa do obliczenia.
Jeśli masz funkcję zapadni, możesz jej użyć do stworzenia algorytmu szyfrowania klucza publicznego: idąc naprzód (w łatwym kierunku), funkcja szyfruje; cofając się (w twardym kierunku), funkcja odszyfrowuje. Magiczną wartością wymaganą do odszyfrowania jest klucz prywatny.
Jeśli masz funkcję zapadni, możesz jej również użyć do stworzenia algorytmu podpisu cyfrowego : cofanie się (w twardym kierunku), funkcja podpisuje się ; idąc naprzód (w łatwym kierunku), funkcja weryfikuje podpis. Po raz kolejny magiczną wartością wymaganą do podpisania jest klucz prywatny.
Funkcje zapadni zwykle występują w rodzinach; dane niezbędne do określenia jednego konkretnego elementu rodziny to klucz publiczny.
Mimo że szyfrowanie klucza publicznego i podpisy cyfrowe oparte są na tych samych pojęciach, nie są one ściśle identyczne. Na przykład funkcja zapadni RSA polega na trudności cofnięcia mnożenia, chyba że znasz już jeden z czynników. Istnieją dwie popularne rodziny schematów szyfrowania klucza publicznego oparte na RSA , znane jako PKCS # 1 v1.5 i OAEP. Istnieją również dwie popularne rodziny schematów podpisów cyfrowych opartych na RSA, znane jako PKCS # 1 v1.5 i PSS. Dwa „PKCS # 1 v1.5” mają podobne konstrukcje, ale nie są identyczne. Ta odpowiedź Thomasa Pornina i ta Maarten Bodewes zawierają szczegółowe informacje na temat różnicy między podpisem / weryfikacją a deszyfrowaniem / szyfrowaniem w przypadku RSA.
Strzeż się, że niektóre świeckie prezentacje kryptografii z kluczem publicznym podszywają się pod cyfrowy podpis i weryfikację jako deszyfrowanie i szyfrowanie, z powodów historycznych: RSA zostało spopularyzowane jako pierwsze, a podstawowa obsługa RSA jest symetryczna. (Podstawowa operacja RSA, znana jako „podręcznik RSA”, jest jednym z kroków algorytmu podpisu / weryfikacji / szyfrowania / deszyfrowania RSA, ale sama w sobie nie stanowi algorytmu podpisu, weryfikacji, szyfrowania lub deszyfrowania.) są symetryczne z widoku 10000 stóp, ale nie są symetryczne po wejściu w szczegóły.
Zobacz także Zmniejszenie liczby podpisów do szyfrowania? , co wyjaśnia, że możesz zbudować schemat szyfrowania na podstawie schematu podpisu, ale tylko pod pewnymi warunkami.