Szyfrowanie symetryczne to metoda szyfrowania, w której ten sam klucz służy zarówno do zaszyfrowania danych, jak i do ich odszyfrowania. Stąd nazwa — obie strony operacji są symetryczne, bo korzystają z jednego, wspólnego sekretu. To najstarsza i wciąż najpopularniejsza rodzina szyfrów: szybka, oszczędna obliczeniowo i świetnie nadająca się do ochrony dużych ilości danych.
Mechanizm jest prosty: bierzesz dane (tzw. plaintext), klucz oraz algorytm i na wyjściu dostajesz ciphertext — zlepek bajtów, który bez klucza wygląda jak szum. Po stronie odbiorcy ten sam klucz odwraca proces. Cała moc tej metody bierze się z tego, że nowoczesne algorytmy są bardzo wydajne — potrafią szyfrować gigabajty na sekundę, często ze wsparciem sprzętowym procesora (instrukcje AES-NI). Dlatego symetryczne szyfrowanie pracuje wszędzie tam, gdzie liczy się przepustowość: dyski (szyfrowanie at rest), bazy danych, kopie zapasowe, ruch sieciowy po nawiązaniu sesji.
Jak to wygląda w praktyce
Najczęściej spotkasz AES (Advanced Encryption Standard), zwykle w wariancie 128- lub 256-bitowym, w trybie GCM (zapewnia poufność i integralność jednocześnie) albo CBC. Z nowszych algorytmów popularny jest też ChaCha20-Poly1305, ceniony na urządzeniach bez akceleracji AES, np. w telefonach.
Chcesz to poczuć? Zaszyfruj plik OpenSSL-em:
openssl enc -aes-256-cbc -salt -pbkdf2 -in tajne.txt -out tajne.enc
Odszyfrowanie to ta sama komenda z flagą -d i tym samym hasłem. Spróbuj podać złe hasło — dostaniesz błąd albo śmieci. Na tym polega cały urok i cała pułapka symetrii.
Częste błędy i mity
- Problem dystrybucji klucza. Skoro obie strony muszą znać ten sam sekret, to jak go bezpiecznie przekazać? Wysłanie klucza tym samym kanałem co dane (np. mailem obok zaszyfrowanego pliku) to klasyczny strzał w stopę. W praktyce klucz przekazuje się szyfrowaniem asymetrycznym albo protokołem wymiany (Diffie-Hellman) — i tak działa np. HTTPS.
- Reużywanie IV/nonce. W trybach takich jak GCM ten sam klucz z tym samym nonce potrafi całkowicie wysadzić bezpieczeństwo. Nonce ma być unikalny.
- „Symetryczne jest słabsze niż asymetryczne”. Nieprawda — AES-256 jest mocny. To dwa różne narzędzia do różnych zadań, nie konkurenci.
- Własny algorytm. Nie pisz swojego szyfru. Używaj sprawdzonych bibliotek (libsodium, OpenSSL).
Pojęcia powiązane: szyfrowanie asymetryczne, AES, klucz kryptograficzny, IV (wektor inicjujący), tryby szyfrowania (GCM, CBC), funkcja skrótu, szyfrowanie hybrydowe, TLS.