Przejdź do treści

~/cyberbezpieczenstwo cat aes.md

Szyfrowanie AES: jak działa AES-128 i AES-256 i jak zaszyfrować nim pliki

Czym jest szyfrowanie AES, jak działa, czym różni się AES-128 od AES-256 i tryby GCM, CBC, XTS. Plus praktyka: 7-Zip, PDF, Office, BitLocker, OpenSSL i GPG.

CZCzarek Zawolski--aktualizacja=--czas=7 min--dział=Cyberbezpieczeństwo
Symboliczna kłódka i strumień zaszyfrowanych danych ilustrujące szyfrowanie AES
tldr.txt — W skrócie

~ xad tldr aes

  • AES (Advanced Encryption Standard) to symetryczny szyfr blokowy: ten sam klucz szyfruje i odszyfrowuje dane w blokach po 128 bitów.
  • Klucz może mieć 128, 192 lub 256 bitów; wszystkie warianty są dziś uznawane za bezpieczne, a AES-256 daje zapas na przyszłość, także wobec komputerów kwantowych.
  • O bezpieczeństwie w praktyce decydują tryb pracy (GCM zamiast ECB), unikalne IV/nonce i siła hasła, z którego wyprowadzany jest klucz.
  • AES chroni HTTPS (TLS), Wi-Fi WPA2/WPA3, BitLocker, FileVault, LUKS, archiwa 7-Zip i zaszyfrowane PDF.
  • Szyfrowanie archiwum ZIP rób w trybie AES-256, nie ZipCrypto — a hasło musi być długie, bo AES nie naprawi słabego hasła.
$ tree --spis-tresci

AES (Advanced Encryption Standard) to symetryczny szyfr blokowy — ten sam klucz służy do zaszyfrowania i odszyfrowania danych — który przetwarza dane w blokach po 128 bitów, używając klucza o długości 128, 192 lub 256 bitów. Od 2001 r. jest standardem NIST i dziś chroni niemal wszystko: połączenia HTTPS, sieci Wi-Fi, dyski szyfrowane BitLockerem, archiwa 7-Zip i dokumenty PDF.

Sam algorytm jest uznawany za bezpieczny i nie ma znanych praktycznych ataków. W praktyce o bezpieczeństwie decyduje jednak sposób użycia: tryb pracy, losowość wektorów inicjujących i — przy szyfrowaniu na hasło — siła tego hasła. Poniżej wyjaśniam, jak działa AES, a potem pokazuję, jak zaszyfrować nim pliki, archiwa, dokumenty i dyski.

Jak powstał AES

W latach 90. dotychczasowy standard DES z kluczem 56-bitowym był już za słaby — dało się go złamać metodą siłową w ciągu doby. NIST ogłosił otwarty konkurs na następcę. Wygrał algorytm Rijndael autorstwa belgijskich kryptologów Joana Daemena i Vincenta Rijmena, opublikowany jako standard FIPS 197 w 2001 r.

Otwarty, publiczny proces wyboru to jeden z powodów zaufania do AES: algorytm od ponad 25 lat jest analizowany przez kryptologów z całego świata. To ważne, bo w kryptografii bezpieczny jest szyfr, który długo wytrzymuje publiczne ataki — a nie taki, którego działanie jest tajne. Ogólne zasady szyfrów z jednym kluczem opisuje artykuł o szyfrowaniu symetrycznym.

Jak działa AES krok po kroku

AES traktuje 128-bitowy blok danych jak macierz 4×4 bajty (tzw. stan) i poddaje go serii rund. Liczba rund zależy od długości klucza:

WariantDługość kluczaLiczba rund
AES-128128 bitów10
AES-192192 bity12
AES-256256 bitów14

