Szyfrowanie to przekształcanie czytelnych danych (tzw. plaintext) w nieczytelny ciąg znaków (ciphertext) za pomocą algorytmu i klucza. Bez właściwego klucza odwrócenie tej operacji jest praktycznie niewykonalne — i to jest cały sens. Dane nie znikają, po prostu zamieniają się w szum, który dla osoby bez klucza wygląda jak losowy bełkot. Z kluczem wracasz do oryginału w ułamku sekundy.
Jak to działa
Algorytm szyfrujący bierze Twoje dane i klucz, po czym miesza je według ściśle zdefiniowanej matematyki. Wyróżniamy dwa główne podejścia. W szyfrowaniu symetrycznym ten sam klucz służy do zaszyfrowania i odszyfrowania — szybkie, idealne do dużych ilości danych (np. AES-256). W szyfrowaniu asymetrycznym masz parę kluczy: publiczny (do szyfrowania) i prywatny (do odszyfrowania), jak w RSA czy krzywych eliptycznych. W praktyce łączy się oba: asymetryczne do bezpiecznej wymiany klucza, symetryczne do reszty transmisji. Dokładnie tak działa TLS, czyli kłódka, którą widzisz przy https://.
Przykład z praktyki
Chcesz zaszyfrować plik z hasłami przed wrzuceniem go do chmury. Sięgasz po GnuPG i robisz:
gpg --symmetric --cipher-algo AES256 sekrety.txt
Narzędzie poprosi o hasło, z którego wyprowadzi klucz, i wypluje plik sekrety.txt.gpg. Bez znajomości hasła zawartość jest bezużyteczna nawet dla kogoś, kto przejmie plik. Odszyfrowanie to gpg --decrypt sekrety.txt.gpg. Analogicznie działa BitLocker czy LUKS na całym dysku.
Częste błędy i mity
- Mit: szyfrowanie = hashowanie. Nie. Szyfrowanie jest odwracalne (masz klucz), hash (np.
SHA-256) jest jednokierunkowy. Hasła się hashuje, nie szyfruje. - Mit: kodowanie chroni dane.
Base64to nie szyfrowanie — każdy odwróci je jedną komendą. To tylko zmiana formatu. - Błąd: własny algorytm. Nie wymyślaj swojego szyfru. Używaj sprawdzonych, audytowanych standardów (AES, ChaCha20). Twój domowy „genialny” algorytm padnie w godzinę.
- Błąd: słaby klucz. Najlepszy algorytm nie pomoże, jeśli kluczem jest
haslo123. Siła całości równa się sile najsłabszego ogniwa, a zwykle jest nim hasło.
Pojęcia powiązane
Warto poznać też: hashowanie, klucz publiczny i prywatny (PKI), certyfikaty SSL/TLS, podpis cyfrowy, end-to-end encryption (E2EE) oraz szyfrowanie danych w spoczynku i w tranzycie.