Data (Digital) Encryption Standard (DES) je v kryptografii symetrická šifra vyvinutá v 70. letech Horstem Feistelem, původně pod názvem Lucifer. V roce 1977 byla zvolena za standard (FIPS 46) pro šifrování dat v civilních státních organizacích v USA a následně se rozšířila i do soukromého sektoru. Někdy je nazývána též DEA (Data Encryption Algorithm).
V současnosti je tato šifra považována za nespolehlivou, protože používá klíč pouze o délce 64 bitů, z toho 8 je kontrolních a 56 efektivních. Navíc algoritmus obsahuje slabiny, které dále snižují bezpečnost šifry. Díky tomu je možné šifru prolomit útokem hrubou silou za méně než 24 hodin.
Algoritmus náhled|vpravo|Schéma funkce F Jedná se o nejstarší Feistelovu šifru. Skládá se z vstupního P-boxu (IP), šestnácti rund a výstupního P-boxu (IP−1).
S-boxy S1x0000xx0001xx0010xx0011xx0100xx0101xx0110xx0111xx1000xx1001xx1010xx1011xx1100xx1101xx1110xx1111x0yyyy014413121511831061259070yyyy101574142131106121195381yyyy041148136211151297310501yyyy11512824917511314100613S2x0000xx0001xx0010xx0011xx0100xx0101xx0110xx0111xx1000xx1001xx1010xx1011xx1100xx1101xx1110xx1111x0yyyy015181461134972131205100yyyy131347152814120110691151yyyy001471110413158126932151yyyy11381013154211671205149S3x0000xx0001xx0010xx0011xx0100xx0101xx0110xx0111xx1000xx1001xx1010xx1011xx1100xx1101xx1110xx1111x0yyyy010091463155113127114280yyyy113709346102851412111511yyyy013649815301112125101471yyyy11101306987415143115212S4x0000xx0001xx0010xx0011xx0100xx0101xx0110xx0111xx1000xx1001xx1010xx1011xx1100xx1101xx1110xx1111x0yyyy071314306910128511124150yyyy113811561503472121101491yyyy010690121171315131452841yyyy13150610113894511127214S5x0000xx0001xx0010xx0011xx0100xx0101xx0110xx0111xx1000xx1001xx1010xx1011xx1100xx1101xx1110xx1111x0yyyy021241710116853151301490yyyy114112124713150151039861yyyy042111101378159125630141yyyy11181271142136150910453S6x0000xx0001xx0010xx0011xx0100xx0101xx0110xx0111xx1000xx1001xx1010xx1011xx1100xx1101xx1110xx1111x0yyyy012110159268013341475110yyyy110154271295611314011381yyyy091415528123704101131161yyyy14321295151011141760813S7x0000xx0001xx0010xx0011xx0100xx0101xx0110xx0111xx1000xx1001xx1010xx1011xx1100xx1101xx1110xx1111x0yyyy041121415081331297510610yyyy113011749110143512215861yyyy014111312371410156805921yyyy16111381410795015142312S8x0000xx0001xx0010xx0011xx0100xx0101xx0110xx0111xx1000xx1001xx1010xx1011xx1100xx1101xx1110xx1111x0yyyy013284615111109314501270yyyy111513810374125611014921yyyy071141912142061013153581yyyy12114741081315129035611
P-boxy
Initial Permutation (IP) 58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157
IP−1 40848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725
Expansion (E) 3212345456789891011121312131415161716171819202120212223242524252627282928293031321
Permutation (P) 1672021291228171152326518311028241432273919133062211425
Expanze klíče Expanze klíče pro DES funguje následovně:
Odstraní se paritní bity (tj. každý osmý). Přes P-boxy PC-1L a PC-1R se odvodí levý a pravý 28bitový klíč. Pro každou z 16 rund se levý i pravý klíč posune. První, druhý a poslední posun je o 1 bit vlevo, ostatní o 2 bity vlevo. Z kombinace obou klíčů se prostřednictvím P-boxu PC-2 odvodí 48bitový podklíč.
Permuted Choice 1 Left (PC-1L) 5749413325179158504234261810259514335271911360524436
Permuted Choice 1 Right (PC-1R) 6355473931231576254463830221466153453729211352820124
Permuted Choice 2 (PC-2) 1417112415328156211023191242681672720132415231374755304051453348444939563453464250362932
Bezpečnost náhled|vpravo|DES Cracker Ačkoliv životnost algoritmu byla plánována na 10–15 let, s jeho velkým rozšířením se stalo nahrazení novějším algoritmem závažným problémem. Teoretický útok byl navržen již v roce 1975. V lednu 1997 vyhlásila agentura RSA soutěž s cílem demonstrovat reálný útok. O necelých pět měsíců později vyluštil Rocke Verser s použitím 14 000 počítačů v internetu text „strong cryptography makes the world a safer place“ spolu s klíčem 8558891AB0C851B6. V roce 1998 byl vyvinut stroj DES Cracker za 250 000 dolarů, který dokázal prolomit šifru během necelých 60 hodin.
Varianty Původní algoritmus Lucifer se lišil pouze delším klíčem, a to 128 bitů. Varianta DES-X funguje tak, že se před i po samotném šifrování algoritmem DES přidají další klíče pomocí funkce XOR.
Možným způsobem jak zvýšit bezpečnost této šifry, je vícenásobná aplikace. Tak vznikl algoritmus Triple DES, který je trojnásobnou aplikací šifry DES. Nejčastěji používaná varianta 3TDES pracuje s klíčem o celkové délce 168 bitů.
Triple DES je oproti novějším algoritmům (AES) daleko pomalejší, a proto se postupně přestává používat.
Reference
Externí odkazy
norma FIPS 46 (anglicky)
Kategorie:Blokové šifry Kategorie:Feistelovy šifry