Z klucza głównego algorytm wyprowadza osobny klucz dla każdej rundy (key expansion). Każda runda składa się z czterech operacji:

  1. SubBytes — każdy bajt jest zamieniany na inny według stałej tablicy podstawień (S-box). To wprowadza nieliniowość, kluczową dla odporności na kryptoanalizę.
  2. ShiftRows — wiersze macierzy są przesuwane cyklicznie o 0, 1, 2 i 3 pozycje.
  3. MixColumns — każda kolumna jest mieszana matematycznie, tak że zmiana jednego bajtu wpływa na całą kolumnę.
  4. AddRoundKey — stan jest łączony operacją XOR z kluczem rundy.

Ostatnia runda pomija MixColumns. Po kilku rundach zmiana jednego bitu danych lub klucza zmienia mniej więcej połowę bitów wyniku — to tzw. efekt lawinowy. Odszyfrowanie wykonuje operacje odwrotne w odwrotnej kolejności.

Nowoczesne procesory Intel i AMD (instrukcje AES-NI) oraz ARM mają sprzętowe wsparcie dla AES, dlatego szyfrowanie całego dysku czy ruchu sieciowego praktycznie nie spowalnia komputera.

Tryby pracy AES: dlaczego ECB to zły pomysł

AES szyfruje pojedynczy blok 16 bajtów. Żeby zaszyfrować plik czy strumień danych, potrzebny jest tryb pracy, który określa, jak łączyć kolejne bloki. Wybór trybu ma ogromne znaczenie:

TrybZastosowanieUwagi
ECBnie należy go używać do danychidentyczne bloki dają identyczny szyfrogram — widać wzorce danych
CBCstarsze protokoły, część formatów plikówwymaga losowego IV; bez osobnej kontroli integralności podatny na ataki typu padding oracle
CTRszyfrowanie strumieniowenonce nigdy nie może się powtórzyć dla tego samego klucza
GCMTLS 1.3, VPN, nowoczesne aplikacjeszyfruje i jednocześnie uwierzytelnia dane (AEAD) — wykrywa modyfikacje
CCMWi-Fi WPA2/WPA3 (CCMP)tryb uwierzytelniający, podobnie jak GCM
XTSszyfrowanie dysków (BitLocker, FileVault, LUKS, VeraCrypt)zaprojektowany dla sektorów dysku

Jeśli piszesz własny kod, wybieraj AES-GCM z biblioteki wysokiego poziomu i nigdy nie powtarzaj nonce dla tego samego klucza. Najwięcej błędów w kryptografii to nie złamane algorytmy, tylko źle użyte prymitywy.

Czy AES jest bezpieczny? AES-128 czy AES-256

Na pełny AES nie ma praktycznego ataku. Najlepsze znane ataki teoretyczne obniżają złożoność złamania klucza tylko nieznacznie — nadal daleko poza możliwościami jakiegokolwiek sprzętu.

  • AES-128 — w pełni wystarczający do większości zastosowań i domyślny w wielu protokołach (np. najczęściej wybierany zestaw szyfrów w TLS 1.3).
  • AES-256 — większy margines bezpieczeństwa. Algorytm Grovera na przyszłym komputerze kwantowym teoretycznie mógłby zmniejszyć efektywną siłę klucza o połowę; dla AES-256 nadal zostaje 128 bitów, co jest bezpieczne. Dlatego AES-256 zaleca się dla danych, które mają pozostać poufne przez dziesięciolecia.

Realne zagrożenia dla danych szyfrowanych AES leżą gdzie indziej:

  • słabe hasło — przy szyfrowaniu na hasło klucz jest wyprowadzany funkcją KDF (PBKDF2, scrypt, Argon2). Hasło „Kowalski1” da się zgadnąć, niezależnie od tego, czy dalej używany jest AES-256,
  • kradzież klucza — z pamięci RAM, z pliku konfiguracyjnego, z kopii zapasowej klucza odzyskiwania,
  • błędy implementacji — powtórzony nonce, brak uwierzytelnienia danych, ataki kanałem bocznym.

O tym, jak tworzyć hasła odporne na zgadywanie, przeczytasz w poradniku jak stworzyć i zapamiętać bezpieczne hasło, a o funkcjach wyprowadzających klucze z haseł — w tekście o hashowaniu z solą.

