Standard szyfrowania danych

Data Encryption Standard (DES) to szyfr blokowy z kluczem symetrycznym opublikowany przez National Institute of Standards and Technology (NIST).

DES jest implementacją szyfru Feistela. Wykorzystuje 16 okrągłych konstrukcji Feistel. Rozmiar bloku jest 64-bitowy. Chociaż długość klucza jest 64-bitowa, DES ma efektywną długość klucza 56 bitów, ponieważ 8 z 64 bitów klucza nie jest używanych przez algorytm szyfrowania (działa tylko jako bity kontrolne). Ogólna struktura DES została przedstawiona na poniższej ilustracji -

Ponieważ DES jest oparty na szyfrze Feistela, wszystko, co jest wymagane do określenia DES, to -

  • Funkcja Round
  • Kluczowy harmonogram
  • Wszelkie dodatkowe przetwarzanie - permutacja początkowa i końcowa

Permutacja początkowa i końcowa

Początkowe i końcowe permutacje to proste pola permutacji (P-boxy), które są odwrotnością siebie. Nie mają znaczenia kryptograficznego w DES. Wstępne i końcowe permutacje przedstawiono w następujący sposób -

Funkcja Round

Sercem tego szyfru jest funkcja DES, f . Funkcja DES stosuje 48-bitowy klucz do 32-bitowych skrajnych prawych bitów w celu uzyskania 32-bitowego wyjścia.

  • Expansion Permutation Box- Ponieważ prawe wejście jest 32-bitowe, a okrągły klucz to 48-bitowy, musimy najpierw rozszerzyć prawe wejście do 48 bitów. Logikę permutacji przedstawiono graficznie na poniższej ilustracji -

  • Graficznie przedstawiona logika permutacji jest ogólnie opisana jako tabela w specyfikacji DES zilustrowana, jak pokazano -

  • XOR (Whitener).- Po permutacji rozwinięcia, DES wykonuje operację XOR na rozszerzonej prawej sekcji i okrągłym kluczu. Okrągły klucz jest używany tylko w tej operacji.

  • Substitution Boxes.- S-boxy przeprowadzają prawdziwe mieszanie (zamieszanie). DES wykorzystuje 8 S-boxów, każdy z 6-bitowym wejściem i 4-bitowym wyjściem. Patrz poniższa ilustracja -

  • Reguła S-box jest zilustrowana poniżej -

  • Dostępnych jest łącznie osiem stołów S-box. Wyjście wszystkich ośmiu s-boxów jest następnie łączone w sekcję 32-bitową.

  • Straight Permutation - 32-bitowe wyjście S-boxów jest następnie poddawane prostej permutacji z regułą pokazaną na poniższej ilustracji:

Generowanie klucza

Generator klucza okrągłego tworzy szesnaście 48-bitowych kluczy z 56-bitowego klucza szyfrującego. Na poniższej ilustracji przedstawiono proces generowania klucza -

Logika spadku parzystości, przesunięcia i P-box kompresji jest podana w opisie DES.

Analiza DES

DES spełnia obie pożądane właściwości szyfru blokowego. Te dwie właściwości sprawiają, że szyfr jest bardzo silny.

  • Avalanche effect - Mała zmiana w tekście jawnym powoduje bardzo dużą zmianę w zaszyfrowanym tekście.

  • Completeness - Każdy bit szyfrogramu zależy od wielu bitów tekstu jawnego.

W ciągu ostatnich kilku lat kryptoanaliza odkryła pewne słabości w DES, gdy wybrany klucz to słabe klucze. Tych kluczy należy unikać.

DES okazał się bardzo dobrze zaprojektowanym szyfrem blokowym. Nie było żadnych innych ataków kryptoanalitycznych na DES poza wyczerpującym wyszukiwaniem kluczy.