Szablon szyfrowania danych (DES) jest szyfrem blokowym z kluczem symetrycznym, opublikowanym przez National Institute of Standards Technology (NIST).kluczem symetrycznym opublikowany przez National Institute of Standards and Technology (NIST).
DES jest implementacją szyfru Feistela. Wykorzystuje on 16-rundową strukturę Feistela. Rozmiar bloku wynosi 64 bity. Mimo, że długość klucza wynosi 64 bity, DES ma efektywną długość klucza 56 bitów, ponieważ 8 z 64 bitów klucza nie jest wykorzystywanych przez algorytm szyfrujący (funkcjonuje jedynie jako bity kontrolne). Ogólna struktura DES jest przedstawiona na poniższym rysunku –
Ponieważ DES jest oparty na szyfrze Feistela, wszystko, co jest wymagane do określenia DES, to –
- Funkcja rund
- Rozkład kluczy
- Dodatkowe przetwarzanie – Początkowa i końcowa permutacja
Permutacja początkowa i końcowa
Permutacje początkowa i końcowa są prostymi polami permutacji (P-box), które są odwrotnościami siebie. Nie mają one znaczenia kryptograficznego w DES. Początkowa i końcowa permutacja jest przedstawiona w następujący sposób –
Funkcja Round
Sercem tego szyfru jest funkcja DES, f. Funkcja DES stosuje 48-bitowy klucz do 32 bitów po prawej stronie, aby otrzymać 32-bitowe wyjście.
-
Podsumowanie Permutacji – Ponieważ prawe wejście jest 32-bitowe, a klucz okrągły jest 48-bitowy, musimy najpierw rozszerzyć prawe wejście do 48 bitów. Logika permutacji jest przedstawiona graficznie na poniższej ilustracji –
-
Obrazowo przedstawiona logika permutacji jest ogólnie opisana jako tabela w specyfikacji DES, zilustrowana jak pokazano –
-
XOR (Whitener). – Po permutacji rozszerzającej DES wykonuje operację XOR na prawej sekcji rozszerzonej i kluczu okrągłym. Klucz okrągły jest używany tylko w tej operacji.
-
Substitution Boxes. – Skrzynki S-box przeprowadzają rzeczywiste mieszanie (confusion). W DES wykorzystuje się 8 skrzynek S, z których każda ma 6-bitowe wejście i 4-bitowe wyjście. Patrz poniższa ilustracja –
-
Reguła S-boxów jest zilustrowana poniżej –
-
W sumie istnieje osiem tablic S-boxów. Wyjście z wszystkich ośmiu S-boxów jest następnie łączone w 32-bitową sekcję.
-
Permutacja prosta – 32-bitowe dane wyjściowe z S-boxów są następnie poddawane permutacji prostej z regułą przedstawioną na poniższym rysunku:
Generowanie kluczy
Generator kluczy okrągłych tworzy szesnaście 48-bitowych kluczy z 56-bitowego klucza szyfru. Proces generowania klucza jest przedstawiony na poniższej ilustracji –
Logika zrzucania parzystości, przesuwania i kompresji P-box jest podana w opisie DES.
Analiza DES
Szyfr DES spełnia obie pożądane właściwości szyfru blokowego. Te dwie właściwości sprawiają, że szyfr jest bardzo silny.
-
Efekt lawiny – Mała zmiana w tekście jawnym powoduje bardzo dużą zmianę w szyfrogramie.
-
Kompletność – Każdy bit szyfrogramu zależy od wielu bitów tekstu jawnego.
W ciągu ostatnich kilku lat kryptoanalizy znalazły pewne słabości w DES, gdy wybrane klucze są słabymi kluczami. Należy unikać takich kluczy.
DES okazał się być bardzo dobrze zaprojektowanym szyfrem blokowym. Nie było żadnych znaczących kryptoanalitycznych ataków na DES innych niż wyczerpujące wyszukiwanie kluczy.