Gdzie spotkasz AES na co dzień

  • HTTPS (TLS) — po wymianie kluczy (np. algorytmem Diffiego-Hellmana) właściwy ruch jest szyfrowany najczęściej AES-GCM.
  • Wi-Fi — WPA2 i WPA3 używają AES w trybie CCMP. W routerze wybierz WPA2-PSK (AES) lub WPA3, nigdy TKIP.
  • Dyski — BitLocker (Windows), FileVault (macOS), LUKS (Linux), VeraCrypt — wszystkie w trybie XTS.
  • Archiwa i dokumenty — 7-Zip, WinRAR, zaszyfrowane pliki Office i PDF.
  • VPN — IPsec i OpenVPN zwykle korzystają z AES-GCM (WireGuard używa innego szyfru, ChaCha20-Poly1305).

Narzędzia szyfrujące AES do plików, archiwów i dysków

Jak zaszyfrować pliki AES w praktyce

Archiwum 7-Zip (Windows)

  1. Zainstaluj 7-Zip ze strony 7-zip.org.
  2. Kliknij pliki prawym przyciskiem → 7-Zip → Dodaj do archiwum… (w Windows 11 opcja może być pod „Pokaż więcej opcji”).
  3. Format archiwum: 7z (lub zip, jeśli odbiorca nie ma 7-Zip).
  4. W sekcji szyfrowania wpisz hasło dwa razy, metoda szyfrowania: AES-256.
  5. Przy formacie 7z zaznacz Szyfruj nazwy plików — inaczej każdy zobaczy listę plików w archiwum.

Uwaga: Format ZIP ma dwie metody szyfrowania: ZipCrypto (stara i słaba, łatwa do złamania) oraz AES-256. Wbudowany w Eksplorator Windows obsługiwacz ZIP nie otworzy archiwum zaszyfrowanego AES — odbiorca potrzebuje 7-Zip, WinRAR lub podobnego programu. Hasło do archiwum przekaż innym kanałem niż sam plik.

Pojedynczy plik w Linuksie i macOS: GPG lub OpenSSL

GPG z szyfrowaniem symetrycznym (na hasło), z kontrolą integralności:

gpg --symmetric --cipher-algo AES256 raport.pdf
# tworzy raport.pdf.gpg; odszyfrowanie:
gpg --output raport.pdf --decrypt raport.pdf.gpg

OpenSSL — zawsze z -pbkdf2 i dużą liczbą iteracji, bo starsza domyślna metoda wyprowadzania klucza jest słaba:

openssl enc -aes-256-cbc -salt -pbkdf2 -iter 600000 -in plik.txt -out plik.txt.enc
openssl enc -d -aes-256-cbc -pbkdf2 -iter 600000 -in plik.txt.enc -out plik.txt

Polecenie openssl enc nie obsługuje trybu GCM i nie uwierzytelnia danych, dlatego do archiwizacji wygodniejszy i bezpieczniejszy jest GPG.

Dokumenty Office i PDF

  • Word, Excel, PowerPoint: Plik → Informacje → Chroń dokument → Szyfruj przy użyciu hasła. Nowoczesne wersje Office szyfrują pliki AES; stare formaty .doc/.xls z hasłem są znacznie słabsze — zapisuj w .docx/.xlsx.
  • Adobe Acrobat: narzędzie Chroń → szyfrowanie hasłem; przy zgodności z nowszymi wersjami Acrobata plik jest szyfrowany AES-256.
  • LibreOffice: Plik → Eksportuj jako PDF → karta Zabezpieczenia → Ustaw hasła.

Pamiętaj, że hasło „uprawnień” (blokada drukowania czy kopiowania w PDF) nie szyfruje treści przed odczytem i łatwo je obejść. Poufność zapewnia tylko hasło do otwarcia dokumentu.

Tworzenie zaszyfrowanego pliku PDF z hasłem

Cały dysk: BitLocker, FileVault, LUKS

