Szyfr blokowy

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

Szyfr blokowy – rodzaj szyfrowania symetrycznego. Polega na szyfrowaniu bloku wejściowego (np. fragmentu pliku) na podstawie zadanego klucza, przekształcając go na blok wyjściowy o takiej samej długości w taki sposób, że niemożliwe jest odwrócenie tego przekształcenia[1]

Szyfr określa para funkcji pobierających 2 argumenty:

  • funkcja szyfrująca pobierająca klucz i wiadomość, a zwracająca szyfrogram C=E_K(M)
  • funkcja deszyfrująca pobierająca klucz i szyfrogram, a zwracająca wiadomość M=D_K(C)

Typowe rozmiary bloku oraz kluczy (te dwa rozmiary nie muszą być identyczne) to 64, 128, 192 lub 256 bitów, przy czym klucze mniejsze od 128 bitów nie zapewniają współcześnie bezpieczeństwa.

Ponieważ wiadomości, jakie chcemy zakodować, są zwykle znacznie większe od rozmiaru bloku, musimy używać jakiegoś trybu kodowania. Najbardziej naiwne podzielenie wiadomości na bloki odpowiednich rozmiarów i zakodowanie osobno każdego z nich (ECB) nie zapewnia nam bezpieczeństwa. Główne tryby to:

Niektóre szyfry blokowe to:

Przypisy