Svagheter hos arraybaserade strömkrypton
Konferensen SASC 2007 har genomförts, och från den och det pågående arbetet med eSTREAM trillar det just nu ut många spännande kryptonyheter. En nyligen publicerad, intressant artikel är On the (In)security of Stream Ciphers based on Arrays and Modular Addition av Souradyuti och Preneel. Vad artikeln handlar om, och varför är den intressant? Det här:
Det finns ett antal strömkrypton som i grunden är uppbyggda på likartat sätt: En array fylld med dataelement där initialordningen av element styrs av den hemliga nyckeln. Genom enkla aritmetiska operationer styrs hur elementen i arrayen flyttas runt i arrayen. Motsvarande enkla operationer avgör även vilket element i arrayen som är (bas för) nästa genererade kodelement. Figuren visar ett exempel på hur detta går till:
![]()
Exemplet är hämtat från det troligen mest kända kryptot av den här typen - RC4. RC4 har tyvärr haft många problem med säkerheten i algoritmen, och trots flera försök att förbättra säkerheten (ex RC4A) är det i dag en ganska sargad algoritm. Det Souradyuti och Preneel visar i sin artikel, vilket kan förklara många av de problem som vi sett, är att det finns en inbyggd svaghet i den generella algoritmuppbyggnaden i sig. Författarna skriver:
We argue, counter-intuitively, that the most useful characteristic of an array, namely, the association of array-elements with unique indices, may turn out to be the origins of distinguishing attacks if adequate caution is not maintained.
In short, an adversary may attack a cipher simply exploiting the dependence of array-elements on the corresponding indices. Most importantly, the weaknesses are not eliminated even if the indices and the array-elements are made to follow uniform distributions separately.
Författarna går sedan vidare och attackerar inte bara eSTREAM-kandidaterna Py och Py6, utan även äldre krypton, bland annat min gamla favorit ISAAC. Just ISAAC är ett exempel på ett krypto som är inspirerat av RC4, och fram till i dag varit ansedd som ett starkt krypto. Men i artikeln presenteras attackresultat som gör ISAAC till ett praktiskt sätt knäckt krypto. Spännande och lite skrämmande.
May 21st, 2007 at 10:02 pm
[...] Skönt att veta. Det jag funderar på ärFrågan är dock om den generella svaghet i arraybaserade krypton som använder modulär aritmetik för tillståndsuppdateringar ändå gör RFC 4345 ointressant. Borde vi kanske helt frankt se till att få bort RC4, ex till förmån för AES-CTR. Det verkar finnas ett starkt behov, intresse att fortsätta med RC4 - nästan oavsett vad som händer. [...]
August 16th, 2007 at 5:43 am
Den i artikeln beskrivna attacken på ISAAC är felaktig då de inte använder den korrekta ISAAC-algoritmen, se http://eprint.iacr.org/2006/438.pdf
Den senare introducerar dock nya svagheter i ISAAC.
August 16th, 2007 at 6:39 am
Aloha!
Stort tack A för den informationen. Detta måste jag blogga om i morgon!
August 16th, 2007 at 1:13 pm
[...] A lämnade en i går en intressant kommentar med en länk till en artikel av Jean-Philippe Aumasson som i sin artikel visar att delar av [...]