ISAAC (šifra) - ISAAC (cipher)
ISAAC (indirection, shift, akumulate, add, and count) je kryptograficky bezpečný generátor pseudonáhodných čísel a a proudová šifra navrhl Robert J. Jenkins Jr. v roce 1993.[1] The referenční implementace zdrojový kód byl věnován veřejná doména.[2]
Úkon
ISAAC algoritmus má podobnosti s RC4. Využívá pole 256 čtyř oktetů celá čísla jako vnitřní stav, zapisování výsledků do jiného 256 čtyř oktetového celočíselného pole, ze kterého se čte jeden po druhém, dokud nejsou prázdné, a poté se přepočítají. Výpočet spočívá ve změně i-prvek s (i⊕128) -element, dva prvky stavového pole nalezené pomocí indirection, akumulátor a čítač, pro všechny hodnoty i od 0 do 255. Vzhledem k tomu, že pro každé 32bitové výstupní slovo trvá pouze přibližně 19 32bitových operací, je u 32bitových počítačů velmi rychlý.
Kryptoanalýza
Kryptoanalýza se ujala Marina Pudovkina (2001).[3] Její útok může obnovit počáteční stav se složitostí, která je aproximována na méně než čas potřebný k prohledání druhé odmocniny všech možných počátečních stavů. V praxi to znamená, že útok potřebuje namísto . Tento výsledek neměl žádný praktický dopad na bezpečnost ISAAC.[4]
V roce 2006 Jean-Philippe Aumasson objevil několik souborů slabých států.[5] Čtvrtá představená (a nejmenší) sada slabých stavů vede k vysoce zaujatému výstupu pro první kolo ISAAC a umožňuje odvození vnitřního stavu, podobně jako slabost v RC4. Není jasné, zda útočník dokáže pouze z výstupu zjistit, zda je generátor v jednom z těchto slabých stavů nebo ne. Také ukazuje, že předchozí útok[6] je vadný, protože Pavel -Preneel útok je založen spíše na chybném algoritmu než na skutečném ISAAC. Navrhuje se vylepšená verze ISAAC, zvaná ISAAC +.[4]
Použití mimo kryptografii
Mnoho implementací ISAAC je tak rychlých, že mohou konkurovat jiným vysokorychlostním PRNG, a to i těm, které jsou primárně určeny pro rychlost, nikoli pro bezpečnost. V použití existuje jen několik dalších generátorů s tak vysokou kvalitou a rychlostí. V nástroji Unix se používá ISAAC skartovat bezpečně přepsat data.[7]
Reference
- ^ Robert J. Jenkins Jr., ISAAC. Fast Software Encryption 1996, str. 41–49.
- ^ Šifra ISAAC
- ^ Marina Pudovkina, Známý útok prostého textu na generátor klíčových toků ISAAC, 2001, Kryptologický archiv ePrint: Zpráva 2001/049, [1].
- ^ A b „Na pseudonáhodném generátoru ISAAC“ (PDF). Archiv kryptologie ePrint. Citováno 21. srpna 2016.
- ^ Jean-Philippe Aumasson, Na pseudonáhodném generátoru ISAAC. Archiv kryptologie ePrint, zpráva 2006/438, 2006.
- ^ Souradyuti Paul, Bart Preneel, O (ne) zabezpečení proudových šifer založených na polích a modulárním přidání. Asiacrypt 2006.
- ^ GNU coreutils git
externí odkazy
- Oficiální web ISAAC
- Několik implementací ISAAC v Rosetta Code
- Port Pascal / Delphi
- Matematika :: Náhodné :: ISAAC, implementace algoritmu Perlského modulu
- isaac.js, implementace JavaScriptu