Podstawowy schemat szyfru blokowego jest przedstawiony w następujący sposób –
Szyfr blokowy pobiera blok bitów tekstu jawnego i generuje blok bitów szyfrogramu, zazwyczaj o tym samym rozmiarze. Wielkość bloku jest stała w danym schemacie. Wybór wielkości bloku nie ma bezpośredniego wpływu na siłę schematu szyfrowania. Siła szyfru zależy od długości klucza.
Rozmiar bloku
Chociaż każdy rozmiar bloku jest akceptowalny, przy wyborze rozmiaru bloku należy pamiętać o następujących aspektach.
-
Unikaj bardzo małego rozmiaru bloku – Powiedzmy, że rozmiar bloku wynosi m bitów. Wtedy możliwych kombinacji bitów tekstu jawnego jest 2m. Jeśli atakujący odkryje bloki tekstu jawnego odpowiadające wcześniej wysłanym blokom szyfrogramu, może przeprowadzić atak słownikowy, budując słownik par tekst jawny/szyfrogram wysłany przy użyciu danego klucza szyfrującego. Większy rozmiar bloku utrudnia atak, ponieważ słownik musi być większy.
-
Nie należy mieć bardzo dużego rozmiaru bloku – Przy bardzo dużym rozmiarze bloku, szyfr staje się nieefektywny w działaniu. Takie teksty będą musiały być wypełnione przed zaszyfrowaniem.
-
Wielokrotność 8 bitów – Preferowanym rozmiarem bloku jest wielokrotność 8, ponieważ jest to łatwe do zaimplementowania, jako że większość procesorów komputerowych obsługuje dane w wielokrotności 8 bitów.
Wypełnianie w szyfrach blokowych
Szyfry blokowe przetwarzają bloki o stałych rozmiarach (powiedzmy 64 bity). Długość tekstu jawnego w większości przypadków nie jest wielokrotnością rozmiaru bloku. Na przykład, 150-bitowy tekst jawny zawiera dwa bloki po 64 bity każdy z trzecim blokiem o równowadze 22 bitów. Ostatni blok bitów musi zostać uzupełniony o nadmiarowe informacje, tak aby długość końcowego bloku była równa rozmiarowi bloku schematu. W naszym przykładzie, do pozostałych 22 bitów należy dodać dodatkowe 42 bity nadmiarowe, aby uzyskać kompletny blok. Proces dodawania bitów do ostatniego bloku jest określany jako padding.
Zbyt duża ilość paddingu sprawia, że system jest nieefektywny. Also, padding may render the system insecure at times, if the padding is done with same bits always.
Schematy szyfrów blokowych
Istnieje ogromna liczba schematów szyfrów blokowych, które są w użyciu. Wiele z nich są publicznie znane. Najbardziej popularne i znane szyfry blokowe są wymienione poniżej.
-
Digital Encryption Standard (DES) – Popularny szyfr blokowy z lat 90-tych. Obecnie jest uważany za „złamany” szyfr blokowy, głównie ze względu na mały rozmiar klucza.
-
Triple DES – Jest to wariantowy schemat oparty na powtarzających się zastosowaniach DES. Jest to nadal ceniony szyfr blokowy, ale nieefektywny w porównaniu z nowymi, szybszymi dostępnymi szyframi blokowymi.
-
Advanced Encryption Standard (AES) – Jest to stosunkowo nowy szyfr blokowy oparty na algorytmie szyfrującym Rijndael, który wygrał konkurs na projekt AES.
-
IDEA – Jest to wystarczająco silny szyfr blokowy o rozmiarze bloku 64 i rozmiarze klucza 128 bitów. Wiele aplikacji wykorzystuje szyfrowanie IDEA, w tym wczesne wersje protokołu Pretty Good Privacy (PGP). Schemat IDEA ma ograniczone zastosowanie ze względu na problemy patentowe.
-
Twofish – Ten schemat szyfru blokowego wykorzystuje blok o rozmiarze 128 bitów i klucz o zmiennej długości. Był jednym z finalistów AES. Jest oparty na wcześniejszym szyfrze blokowym Blowfish o rozmiarze bloku 64 bity.
-
Serpent – Szyfr blokowy o rozmiarze bloku 128 bitów i długościach klucza 128, 192 lub 256 bitów, który również był finalistą konkursu AES. Jest wolniejszy, ale ma bezpieczniejszą konstrukcję niż inne szyfry blokowe.
W następnych rozdziałach omówimy najpierw model szyfru blokowego, a następnie DES i AES, dwa najbardziej wpływowe współczesne szyfry blokowe.
.