MUGI | |
---|---|
zveřejněno | února 2002 |
Velikost klíče | 128 bit |
Počet kol | 32 |
Typ | Streamová šifra |
MUGI je generátor pseudonáhodných čísel , který byl navržen pro použití jako proudová šifra . Projektem CRYPTREC jej doporučila japonská vláda [1] [2] .
Vstupními parametry MUGI jsou 128bitový tajný klíč a 128bitový inicializační vektor. Po přijetí klíče a inicializačního vektoru MUGI generuje 64bitové bloky na základě vnitřního stavu, který se po každém bloku mění. Velikost vnitřního stavu MUGI je 128 bitů. Skládá se ze tří 64bitových stavových registrů ("stavové" registry) a 16 64bitových registrů ("buffer" registrů). [3] MUGI používá nelineární S-boxy původně vzniklé ve standardu Advanced Encryption Standard (AES).
Vývojáři definovali rodinu šifer podobných Panamě jako Panama-like keystream generator (PKSG) . Uvažujme stavový automat se dvěma vnitřními stavy a, vyrovnávací pamětí b a jejich aktualizačními funkcemi a . Šifra je považována za kód patřící do rodiny PKSG, pokud:
Hlavní stav činnosti tohoto pseudonáhodného generátoru se skládá z množiny , kde S je vnitřní stav, F je jeho aktualizační funkce a f je filtr, který izoluje výstupní sekvenci od vnitřního stavu S. V podstatě množina ( S, F) je konečný automat vnitřních stavů šifry. V případě panamské šifry je vnitřní stav rozdělen na dvě části, stav a a vyrovnávací paměť b. Funkce aktualizace je také rozdělena na 2 části. Výstupní filtr f vybere přibližně polovinu stavových bitů a v každém kole.
MUGI je PRNG se 128bitovým tajným klíčem K (tajný parametr) a 128bitovým inicializačním vektorem I (veřejný parametr). Minimální množství dat, které může šifra slova zpracovat, je 64 bitů.
V tomto algoritmu pracují funkce zpracování v konečném Galoisově poli GF(2^8) nad polynomem 0x11b.
Výše zmíněná funkce aktualizace je kombinací funkcí a následujících:
Funkce F je složením sčítání (z bufferu), S-box nelineární transformace, lineární transformace pomocí MDS matice M a byte shuffling. Transformace S a matice M lze jednoduše implementovat vyhledáváním v tabulce.
Transformace S je bitová substituce - S-box v MUGI je stejný jako v AES šifře. To znamená, že náhrada S-boxu je složením inverze x -> x^-1 v GF(2^8) a afinní transformace.
Aktualizační funkce :
Algoritmus MUGI používá tři konstanty: C0 pro inicializaci a C1, C2 ve funkci ρ. Mají následující hodnoty:
Jedná se o hexadecimální hodnoty √2, √3 a √5 vynásobené 264.
Šifra byla navržena tak, aby byla snadno implementovatelná v softwaru i hardwaru. Vývojáři vzali za základ panamskou šifru , kterou lze použít jako hashovací funkci a proudovou šifru.
Vývojáři panamské šifry nepoužili posuvné registry s lineární zpětnou vazbou (LFSR). Místo toho použili principy návrhu proudové šifry na návrh blokové šifry.
Šifra MUGI byla navržena tak, aby byla snadno implementovatelná v softwaru i hardwaru. Ve srovnání s šiframi RC4 , E0 , A5 MUGI vykazují lepší výsledky v hardwarové implementaci na FPGA . Maximální rychlost kódování dosahuje 7 Gbps pro frekvenci čipu 110 MHz. [čtyři]
MUGI lze jednoduše použít jako proudovou šifru. K tomu je nutné rozdělit otevřený text do bloků po 64 bitech. Poté XOR každý z těchto bloků pomocí výstupních bloků šifry MUGI v každém kole pomocí tajného klíče a inicializačního vektoru.
Úplný výčet klíčů pro tento algoritmus trvá v průměru kroků.
Bezpečnost PRNG je určena závislostí mezi vstupními a výstupními bitovými toky (nebo závislostí mezi výstupními bity sekvence). Všechny útoky na PRNG, které mohou poskytnout útočníkovi informace v méně než počtu kroků potřebných k vyčerpávajícímu výčtu klíčů nebo vnitřních stavů generátoru, využívají tyto závislosti. Výstupní bitová sekvence PRNG tedy musí být nepředvídatelná. Lze tedy rozlišit 3 třídy zranitelností PRNG:
Lineárně aktualizovaná složka (buffer) MUGI byla teoreticky analyzována [5] a bylo zjištěno, že vnitřní odezva bufferu, bez zpětné vazby na nelineárně aktualizované komponenty, sestává z binárních lineárních rekurentních sekvencí s velmi malou periodou 48, které se mohou stát zdrojem zranitelnosti. Je ukázáno, jak lze tuto slabinu v principu využít k obnovení tajného klíče a nalezení lineárních statistických vztahů.
Byla také provedena předběžná analýza nelineární složky MUGI [6] , kde byly nalezeny možné zranitelnosti. Přestože v celkové struktuře šifry nebyly nalezeny žádné významné zranitelnosti, bylo zjištěno, že její jednotlivé části jsou velmi citlivé na malé změny. Zejména je možné obnovit celý 1216bitový stav šifry a 128bitový tajný klíč pomocí pouze 56 slov z kanálu ve 2 14 krocích analýzy této informace. Pokud je z této analýzy vyloučena lineární část MUGI, lze tajný 192bitový stav obnovit pomocí pouhých 3 slov z kanálu ve 232 krocích analýzy.
Od roku 2011 však nejsou známy žádné útoky, které by byly rychlejší než útoky hrubou silou na klíčový prostor nebo vnitřní stavy algoritmu MUGI jako celku .
Symetrické kryptosystémy | |
---|---|
Streamové šifry | |
Síť Feistel | |
Síť SP | |
jiný |