Para kluczy w praktyce – jak działa RSA, na czym opiera się jego bezpieczeństwo i czym różni się szyfrowanie od podpisywania.
RSA to najbardziej znany algorytm asymetryczny. Jego bezpieczeństwo opiera się na prostej obserwacji: pomnożenie dwóch dużych liczb pierwszych jest łatwe, ale rozłożenie wyniku z powrotem na czynniki jest praktycznie niewykonalne, gdy liczby mają setki cyfr.
Klucz publiczny i prywatny powstają razem, z tej samej pary liczb pierwszych. Są matematycznie powiązane, ale z klucza publicznego nie da się w rozsądnym czasie wyliczyć prywatnego – i na tym opiera się cały system.
Kluczowa jest symetria ról. Para działa w obie strony i od tego, którego klucza użyjemy, zależy sens operacji.
Ta sama para kluczy służy do dwóch różnych celów:
Reguła jest więc prosta: szyfrujesz dla kogoś – używasz jego klucza publicznego; podpisujesz się – używasz swojego prywatnego.
Warto porównać to z historycznym szyfrem Cezara, gdzie klucz był jeden i znany obu stronom.
Najczęściej pytane jest właśnie to rozróżnienie: którym kluczem szyfrujemy, a którym podpisujemy. Zamiana ról to najczęstszy błąd.
Drugi typ pytania dotyczy podstawy bezpieczeństwa RSA – odpowiedzią jest trudność rozkładu dużej liczby na czynniki pierwsze.
Cała para przestaje być wiarygodna – trzeba ją unieważnić i wygenerować nową. Ktoś z tym kluczem może odszyfrować wiadomości i podszywać się pod właściciela.
Bo czas potrzebny na złamanie rośnie gwałtownie z długością. Klucze uznawane kiedyś za wystarczające są dziś za krótkie wobec szybszych komputerów.
Teoretycznie tak, przez rozkład na czynniki – w praktyce dla odpowiednio długich kluczy zajęłoby to czas nie do przyjęcia. Realne włamania biorą się z błędów wdrożenia, nie z matematyki.
Zagadnienia z tego samego obszaru matury – warto je powtórzyć razem: