Szyfrowanie symetryczne: AES i szyfry strumieniowe
Poznają Państwo działanie szyfrów symetrycznych, długości kluczy, różnice między szyframi blokowymi i strumieniowymi oraz tryby ich działania.
Szyfrowanie symetryczne: AES i szyfry strumieniowe to bezpłatna lekcja Cyber Security Academy na CoddyKit. To lekcja 1 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 symetryczne?
Szyfrowanie symetryczne wykorzystuje ten sam klucz do szyfrowania i deszyfrowania. Jest szybkie i wydajne, dzięki czemu idealnie nadaje się do szyfrowania dużych ilości danych. Głównym wyzwaniem jest problem dystrybucji klucza — jak dwie strony mają bezpiecznie udostępnić sobie klucz.
AES: Advanced Encryption Standard
AES to światowy standard szyfrowania symetrycznego przyjęty przez NIST w 2001 roku. Działa na blokach 128-bitowych i obsługuje klucze o długości 128, 192 lub 256 bitów. AES jest używany w TLS, szyfrowaniu dysków, Wi-Fi (WPA2) i niezliczonych innych protokołach.
Tryby szyfru blokowego AES
Tryby szyfru blokowego określają sposób, w jaki AES obsługuje dane większe niż jeden blok:
- ECB — każdy blok jest szyfrowany niezależnie (niebezpieczne — ujawnia wzorce)
- CBC — każdy blok jest poddawany operacji XOR z poprzednim szyfrogramem (wymaga IV)
- GCM — szyfrowanie uwierzytelnione; zapewnia poufność i integralność (zalecane)
- CTR — przekształca szyfr blokowy w szyfr strumieniowy
Dlaczego preferowany jest tryb GCM
AES-GCM zapewnia Authenticated Encryption with Associated Data (AEAD): szyfrowanie i sprawdzanie integralności w ramach jednej operacji. Każda modyfikacja szyfrogramu zostaje wykryta. Tryb ten jest używany w TLS 1.3 i nowoczesnych protokołach. W nowych systemach zawsze należy wybierać GCM zamiast CBC.
Szyfry strumieniowe
Szyfry strumieniowe szyfrują dane bit po bicie lub bajcie po bajcie, wykorzystując pseudolosowy strumień klucza poddawany operacji XOR z tekstem jawnym. Przykłady: RC4 (złamany), ChaCha20 (nowoczesny, używany w TLS 1.3). Szyfry strumieniowe są wydajne w przypadku danych o zmiennej długości oraz środowisk z ograniczonymi zasobami sprzętowymi.
ChaCha20-Poly1305
ChaCha20-Poly1305 to nowoczesny szyfr AEAD używany w TLS 1.3 i WireGuard. ChaCha20 jest szyfrem strumieniowym, a Poly1305 zapewnia znacznik uwierzytelniający. Działa wydajniej niż AES na urządzeniach bez sprzętowej akceleracji AES (urządzeniach mobilnych i IoT).
Problem dystrybucji klucza
Obie strony muszą mieć ten sam klucz, ale jak bezpiecznie go wymienić? Dostępne opcje:
- Klucz wstępnie współdzielony (wymiana fizyczna)
- Enkapsulacja klucza z użyciem szyfrowania asymetrycznego
- Wymiana klucza Diffiego-Hellmana przez niezaufany kanał
Rozmiary kluczy AES
AES-128 zapewnia wystarczający poziom bezpieczeństwa w większości zastosowań. AES-256 jest używany w przypadku danych ściśle tajnych oraz ze względu na zagrożenia postkwantowe. Dodatkowy narzut AES-256 w porównaniu z AES-128 jest minimalny przy sprzętowej akceleracji (instrukcjach procesora AES-NI).
Szyfrowanie symetryczne w praktyce
Przykłady zastosowań szyfrowania symetrycznego:
# Encrypt a file with AES-256-CBC using OpenSSL:
openssl enc -aes-256-cbc -pbkdf2 -in file.txt -out file.enc
# Decrypt:
openssl enc -d -aes-256-cbc -pbkdf2 -in file.enc -out file.txtSzyfrowanie dysku
Pełne szyfrowanie dysku (FDE) wykorzystuje szyfrowanie symetryczne do ochrony danych przechowywanych na urządzeniu:
- BitLocker (Windows) — AES-XTS-128 lub 256
- FileVault 2 (macOS) — AES-XTS-128
- LUKS (Linux) — konfigurowalne, zazwyczaj AES-XTS-256
Należy unikać złamanych algorytmów
Nie należy używać poniższych algorytmów w nowych systemach:
- DES — klucz 56-bitowy, złamany w 1999 roku
- 3DES — powolny, wycofany w TLS
- RC4 — szyfr strumieniowy z wieloma słabościami
- Tryb ECB — ujawnia wzorce danych („pingwin ECB”)
Szybkie sprawdzenie: szyfrowanie symetryczne
Który tryb AES zapewnia zarówno poufność, jak i integralność (szyfrowanie uwierzytelnione) oraz jest preferowany we współczesnych protokołach?
Podsumowanie lekcji
Szyfrowanie symetryczne wykorzystuje jeden klucz do szyfrowania i deszyfrowania. AES jest standardem, a tryb GCM jest preferowany w przypadku szyfrowania uwierzytelnionego. ChaCha20-Poly1305 to nowoczesna alternatywa dla urządzeń o ograniczonych zasobach. Należy unikać DES, 3DES, RC4 i trybu ECB. Dystrybucja kluczy wymaga kryptografii asymetrycznej lub protokołu Diffiego-Hellmana.
Często zadawane pytania
Czy lekcja „Szyfrowanie symetryczne: AES i szyfry strumieniowe” jest bezpłatna?
Tak — pełny tekst „Szyfrowanie symetryczne: AES i szyfry strumieniowe” 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 symetryczne: AES i szyfry strumieniowe”?
Poznają Państwo działanie szyfrów symetrycznych, długości kluczy, różnice między szyframi blokowymi i strumieniowymi oraz tryby ich działania. Ć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 1 z 4.
Ile czasu zajmuje lekcja „Szyfrowanie symetryczne: AES i szyfry strumieniowe”?
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