ICE (šifra) - ICE (cipher)
![]() Funkce ICE Feistel | |
Všeobecné | |
---|---|
Návrháři | Matthew Kwan |
Nejprve publikováno | 1997 |
Odvozený od | DES |
Šifra detail | |
Klíčové velikosti | 64 bitů (ICE), 64 ×n bity (ICE-n) |
Velikosti bloků | 64 bitů |
Struktura | Síť Feistel |
Kola | 16 (ICE), 8 (Thin-ICE), 16 ×n (LED-n) |
Nejlepší veřejnost dešifrování | |
Diferenciální dešifrování může zlomit 15 ze 16 kol ICE se složitostí 256. Thin-ICE lze rozbít pomocí 227 vybrané prosté texty s pravděpodobností úspěchu 95%. |
v kryptografie, LED (Jáinformace Cobžaloba Engine) je symetrický klíč bloková šifra publikoval Kwan v roce 1997. Algoritmus má podobnou strukturu jako DES, ale s přidáním klíčově závislé bitové permutace v kruhové funkci. Klíčově závislá bitová permutace je efektivně implementována v softwaru. Algoritmus ICE nepodléhá patentům a zdrojový kód byl umístěn do veřejné sféry.
ICE je Síť Feistel s velikost bloku 64 bitů. Standardní algoritmus ICE trvá 64bitový klíč a má 16 kol. Rychlá varianta, Tenký led, používá pouze 8 nábojů. Otevřená varianta, LED-n, používá 16n kola s 64n bitový klíč.
Van Rompay a kol. (1998) se pokusili použít diferenciální dešifrování na ICE. Popsali útok na Thin-ICE, který pomocí 2 obnovil tajný klíč23 vybrané prosté texty s 25% pravděpodobností úspěchu. Pokud 227 jsou použity vybrané prosté texty, pravděpodobnost může být zvýšena na 95%. U standardní verze ICE byl nalezen útok na 15 ze 16 kol, který vyžadoval 256 práce a maximálně 256 vybrané prosté texty.
Struktura
ICE je 16kolové Síť Feistel. Každé kolo používá funkci 32 → 32 bitů F, která využívá 60 bitů klíčového materiálu.
Struktura funkce F je poněkud podobná funkci DES: Vstup je rozšířen převzetím překrývajících se polí, rozšířený vstup je XORed s klíčem a výsledek je přiveden na řadu redukujících S-boxů, které zruší expanzi.
Nejprve ICE rozdělí vstup na 4 překrývající se 10bitové hodnoty. Jsou to bity 0–9, 8–17, 16–25 a 24–33 vstupu, kde bity 32 a 33 jsou kopiemi bitů 0 a 1.
Druhým je klíčovaná permutace, která je pro ICE jedinečná. Pomocí 20bitového podklíče permutace se bity zaměňují mezi polovinami 40bitového rozšířeného vstupu. (Je-li podklíč bit i je 1, pak bity i a i+20 jsou vyměněny.)
Za třetí, 40bitová hodnota je exkluzivní ORED s 40 dalšími podklíčovými bity.
Za čtvrté, hodnota je přiváděna přes 4 10bitové S-boxy, z nichž každý produkuje 8 bitů výstupu. (Jsou mnohem větší než 8 6 → 4 bitové S-boxy DES.)
Za páté, výstupní bity S-boxu jsou permutovány, takže výstupy každého S-boxu jsou směrovány do každého 4bitového pole 32bitového slova, včetně 2 z 8 „překrývajících se“ bitů duplikovaných během expanze dalšího kola.
Stejně jako DES by softwarová implementace obvykle ukládala S-boxy předem permutované do 4 1024 × 32 bitových vyhledávacích tabulek.
Reference
- Matthew Kwan, The Design of the ICE Encryption Algorithm, Fast Software Encryption 1997, str. 69–82 [1].
- Bart van Rompay, Lars R. Knudsen a Vincent Rijmen, Diferenciální kryptoanalýza šifrovacího algoritmu ICE, Fast Software Encryption 1998, str. 270–283 (PDF).