Triple DES
Author
Albert FloresTriple DES (označovaná jako TDES či 3DES) je bloková šifra založená na šifrování Data Encryption Standard (DES), které se jako vícenásobné šifrování aplikuje třikrát, čímž zvyšuje odolnost proti prolomení.
Původní DES má délku klíče 56 bitů, což se postupem času stalo nedostatečným a klasický DES tak byl ohrožen útoky hrubou silou. Triple DES byl nejjednodušším způsobem, jak odolnost DESu zvýšit díky většímu klíči bez nutnosti přejít na zcela nový algoritmus.
Oproti zcela nově navrženým algoritmům (např. AES) je ale TDES mnohem pomalejší, a proto se od jeho používání pomalu ustupuje.
Algoritmus
Trojnásobná aplikace šifry Data Encryption Standard (DES) Triple DES je trojnásobnou aplikací šifry DES. +more Přestože nejjednodušší variantou šifrování by bylo opakovat tři šifrovací operace DES po sobě (tzv. varianta EEE), v praxi se používá varianta označovaná EDE, která nejprve zašifruje otevřený text prvním klíčem, výsledek dešifruje druhým klíčem a tento výsledek zašifruje třetím klíčem: : C = E(K_3, D(K_2, E(K_1, M))), kde E je šifrovací operace DES, D je dešifrovací operace DES, K_1, K_2, K_3 jsou jednotlivé podklíče (které dohromady dávají klíč TDES), M je otevřený text a C je šifrový text.
Důvodem takovéhoto uspořádání je zpětná kompatibilita s klasickým DESem: Pokud se pro všechny tři podklíče použije stejná hodnota, je výsledkem běžné zašifrování jednoduchým DESem s tímto klíčem.
Dešifrování pak probíhá obdobně: : M = D(K_1, E(K_2, D(K_3, C))).
Je třeba si uvědomit, že základní schéma TDES funguje díky tomu, že DES není grupa (přesněji řečeno, množina funkcí E_K vytvořená přes všechny klíče není grupa). Pokud by bylo, opakovaným použitím šifry by se vyšší bezpečnosti nedosáhlo (opakované použití by bylo ekvivalentní jedinému použití s nějakým jiným klíčem).
Varianty použití klíčů
TDES umožňuje tři varianty složitosti (délky klíče) podle způsobu tvorby tří podklíčů pro klasický DES: * Varianta 1 - plný trojitý DES, všechny tři klíče jsou na sobě nezávislé. * Varianta 2 - „dvojitý DES“ - K_1 a K_2 jsou na sobě nezávislé, ale K_3 = K_1. +more * Varianta 3 - jednoduchý DES - K_1 = K_2 = K_3.
V první (nejčastěji používané) variantě má klíč délku 3 × 56 = 168 bitů. Ve druhé variantě má klíč efektivní délku pouze 112 bitů; schéma se třemi aplikacemi DES, přičemž jsou dva klíče shodné, je nutné - pokud by se opravdu použilo jen dvojí opakování DES, výsledek by byl mnohem méně bezpečný, neboť by v takovém případě existovaly útoky typu meet-in-the-middle. +more Třetí varianta je ekvivalent klasického DESu s délkou klíče 56 bitů (první a druhá operace se vzájemně zruší), tedy varianta umožňující zpětnou kompatibilitu pouhou volbou klíčů bez nutnosti podpory dvou různých šifrovacích algoritmů. Tato varianta je již samozřejmě považována za nebezpečnou.
Související články
Data Encryption Standard * Advanced Encryption Standard * Feistelova síť
Externí odkazy
[url=http://csrc. nist. +moregov/publications/nistpubs/800-67/SP800-67. pdf]Doporučení pro šifrování pomocí blokové šifry Triple Data Encryption Algorithm (TDEA)[/url] (PDF; anglicky).