DES
Z Wikipedii
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
- Rozbijamy 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
- Permutujemy uzyskany wynik
- 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 :
- 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 , 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 wynosi ok. 35 minut, przy wykorzystaniu sprzętu o wartości 1 miliona USD.
[edytuj] Linki zewnętrzne