W przeciwieństwie do szyfru Cezara (Blok 06), gdzie ten sam klucz służy do szyfrowania i deszyfrowania, RSA używa pary kluczy: publicznego (do szyfrowania, może znać każdy) i prywatnego (do deszyfrowania, znany tylko odbiorcy).
Bezpieczeństwo RSA opiera się na tym, że łatwo jest pomnożyć dwie duże liczby pierwsze, ale bardzo trudno rozłożyć ich iloczyn z powrotem na czynniki pierwsze (Blok 10!). Klucz publiczny zawiera ten iloczyn; złamanie szyfru wymagałoby jego faktoryzacji, co dla liczb o setkach cyfr jest obliczeniowo niewykonalne w rozsądnym czasie nawet dla najszybszych komputerów.
szyfrogram = wiadomość^e mod n.wiadomość = szyfrogram^d mod n.RSA działa też "w drugą stronę": nadawca może zaszyfrować (podpisać) wiadomość swoim kluczem prywatnym. Każdy, kto zna klucz publiczny nadawcy, może zweryfikować podpis — potwierdzając, że wiadomość rzeczywiście pochodzi od tej osoby i nie została zmieniona.
TLS (następca SSL) to protokół zabezpieczający komunikację w internecie — to dzięki niemu adres zaczyna się od https:// zamiast http://. Łączy szyfrowanie asymetryczne (RSA lub podobne, do bezpiecznej wymiany klucza) z szybszym szyfrowaniem symetrycznym (do właściwej transmisji danych).
| Etap | Co się dzieje |
|---|---|
| 1. Uzgodnienie (handshake) | Przeglądarka i serwer uzgadniają wspólny, tajny klucz symetryczny, wykorzystując kryptografię klucza publicznego |
| 2. Weryfikacja certyfikatu | Serwer przedstawia certyfikat potwierdzający jego tożsamość, podpisany przez zaufany urząd certyfikacji |
| 3. Transmisja | Dalsza komunikacja jest szyfrowana szybkim kluczem symetrycznym |
| Typ | Zasada | Przykłady formatów |
|---|---|---|
| Bezstratna | Po dekompresji dane są identyczne z oryginałem — bit po bicie | ZIP, PNG, FLAC |
| Stratna | Część informacji jest trwale usuwana (niedostrzegalna dla oka/ucha), aby uzyskać mniejszy rozmiar | JPEG, MP3, MP4 |
Do plików tekstowych, kodu źródłowego, danych finansowych czy medycznych — gdzie utrata nawet pojedynczego bitu zmienia znaczenie danych. Kompresja stratna nadaje się wyłącznie tam, gdzie odbiorca (oko, ucho) i tak nie zauważy drobnej utraty jakości.
| Protokół | Zastosowanie |
|---|---|
| HTTP / HTTPS | Przesyłanie stron internetowych (HTTPS = HTTP + szyfrowanie TLS) |
| FTP | Transfer plików między komputerami |
| SMTP / IMAP / POP3 | Wysyłanie i odbieranie poczty elektronicznej |
| TCP/IP | Fundamentalny zestaw protokołów odpowiadający za adresowanie i niezawodne dostarczanie pakietów w internecie |
| DNS | Tłumaczenie nazw domen (np. toloki.pl) na adresy IP |
Dla uproszczonego przykładu: p=3, q=11 (n=33), klucz publiczny e=3, klucz prywatny d=7. Zaszyfruj liczbę wiadomość=4 wzorem 4³ mod 33, a następnie odszyfruj wynik wzorem szyfrogram⁷ mod 33, sprawdzając, że otrzymasz z powrotem 4.
Szyfrowanie: 4³ = 64, 64 mod 33 = 31. Deszyfrowanie: 31⁷ mod 33 = 4 — wiadomość odzyskana poprawnie.
Kliknij ikonę kłódki w pasku adresu w przeglądarce na dowolnej stronie https:// i sprawdź szczegóły certyfikatu: kto go wydał, dla jakiej domeny i do kiedy jest ważny. Wyjaśnij własnymi słowami, po co ta informacja jest weryfikowana przez przeglądarkę.
1. Na czym opiera się bezpieczeństwo szyfrowania RSA?
2. Czym różni się kompresja stratna od bezstratnej?
3. Do czego służy protokół DNS?