Szyfrowanie symetryczne i asymetryczne
AES i RSA
Szyfrowanie symetryczne i asymetryczne to bezpłatna lekcja Ethical Hacking Academy na CoddyKit. To lekcja 3 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 Ethical Hacking Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Ethical Hacking Academy zawiera 4 lekcji w sumie.
Dwie rodziny szyfrowania
Współczesne szyfrowanie dzieli się na dwie rodziny zależnie od sposobu użycia kluczy:
- Symetryczne: ten sam klucz służy do szyfrowania i deszyfrowania. Przykład: AES.
- Asymetryczne: używana jest para kluczy, w której jeden klucz szyfruje, a inny deszyfruje. Przykład: RSA.
Rzeczywiste systemy łączą oba podejścia. Zrozumienie ich kompromisów jest niezbędne podczas atakowania i zabezpieczania kryptografii.
Szyfrowanie symetryczne
W przypadku szyfrowania symetrycznego obie strony współdzielą jeden tajny klucz. Ten sam klucz służy do zamykania i otwierania danych.
- Zaleta: bardzo szybkie działanie, idealne dla dużych ilości danych.
- Wada: najpierw trzeba bezpiecznie przekazać klucz. To problem dystrybucji klucza.
AES
AES (Advanced Encryption Standard) to najczęściej używany symetryczny szyfr. Jest szyfrem blokowym działającym na blokach 128-bitowych i obsługującym klucze o długości 128, 192 lub 256 bitów.
AES działa szybko, jest wspomagany sprzętowo przez nowoczesne procesory i uznaje się go za bezpieczny, jeśli jest używany prawidłowo. AES-256 jest często wybierany przy wysokich wymaganiach bezpieczeństwa.
openssl enc -aes-256-cbc -salt -in secret.txt -out secret.enc
# Prompts for a password used to derive the keyTryby szyfru blokowego
Szyfr blokowy potrzebuje trybu działania, aby obsługiwać dane większe niż jeden blok:
- ECB: niebezpieczny; identyczne bloki dają identyczny szyfrogram, ujawniając wzorce. Należy go unikać.
- CBC: łączy bloki za pomocą wektora inicjalizującego (IV). Jest lepszy, ale wymaga ostrożności.
- GCM: zapewnia zarówno szyfrowanie, jak i uwierzytelnianie (AEAD). To obecnie zalecany tryb.
Pingwin ECB
Słynna demonstracja: zaszyfrowanie obrazu pingwina za pomocą AES w trybie ECB nadal pozwala zobaczyć zarys pingwina. ECB szyfruje identyczne bloki tekstu jawnego do identycznych bloków szyfrogramu, przez co struktura danych zostaje ujawniona.
Dlatego podczas audytów należy rozpoznawać użycie ECB jako wykryte naruszenie. Szyfr jest silny — słabością jest tryb.
Szyfrowanie asymetryczne
Szyfrowanie asymetryczne wykorzystuje matematycznie powiązaną parę kluczy:
- Klucz publiczny: udostępniany bez ograniczeń. Każdy może za jego pomocą szyfrować wiadomości do Pana/Pani.
- Klucz prywatny: zachowywany w tajemnicy. Tylko Pan/Pani może za jego pomocą deszyfrować wiadomości.
Rozwiązuje to problem dystrybucji kluczy: klucz publiczny można opublikować bez narażania bezpieczeństwa.
RSA
RSA to klasyczny algorytm asymetryczny. Jego bezpieczeństwo opiera się na trudności rozkładu iloczynu dwóch dużych liczb pierwszych na czynniki.
Obecnie często stosuje się klucze o długości 2048 bitów; długości 3072 lub 4096 bitów zapewniają większy margines bezpieczeństwa. RSA jest wolny w porównaniu z AES, dlatego rzadko używa się go bezpośrednio do szyfrowania dużych ilości danych.
openssl genrsa -out private.pem 2048
openssl rsa -in private.pem -pubout -out public.pemSzyfrowanie a podpisywanie
Klucze asymetryczne służą do dwóch różnych celów:
- Poufność: szyfrowanie kluczem publicznym odbiorcy; tylko jego klucz prywatny może odszyfrować wiadomość.
- Autentyczność (podpisywanie): podpisywanie własnym kluczem prywatnym; każdy może zweryfikować podpis kluczem publicznym, potwierdzając, że wiadomość pochodzi od Pana/Pani.
Proszę zauważyć, że w tych dwóch zastosowaniach klucze pełnią przeciwne role.
Szyfrowanie hybrydowe
Rzeczywiste protokoły, takie jak TLS, łączą oba podejścia. Przebieg wygląda następująco:
- Wolna kryptografia asymetryczna jest używana raz do bezpiecznej wymiany losowego klucza sesyjnego.
- Szybki symetryczny szyfr AES z tym kluczem sesyjnym szyfruje właściwe dane.
Zapewnia to szybkość szyfrowania symetrycznego oraz wygodę dystrybucji kluczy charakterystyczną dla szyfrowania asymetrycznego.
Wymiana kluczy: Diffie-Hellman
Diffie-Hellman pozwala dwóm stronom uzgodnić wspólny sekret przez niezabezpieczony kanał bez przesyłania samego sekretu. Stanowi podstawę współczesnej wymiany kluczy TLS.
Odmiany oparte na krzywych eliptycznych (ECDH, ECDSA) zapewniają taki sam poziom bezpieczeństwa jak RSA przy znacznie krótszych kluczach, dzięki czemu są szybsze i coraz częściej stanowią ustawienie domyślne.
Typowe słabości kryptografii
Silne algorytmy zawodzą z powodu nieprawidłowego użycia. Należy zwrócić uwagę na następujące problemy:
- Tryb ECB ujawniający wzorce tekstu jawnego.
- Ponownie używane lub przewidywalne IV/nonce w trybach CBC lub GCM.
- Klucze zapisane na stałe w kodzie źródłowym lub plikach konfiguracyjnych.
- Małe klucze RSA (512 lub 1024 bity), które można rozłożyć na czynniki.
- Zachowanie typu padding oracle, ujawniające tekst jawny bajt po bajcie.
Matematyka rzadko jest problemem — zwykle zawodzi implementacja.
Szybki sprawdzian
Proszę wykorzystać wiedzę o kluczach publicznych i prywatnych.
Podsumowanie
Porównał(a) Pan/Pani dwie rodziny szyfrowania:
- Symetryczne (AES): jeden współdzielony klucz, szybkość, ale trudna dystrybucja kluczy. Należy używać trybu GCM, nigdy ECB.
- Asymetryczne (RSA, ECC): para kluczy publicznego i prywatnego, rozwiązująca problem dystrybucji, ale wolna.
- Wiadomości należy szyfrować kluczem publicznym odbiorcy, a podpisywać własnym kluczem prywatnym.
- Systemy hybrydowe i Diffie-Hellman łączą zalety obu podejść w TLS.
Następnie: identyfikowanie i łamanie skrótów w praktyce.
Często zadawane pytania
Czy lekcja „Szyfrowanie symetryczne i asymetryczne” jest bezpłatna?
Tak — pełny tekst „Szyfrowanie symetryczne i asymetryczne” 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 Ethical Hacking Academy, przejdź na CoddyKit PRO. Kurs Ethical Hacking Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Szyfrowanie symetryczne i asymetryczne”?
AES i RSA Ćwiczysz Ethical Hacking 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ąć Ethical Hacking Academy?
Nie wymagamy żadnego doświadczenia. Ethical Hacking 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 3 z 4.
Ile czasu zajmuje lekcja „Szyfrowanie symetryczne i asymetryczne”?
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 Ethical Hacking Academy?
Tak. Każda lekcja Ethical Hacking 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
- Kodowanie a szyfrowanie
- Haszowanie
- Szyfrowanie symetryczne i asymetryczne
- Łamanie hashy