BLOK 26 · 2 godz. RSA SSL/TLS Kompresja Sieci

Bezpieczeństwo: RSA, SSL/TLS, kompresja, protokoły sieciowe

Informatyka Rozszerzona · Klasa 4 · Semestr II · Blok 26/30

1. Szyfrowanie kluczem publicznym (RSA) — idea

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).

Matematyczny fundament

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.

Uproszczony schemat działania

  1. Odbiorca generuje parę kluczy: publiczny (n, e) i prywatny (n, d), na bazie dwóch dużych liczb pierwszych p i q.
  2. Nadawca szyfruje wiadomość kluczem publicznym odbiorcy: szyfrogram = wiadomość^e mod n.
  3. Tylko odbiorca, znający klucz prywatny d, może odszyfrować: wiadomość = szyfrogram^d mod n.

2. Podpis elektroniczny

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.

3. SSL/TLS — bezpieczna komunikacja w sieci

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).

EtapCo się dzieje
1. Uzgodnienie (handshake)Przeglądarka i serwer uzgadniają wspólny, tajny klucz symetryczny, wykorzystując kryptografię klucza publicznego
2. Weryfikacja certyfikatuSerwer przedstawia certyfikat potwierdzający jego tożsamość, podpisany przez zaufany urząd certyfikacji
3. TransmisjaDalsza komunikacja jest szyfrowana szybkim kluczem symetrycznym

4. Kompresja danych — stratna i bezstratna

TypZasadaPrzykłady formatów
BezstratnaPo dekompresji dane są identyczne z oryginałem — bit po bicieZIP, PNG, FLAC
StratnaCzęść informacji jest trwale usuwana (niedostrzegalna dla oka/ucha), aby uzyskać mniejszy rozmiarJPEG, MP3, MP4

Kiedy nie wolno stosować kompresji stratnej?

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.

5. Podstawowe protokoły sieciowe

ProtokółZastosowanie
HTTP / HTTPSPrzesyłanie stron internetowych (HTTPS = HTTP + szyfrowanie TLS)
FTPTransfer plików między komputerami
SMTP / IMAP / POP3Wysyłanie i odbieranie poczty elektronicznej
TCP/IPFundamentalny zestaw protokołów odpowiadający za adresowanie i niezawodne dostarczanie pakietów w internecie
DNSTłumaczenie nazw domen (np. toloki.pl) na adresy IP

6. Ćwiczenia praktyczne

Ćwiczenie 1 — mini-RSA na małych liczbach

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.

Ćwiczenie 2 — sprawdź certyfikat strony

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ę.

Sprawdź wiedzę

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?

Podsumowanie bloku