Data Encryption Standard.html

 
ca de en es fr it nl no pl pt ru ro fi sv tr vo


 

Ten artykuł dotyczy standardu szyfrowania danych. Zobacz też: inne znaczenia DES.
DES
Rodzaj szyfru symetryczny szyfr blokowy
Autorzy IBM
Wielkość bloku wejściowego 64 bitów
Długość klucza 56 bitów
Ilość rund 16

DES (ang. Data Encryption Standard - standard szyfrowania danych) - szeroko używany algorytm kryptograficzny. Stworzony przez IBM na podstawie szyfru Lucifer, został zmodyfikowany przez amerykańską NSA. Zaakceptowany jako amerykański standard w roku 1977.

Algorytm jest następujący:

  • Wykonujemy wejściową permutację danych (IP)
  • Powtarzamy 16 razy następującą operację
    • Przestawiamy bity danych (umieszczenie tej operacji miało na celu preferowanie rozwiązań sprzętowych, w których wykonanie tego przekształcenia sprowadza się do odpowiedniego przeprowadzenia połączeń).
    • Dane, które dostaliśmy na wejściu rundy dzielimy na dwie 32-bitowe części - lewą Li i prawą Ri
    • Rozszerzamy przez powielanie bitów prawą część do 48 bitów, uzyskując E(Ri)
    • XORujemy E(Ri) z podkluczem dla aktualnej rundy E(R_i) \oplus K_i
    • Rozbijamy E(R_i) \oplus K_i na 8 fragmentów po 6 bitów
    • Każdy z tych fragmentów jest argumentem jednej z 8 funkcji, tzw. S-BOX-ów.
    • Łączymy wyniki S-BOXów w S(E(R_i) \oplus K_i)
    • Permutujemy uzyskany wynik P(S(E(R_i) \oplus K_i))
    • Jako lewą stronę wyjścia przekazujemy prawą stronę wejścia:
      Li + 1 = Ri
    • Jako prawą stronę wyjścia przekazujemy lewą stronę wejścia sXORowaną z P(S(E(R_i) \oplus K_i)):
      R_{i+1} = L_i \oplus P(S(E(R_i) \oplus K_i))
  • Wykonujemy odwróconą permutację wejściową danych (IP − 1)

Schemat ten to tzw. sieć Feistela.

Deszyfrowanie polega na zastosowaniu tych samych operacji w odwrotnej kolejności (różni się od szyfrowania tylko wyborem podkluczy, który teraz odbywa się od końca).

Z powodu słabości klucza (56 bitów) został w dużej mierze zastąpiony przez inne szyfry: modyfikacje DESa takie jak 3DES czy DESX, a ostatnio przez nowsze i bezpieczniejsze algorytmy jak AES, IDEA, Twofish itd.

DES ma 4 słabe i 12 półsłabych kluczy. Szansa na wylosowanie takiego wynosi \frac {4 + 12}{2^{56}} \approx 2.22 \cdot 10^{-16} , czyli nie wpływa w istotny sposób na siłę szyfru.

edytuj Format kluczy

Klucze są rozpowszechniane w nietypowym formacie, w którym co 7 bitów jest dodawany bezużyteczny bit (który pierwotnie miał służyć kontroli parzystości).

Zarówno:

echo -n 'WikiwIKI' | openssl enc -des-ecb -K FFFFFFFFFFFFFFFF -iv 0 -nopad -nosalt

Jak i

echo -n 'WikiwIKI' | openssl enc -des-ecb -K FEFEFEFEFEFEFEFE -iv 0 -nopad -nosalt

Zwrócą odpowiedź eb f9 a3 ae 93 22 c6 44

Kryptograficznie rzecz biorąc klucze są jednak 56-bitowe.

edytuj Historia

DES był łamany wielokrotnie. 17 lipca 1998 zbudowany za 250 tysięcy dolarów EFF DES Cracker odszyfrował zakodowaną DESem wiadomość po 3 dniach poszukiwań, bijąc poprzedni rekord 39 dni. 18 stycznia 1999, złamanie DESa zajęło 22 godziny 15 minut wspólnym wysiłkiem EFF (maszyna do łamania DESa) i distributed.net (obliczenia rozproszone na tysiącach PCtów).

Szacuje się, że obecnie (2004) średni czas łamania wiadomości zaszyfrowanej za pomocą DES, przy wykorzystaniu sprzętu o wartości 1 miliona USD, wynosi ok. 35 minut.

edytuj Linki zewnętrzne

All Right Reserved © 2007, Designed by Stylish Blog.