OBCHOD | |
---|---|
Tvůrce | Knudsen, Lars |
Vytvořeno | 1997 _ |
zveřejněno | 1998 _ |
Velikost klíče | 128/192/256 bitů |
Velikost bloku | 128 bit |
Počet kol | 6 (pro 128/192bitový klíč), 8 (pro 256bitový klíč) |
Typ | Síť Feistel |
V kryptografii je DEAL ( Data Encryption Algorithm with Larger blocks ) bloková šifra odvozená z DES . DEAL poprvé představil Lars Knudsen jako přednášku na konferenci Selected Areas in Cryptography v roce 1997 . Následně stejný algoritmus představil Richard Outerbridge v soutěži AES v roce 1998 .
DEAL je síť Feistel využívající DES jako funkci v síťovém kole. DEAL splňuje požadavky AES a má délku bloku 128 bitů a délku klíče 128, 192 nebo 256 bitů. V případě délky 128 nebo 192 bitů se používá 6 nábojů, v případě 256 bitů 8 nábojů. Algoritmus je výkonově srovnatelný s Triple DES , ale ve srovnání s konkurenty v konkurenci AES je algoritmus poměrně pomalý.
V roce 1998 se ukázalo, že šifra DES, která existovala dříve jako standard, vůbec nesplňovala požadavky doby. Ukázalo se, že za částku kolem jednoho milionu dolarů je možné vytvořit zařízení, které iteruje všechny DES klíče za méně než 3,5 hodiny. Stávající alternativa - "triple DES" - také neposkytovala požadovanou spolehlivost, protože (v některých režimech svého provozu) je zranitelná vůči útoku šifrovaného textu. Vzhledem k rozšířenému používání DES v té době (včetně ve formě efektivních hardwarových implementací) navrhl Lars Knudsen šifru DEAL, šifru se strukturou Feistel, která používá DES jako kruhovou funkci a má r kol. DEAL je tedy šifra s velikostí bloku 128 bitů a r - 64 bitů kulatých klíčů vypočítaných pomocí algoritmu rozvrhu klíčů. Plán klíče zajišťuje, že velikost počátečního klíče nabývá jedné ze tří různých hodnot: 128, 192 nebo 256 bitů. Pro první dvě velikosti klíče bylo navrženo dát r = 6 a při velikosti klíče 256 bitů r = 8. Takto získaný klíč je rychlostí srovnatelný s Triple DES
Provozní režimy s klávesami 128, 192 a 256 bitů dlouhými jsou označeny DEAL-128, DEAL-192, respektive DEAL-256. Každá z modifikací s různou délkou klíče může používat všechny čtyři standardní režimy DES.
Zvažte první režim provozu – ECB (Electronic Code Book). Nechť C = (A) je výsledkem šifrování 64bitového bloku A na klíči B a Y = (X) je výsledkem šifrování pomocí DEAL-128 bloku X na klíči Z. Podle požadavků AES je prostý text P je rozděleno do bloků po 128 bitech. Z původního klíče K se pomocí plánu klíčů získá r klíčů pro provoz DES , kde i = 1, ..., r. Algoritmus plánování je popsán níže. Označte a jako „levou“ a „pravou“ část bloku X. Šifrování je popsáno následujícími výrazy:
Set a , a vypočítat pro j = 1,..,r
Položme
Obrázek ukazuje jednu iteraci smyčky pro DEAL. Pro DEAL-128 a DEAL-192 se používá 6 cyklů za předpokladu r = 6. Tento počet nábojů však nemusí stačit pro DEAL-256, který potřebuje použít více nábojů: r = 8. Konstrukce DEAL- 256 by se mělo používat pouze v případě, že je vyžadováno obzvláště silné šifrování.
V posledním kole DEAL se také změní „pravá“ a „levá“ polovina bloku (spíše než aby zůstaly na místě jako v DES). Důvodem je následující: „pravá“ část bloku , který se má zašifrovat, není zašifrována v posledním kole i-tého průchodu DEAL a pouze „levá“ polovina bloku na i + 1. průchodu ( jehož počáteční blok je ) je zašifrován v prvním kole. To znamená, že „správná“ část nebude po dvě kola zašifrována vůbec. To lze považovat za slabinu algoritmu vzhledem k tomu, že s DEAL se používá pouze 6 nebo 8 kol. DES má podobnou „funkci“ v režimu CBC. Ale vzhledem k tomu, že DES má 16 kol, nestává se to tak jasnou zranitelností. Každopádně - tato permutace nemá vliv na sílu blokové šifry v režimu ECB
Označujeme tedy bloky prostého textu o 128 bitech a jsou odpovídajícími bloky šifrovaného textu. Potom pomocí rekurzivního vztahu:
, kde je počáteční hodnota,
dostaneme bloky šifry v režimu CBC.
Vstupy plánu klíče jsou klíče DES, každý 56 bitů plus 8 "kontrolních" bitů. Pro různé počáteční délky klíče s = 2, 3, 4 a vstupní klíče jsou označeny: . Výstupem jsou klávesy r DES, . Rozvrh klíčů je stejný pro všechny tři počáteční délky klíčů. Nejprve rozbalíme klávesy s na klávesy r, přičemž chybějící klávesy XORujeme s novou konstantou pro každý nový klíč. Konstanta se používá k vyloučení slabých kláves. Přijaté klíče jsou aplikovány DES v režimu CBC s pevným klíčem a nulovou počáteční hodnotou. Podklíče jsou tvořeny z přijatých bloků šifrovaného textu . Následuje přesný popis výše popsaných operací. Zde (hexadecimálně) je pevný klíč pro DES.
V DEAL-128 jsou podklíče generovány následovně:
kde je 64bitové celé číslo, ve kterém i je 1. bit (číslovaný od 0) nastavený na "1" a zbytek na "0". Může být například reprezentován jako hexadecimální " ".
V DEAL-192 jsou podklíče generovány následovně:
V DEAL-256 jsou podklíče generovány následovně:
Ke generování kulatých klíčů DEAL je tedy potřeba 8 "průchodů" DEAL. Aby nedošlo ke ztrátě času CPU, měly by být tyto klíče uloženy pro celý proces šifrování nebo dešifrování.
Analýza algoritmu ukázala mnoho nevýhod: přítomnost podmnožin slabých klíčů, náchylnost k diferenciální kryptoanalýze, chybějící zesílení při použití 192bitových klíčů ve srovnání se 128bitovými. Za prvé, algoritmus plánování klíčů nevytváří dostatečně silné klíče. V případě „nulového“ počátečního klíče DEAL jsou kulaté klíče slabé: první tři mají pouze jeden nebo dva bity odlišné od nul. Za druhé, po rozdělení původního bloku na dva 64bitové bloky jsou výsledné šifrové texty „sešity“ buď pomocí CBC nebo zřetězení. Takové schéma je citlivé na diferenciální analýzu. Výsledná spolehlivost se ukáže být řádově , namísto .
Kvůli těmto nedostatkům se šifra DEAL nemohla dostat do finále soutěže AES a nebyla považována za kandidáta na průmyslový standard. Přesto se dočkal určité distribuce.
Symetrické kryptosystémy | |
---|---|
Streamové šifry | |
Síť Feistel | |
Síť SP | |
jiný |