Szyfrowanie asymetryczne: RSA i krzywe eliptyczne
Poznają Państwo pary kluczy publicznych i prywatnych, zasady działania RSA oraz powody, dla których ECC jest wydajniejsze.
Szyfrowanie asymetryczne: RSA i krzywe eliptyczne to bezpłatna lekcja Cyber Security Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cyber Security Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.
Czym jest szyfrowanie asymetryczne
Szyfrowanie asymetryczne wykorzystuje matematycznie powiązaną parę kluczy: klucz publiczny (udostępniany bez ograniczeń) i klucz prywatny (utrzymywany w tajemnicy). Dane zaszyfrowane kluczem publicznym można odszyfrować wyłącznie za pomocą klucza prywatnego i odwrotnie.
RSA: podstawa
RSA (Rivest–Shamir–Adleman, 1977) opiera się na trudności rozkładania dużych liczb na czynniki pierwsze. Bezpieczeństwo zależy od rozmiaru klucza: RSA-2048 to obecne minimum, a RSA-4096 stosuje się w rozwiązaniach o wysokim poziomie bezpieczeństwa. RSA jest wolniejszy niż szyfrowanie symetryczne — służy do wymiany kluczy, a nie do szyfrowania dużych ilości danych.
Generowanie kluczy RSA
Generowanie kluczy RSA:
# Generate 4096-bit RSA key pair:
openssl genrsa -out private.pem 4096
openssl rsa -in private.pem -pubout -out public.pem
# View key details:
openssl rsa -in private.pem -text -nooutKryptografia krzywych eliptycznych (ECC)
ECC zapewnia poziom bezpieczeństwa porównywalny z RSA przy znacznie mniejszych rozmiarach kluczy. Klucz ECC o długości 256 bitów odpowiada mniej więcej kluczowi RSA o długości 3072 bitów. Mniejsze klucze oznaczają szybsze operacje i mniejsze zużycie przepustowości — ma to kluczowe znaczenie podczas uzgadniania połączeń TLS i na urządzeniach mobilnych.
Popularne krzywe eliptyczne
Najczęściej używane krzywe:
- P-256 (secp256r1) — standard NIST używany w TLS
- X25519 — zaprojektowana przez Bernsteina, zapewnia wydajną wymianę kluczy i nie budzi obaw patentowych
- Ed25519 — schemat podpisu EdDSA używany w kluczach SSH
Szyfrowanie hybrydowe
W praktyce szyfrowanie asymetryczne i symetryczne łączy się:
- Asymetryczne: zaszyfrowanie losowego klucza symetrycznego kluczem publicznym odbiorcy
- Symetryczne: zaszyfrowanie właściwych danych za pomocą tego klucza
Tak działa TLS: RSA/ECDH negocjuje klucze sesji, a AES szyfruje dane sesji.
Wymiana klucza Diffiego-Hellmana
Diffie-Hellman (DH) umożliwia dwóm stronom ustanowienie wspólnego sekretu przez niezabezpieczony kanał bez wymiany klucza. Wspólny sekret służy do wyprowadzenia symetrycznego klucza sesji. ECDH (Elliptic Curve DH) to nowoczesny wariant używany w TLS 1.3.
Doskonała tajność przekazywania
Doskonała tajność przekazywania (PFS): każda sesja wykorzystuje efemeryczne klucze DH, które są usuwane po użyciu. Nawet jeśli klucz prywatny serwera zostanie później przejęty, nie można odszyfrować wcześniej zarejestrowanych sesji. TLS 1.3 wymaga PFS; w TLS 1.2 należy szukać zestawów szyfrów ECDHE.
RSA do szyfrowania a RSA do podpisywania
RSA służy do dwóch celów:
- Szyfrowanie: szyfrowanie kluczem publicznym → tylko posiadacz klucza prywatnego może odszyfrować dane
- Podpisywanie: podpisywanie kluczem prywatnym → każdy, kto ma klucz publiczny, może zweryfikować autentyczność
Do szyfrowania należy używać wypełnienia OAEP, a do podpisów wypełnienia PSS. Nigdy nie należy używać PKCS#1 v1.5 do szyfrowania.
Zagrożenie postkwantowe
Komputery kwantowe wykorzystujące algorytm Shora mogą złamać RSA i ECC. NIST standaryzuje algorytmy kryptografii postkwantowej (CRYSTALS-Kyber do wymiany kluczy i CRYSTALS-Dilithium do podpisów). Migracja potrwa lata — już teraz należy zinwentaryzować systemy zależne od kryptografii.
Zarządzanie kluczami
Klucze asymetryczne wymagają bezpiecznego zarządzania: należy generować je na zaufanym sprzęcie, chronić klucze prywatne za pomocą hasła lub HSM, okresowo je wymieniać oraz unieważniać przejęte klucze za pośrednictwem CRL/OCSP. Utrata kluczy prywatnych oznacza utratę dostępu do wszystkich zaszyfrowanych danych.
Szybkie sprawdzenie: szyfrowanie asymetryczne
Jakie podejście łączy szyfrowanie asymetryczne i symetryczne, wykorzystując asymetryczne do wymiany klucza, a symetryczne do szyfrowania danych?
Podsumowanie lekcji
Szyfrowanie asymetryczne wykorzystuje pary kluczy publicznych i prywatnych. RSA jest sprawdzony, ale powolny; ECC zapewnia porównywalny poziom bezpieczeństwa przy mniejszych kluczach. Szyfrowanie hybrydowe łączy oba podejścia na potrzeby praktycznych zastosowań. Diffie-Hellman umożliwia bezpieczną wymianę kluczy, a ECDHE zapewnia doskonałą tajność przekazywania. Zagrożenia kwantowe są realne — należy śledzić standaryzację kryptografii postkwantowej NIST.
Często zadawane pytania
Czy lekcja „Szyfrowanie asymetryczne: RSA i krzywe eliptyczne” jest bezpłatna?
Tak — pełny tekst „Szyfrowanie asymetryczne: RSA i krzywe eliptyczne” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cyber Security Academy, przejdź na CoddyKit PRO. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Szyfrowanie asymetryczne: RSA i krzywe eliptyczne”?
Poznają Państwo pary kluczy publicznych i prywatnych, zasady działania RSA oraz powody, dla których ECC jest wydajniejsze. Ćwiczysz Cyber Security Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Cyber Security Academy?
Nie wymagamy żadnego doświadczenia. Cyber Security Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Szyfrowanie asymetryczne: RSA i krzywe eliptyczne”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Cyber Security Academy?
Tak. Każda lekcja Cyber Security Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Szyfrowanie symetryczne: AES i szyfry strumieniowe
- Szyfrowanie asymetryczne: RSA i krzywe eliptyczne
- Funkcje skrótu: SHA-256 i nie tylko
- Podpisy cyfrowe i certyfikaty