Szyfrowanie pojedynczych plików nie chroni kopii tymczasowych, plików wymiany ani pozostałości po usuniętych plikach. Na laptopie zawsze włącz szyfrowanie całego dysku:

  • Windows 11 Pro: Panel sterowania → Szyfrowanie dysków funkcją BitLocker → Włącz funkcję BitLocker. Domyślnie używany jest XTS-AES-128; AES-256 ustawisz w zasadach grupy w sekcji szyfrowania dysków funkcją BitLocker (wybór metody szyfrowania i siły szyfrowania). Stan sprawdzisz poleceniem manage-bde -status. W Windows 11 Home na zgodnym sprzęcie dostępne jest prostsze „Szyfrowanie urządzenia”.
  • macOS: Ustawienia systemowe → Prywatność i ochrona → FileVault.
  • Linux: LUKS2 (cryptsetup) — najczęściej konfigurowany już przy instalacji systemu, domyślnie aes-xts-plain64.
  • Dyski przenośne i kontenery: VeraCrypt (następca porzuconego w 2014 r. TrueCrypta, którego nie należy już używać).

Klucz odzyskiwania BitLockera zapisz w bezpiecznym miejscu (konto Microsoft, Active Directory, wydruk w sejfie). Bez niego po awarii płyty głównej lub zmianie w UEFI dane mogą być nie do odzyskania — właśnie dlatego, że AES działa tak dobrze.

AES a inne algorytmy kryptograficzne

AES jest tylko jednym z elementów kryptografii. Do wymiany kluczy przez niezaufaną sieć używa się algorytmów asymetrycznych (Diffie-Hellman, RSA, krzywe eliptyczne), do podpisów — np. ECDSA, a do sprawdzania integralności — funkcji skrótu. Typowy bezpieczny protokół łączy je wszystkie: asymetrycznie uzgadnia klucz, a potem szybko szyfruje dane AES. W szyfrowaniu danych symetrycznie AES pozostaje w 2026 r. domyślnym i najlepiej przebadanym wyborem.

~ man faq

Najczęściej zadawane pytania

Co to jest szyfrowanie AES?

AES to standard szyfrowania symetrycznego przyjęty przez amerykański NIST w 2001 r. (FIPS 197), oparty na algorytmie Rijndael. Szyfruje dane w 128-bitowych blokach kluczem 128, 192 lub 256-bitowym i jest najczęściej używanym szyfrem na świecie.

Czy AES-256 da się złamać?

Nie są znane praktyczne ataki na sam algorytm AES. Złamanie klucza metodą siłową jest poza zasięgiem jakiejkolwiek technologii. W praktyce zaszyfrowane dane wykrada się przez słabe hasła, błędy implementacji lub kradzież klucza z pamięci urządzenia.

Czym różni się AES-128 od AES-256?

Długością klucza (128 lub 256 bitów) i liczbą rund (10 lub 14). AES-256 jest nieco wolniejszy, ale daje większy margines bezpieczeństwa, m.in. wobec przyszłych komputerów kwantowych. Do zwykłych zastosowań oba są wystarczające.

Jak zaszyfrować plik AES-256 w Windows?

Najprościej w darmowym 7-Zip: kliknij plik prawym przyciskiem, wybierz 7-Zip → Dodaj do archiwum, ustaw format 7z, metodę szyfrowania AES-256, wpisz długie hasło i zaznacz szyfrowanie nazw plików.

Czy WPA2-AES w routerze to to samo co AES?

Tak, opcja WPA2-PSK (AES) oznacza szyfrowanie ruchu Wi-Fi protokołem CCMP opartym na AES. Unikaj trybu TKIP lub mieszanego TKIP/AES, a jeśli wszystkie urządzenia to obsługują, wybierz WPA3.

Ten artykuł jest częścią tematu

CZ

$ whoami

Czarek Zawolski

Założyciel i redaktor XAD.pl. Pisze o sieciach, bezpieczeństwie IT, administracji systemami Windows i Linux oraz o sprzęcie, który sprawia ludziom problemy na co dzień.

~ ls ../podobne