Szyfrowanie symetryczne => To metoda szyfrowania, w której do szyfrowania i deszyfrowania używa się tego samego klucza.
Kluczowe cechy szyfrowania symetrycznego:
- Jeden klucz – nadawca i odbiorca muszą znać i bezpiecznie wymienić ten sam klucz.
- Szybkość – algorytmy symetryczne są znacznie szybsze niż asymetryczne.
- Bezpieczeństwo – zależy głównie od długości i poufności klucza.
- Problem dystrybucji klucza – największe wyzwanie to bezpieczne przekazanie klucza drugiej stronie.
Popularne algorytmy symetryczne:
- AES (Advanced Encryption Standard) – obecnie najczęściej używany, bezpieczny i wydajny.
- DES / 3DES – starsze, dziś uważane za słabe lub przestarzałe.
- Blowfish, Twofish, Serpent – alternatywne algorytmy.
- ChaCha20 – nowoczesny, szybki algorytm strumieniowy.
Szyfrowanie asymetryczne => W asymetrycznym szyfrowaniu używa się pary kluczy:
- klucz publiczny – można go udostępniać każdemu,
- klucz prywatny – trzymany w tajemnicy, tylko właściciel go zna.
Wiadomość zaszyfrowana kluczem publicznym może zostać odszyfrowana tylko kluczem prywatnym (i odwrotnie).
Zalety:
- Rozwiązuje problem dystrybucji klucza (nie trzeba przekazywać sekretu, wystarczy publiczny klucz).
- Umożliwia uwierzytelnianie i podpisy cyfrowe (nadawca szyfruje podpis swoim kluczem prywatnym -> każdy może go zweryfikować kluczem publicznym).
Wady:
- Jest wolniejsze od szyfrowania symetrycznego.
- Dlatego często w praktyce asymetryczne szyfrowanie służy tylko do bezpiecznej wymiany klucza sesji.
Popularne algorytmy:
- RSA – klasyczny algorytm, szeroko używany (np. w certyfikatach SSL).
- ECC (Elliptic Curve Cryptography) – szybsza i bezpieczniejsza alternatywa dla RSA przy mniejszych długościach kluczy.
- ElGamal, DSA – inne rozwiązania oparte na matematyce liczb pierwszych.