LEX (rejtjel)

A LEX (LEX-128, LEX-192, LEX-256) egy adatfolyam-rejtjel , amelyet Alex Biryukov fejlesztett ki . A titkosító részt vett az eSTREAM versenyen , és elérte a 3. szakaszt, de ennek ellenére nem választották be a végső portfólióba [1] .

Bevezetés

A LEX titkosítás neve az angol kifejezésből származik .  Szivárgás elszívás . Valamilyen blokk-rejtjelet vettünk alapul , és az ötlet az, hogy a blokkrejtjel belső állapotának részeit bizonyos körökben a kimeneti gamma -ra adjuk ki az adatfolyam titkosítására (esetleg valamilyen szűrési funkció alkalmazása után). Egy ilyen módszer bármely blokk titkosításra alkalmazható, de minden esetben alaposan meg kell fontolni, hogy a belső állapot mely részeit és milyen frekvencián kell lekérni. Ez elsősorban a blokk titkosítás kerek függvényétől és az általa használt kerek kulcsgeneráló algoritmustól függ.

Leírás

Az eredeti LEX titkosítás AES -t használ Output Feedback (OFB) módban : minden körben 4 meghatározott bájt kerül kinyerésre az állapotmátrixból. A LEX-128, LEX-192 és LEX-256 verziók a titkosításhoz használt kulcs hosszában különböznek : 128, 192 és 256 bit. A különbség az AES-hez képest az, hogy a kriptoanalizátor soha nem látja a teljes 128 bites titkosított szöveget , hanem csak a köztes állapot egy részét.

Először is, néhány inicializálási vektort (IV) AES-en titkosítanak a K kulccsal, hogy S = AES k (IV) legyen. Ezután S-t ismételten titkosítják OFB módban, és ekkor minden körben 32 bitet vonnak ki az állapotmátrixból (lásd 1. ábra). 500 titkosítás után egy másik K kulcs kerül kiválasztásra, és a munka folytatódik.

A titkosítás kulcsfontosságú része annak eldöntése, hogy mely bájtokat vegye ki a köztes állapotból és milyen frekvencián. A rejtjel szerzője azt javasolja, hogy minden páratlan körben bájtokat, minden párosban bájtot vonjanak ki (lásd 2. ábra). A bájtok sorrendje nem a biztonság szempontjából fontos, de a titkosítási sebesség szempontjából fontos. A fenti bájtsorrend lehetővé teszi, hogy a képlet segítségével mindössze 4 lépésben kinyerje őket az aktuális állapotból:

ahol t 0 és t 2 a nulla és a második sor a közbülső állapotmátrixban.

Ezen bájtpozíciók kiválasztását a következők indokolják: mindkét halmaz és invariáns az AES-ben használt ShiftRows művelet alatt (az első sor nem, a harmadik két pozícióval van eltolva). Különböző halmazok használata páratlan és páros körökön biztosítja, hogy a két szomszédos kör bemeneti és kimeneti bájtjait ne csak a SubBytes és MixColumns műveletek kapcsolják össze . Így a támadó kénytelen lesz két egymást követő titkosítási kört elemezni. Két kör teljes diszperziót biztosít a titkosítás statisztikájában, ami korlátozza a támadó képességét az oszd meg és uralkodj használatában .

Az utolsó lépés az egyszerű szöveges kimeneti gamma modulo 2 hozzáadása .

Cryptanalysis LEX

A kimeneti sorozat periódusa

Az adatfolyam-rejtjeleknél a legérdekesebb kérdés az eredményül kapott sorozat periódusa gamma -ban . Mivel a LEX AES-t használ, a kimeneti szekvencia (gamma) ismétlődik, amikor az AES által generált rejtjelezett szövegek sorozata hurkol. Ha az AES egy kulcshoz olyan sorozatot generál, amely nem különböztethető meg a véletlentől , akkor a sorozat hossza .

Ha a kimeneti adatfolyam egy 128 bites blokk véletlenszerű permutációja , akkor nem véletlenszerűként ismerhető fel, miután észleli a 128 bites ütközések hiányát egy 264 kimeneti blokkból álló folyamban. A LEX esetében, mivel az AES belső állapotának csak egy része kerül felhasználásra minden körben, a belső állapot kimenethez való hozzárendelése nem egy az egyhez , így ilyen ütközések fordulnak elő.

Idő-memória támadások

Ahhoz, hogy egy adatfolyam-rejtjel ellenálljon az idő-memória kompromisszumos támadásoknak , a következő feltételeknek kell teljesülniük . Ez biztosítja, hogy a támadás összetettsége hasonló legyen a nyers erőszakéhoz. Az inicializálási vektor lehet nyitott, de teljesen véletlenszerűnek kell lennie, hogy elkerüljük a kompromisszum-újraszinkronizációs támadást [2] . LEX bitek esetén, ahol a blokk a nyílt szöveg blokk állapota a titkosítás időpontjában. A belső állapot megfelel a párnak a titkosítás elején és alatt. Így egy kevés is elég a támadás lehetőségének tagadásához.

Algebrai támadások

Ez a fajta támadás még nem teljesen ismert, és nagyon erős lehet. Gondosan tanulmányozni kell a LEX-re való alkalmazásának lehetőségét. A kulcs 500 titkosítás utáni megváltoztatása várhatóan elkerüli az ilyen támadásokat. Egy adott kulcsot megcélozva a kriptoanalizátor csak 500 blokkot kaphat a kimeneti gammából; és a kulcs cseréje után az általa összeállított egyenletrendszer elavulttá válik.

Teljesítmény

Egy munkaciklushoz az AES 128 bites titkosított szöveget állít elő az összes kulcsopcióhoz (128, 192, 256 bit), míg az AES-re épített LEX 32 * N r értéket ad (ahol N r  az adott kulcshosszúság köreinek száma ) titkosított szöveg bitjei. Így a LEX várhatóan körülbelül 2,5-szeres, 3-szoros és 3,5-szeres teljesítményt nyújt az AES-nél a 128, 192 és 256 bites kulcsok esetében. Emellett a rejtjelezés előnye, hogy a használt blokk titkosításból kész implementációkat lehet használni, ami csökkenti a fejlesztési időt és a költségeket.

Lásd még

Jegyzetek

  1. CiteSeerX – A LEX adatfolyam titkosító kriptoanalízise . Letöltve: 2011. november 30. Az eredetiből archiválva : 2018. április 25.
  2. J. Hong és P. Sarkar, "Rediscovery of time memory tradeoffs", 2005. http://eprint.iacr.org/2005/090 Archiválva : 2014. június 1. a Wayback Machine -nél

Linkek

  1. [1] Új, 128 bites kulcsfolyam titkosító LEX
  2. [2] Új támadás a LEX adatfolyam titkosítója ellen
  3. [3] A LEX adatfolyam titkosító kis méretű változatának algebrai kriptoanalízise