Decim

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2018. március 15-én felülvizsgált verziótól ; az ellenőrzések 2 szerkesztést igényelnek .

A kriptográfiában a Decim  egy LFSR-alapú adatfolyam-rejtjel , amelyet Côme Burbain , Oliver Billet, Ann Cantoux, Nicolas Courtois , Blandine Debret, Henry Hilbert, Louis Goubin, Aline Gouget, Louis Grandboulan, Cederic Lardoux, Marin Mignet és Thomas Pornin fejlesztett ki. Herv Sibe . Hardveres implementációra specializálódott. Szabadalmaztatott . Az eSTREAM projektben vezették be , ahol nem jutott túl a harmadik szakaszon.

Bevezetés

A rejtjelekkel szemben támasztott legfontosabb követelmény a  különféle típusú támadásokkal szembeni ellenállás . Az algebrai támadások  az egyik legsúlyosabb biztonsági fenyegetés az adatfolyam-rejtjelekkel szemben . Ha a titkos kulcsbitek kombinációja és az általa generált gammabit közötti kapcsolat egyszerű vagy könnyen megjósolható, akkor a titkos kulcsbitek kombinációja és a kulcsfolyam bit ( gamma ) közötti algebrai kapcsolatok keresése is egyszerű feladat. A titkos kulcs bitjeinek kombinációja (vagy a titkos kulcs által generált LFSR kezdeti állapotának bitjeinek kombinációja ) és a kulcsfolyam bitjei (gamma) közötti kapcsolat bonyolítására egy nemlineáris szűrőfüggvényt használnak . a titkos kulcs bitjeinek és a titkos kulcs bitjeinek kombinációja és a kulcsfolyam bitjei közötti deszinkronizációs mechanizmusok kombinációja (gamma ). Mindkét mechanizmus (a nemlineáris szűrési funkció és az LFSR bitek és a kulcsfolyam bitek kombinációja közötti deszinkronizációs mechanizmus) a működés alapja és a Decim titkosítás kriptoanalitikus támadásainak megelőzésének fő eszköze .

Decim munkásságának áttekintése

A Decim adatfolyam-rejtjel használatának megkezdése egy 80 bites privát kulcs és egy 64 bites nyilvános kulcs (inicializálási vektor) megadásával kezdődik. Ezután a bitek és bitek bizonyos lineáris kombinációival , egy nemlineáris szűrőfunkcióval és az ABSG mintavételezési mechanizmus alkalmazásával kiszámítják a 192 bites LFSR kezdeti állapotát . Mindezen műveletek végrehajtása után megkezdődik a kulcsfolyam [1] generálása, és egy speciális puffert tölt meg BUFFER , amely biztosítja a bitek folyamatos kimenetét a titkosító kimenetére, ahol azokat modulo kettes hozzáadásával egy binárissal. egyszerű szöveges karakterek sorozata .

Specifikáció

LFSR és szűrési funkció

Az LFSR - hez kapcsolódó primitív polinom alakja a következő:

Jelölje [2] -vel az LFSR kimenetről kapott bitsorozatot , akkor az LFSR kimeneten lévő bit kiszámításának szabálya :

Az LFSR bitek és bitek közötti függőségek bonyolítására hét változóból álló nemlineáris szűrőfüggvényt használnak . Minden ciklusban kétszer kerül alkalmazásra az LFSR különböző pozícióiban lévő bitekre . Jelölje és olyan függvényeket, hogy

és

, ahol

Hadd

.

LFSR bitpozíciók , amelyek argumentumai és argumentumai :

Akkor

.

Az ABSG mintavételi mechanizmus

Az ABSG mintavételi mechanizmus az algebrai támadások és bizonyos típusú gyors korrelációs támadások megelőzésére szolgál a szűrt LFSR bitek és a gamma bitek deszinkronizálásával . Az ABSG mintavételi mechanizmusának feladata, hogy a sorozatot a form részsorozataira bontsa , ahol , és kimenet , ha , és egyébként.

ABSG algoritmus

Bevitel: ( )

Készlet: ,

Ismételje meg a következő lépéseket:

  1. , ;
  2. ;
  3. míg ( == ) ;
  4. ;
  5. kimenet ;
  6. ;

Példa:

legyen , akkor az ABSG kimenetén lévő megfelelő sorozat alakja .

Átlagosan az ABSG bemenetén lévő bit a kimeneten lévő bitnek felel meg , amint az a példából látható.

Puffer BUFFER

Mivel az ABSG bitkimenet nem állandó ( átlagosan három bitet használnak egy bit létrehozásához ), és mivel a stream titkosítónak minden órajelciklushoz egy gamma bitet kell kiadnia, a BUFFER puffert használjuk a gamma bitek folyamatos kibocsátására .

Az RSLOS kezdeti állapotának inicializálása után megkezdődik a BUFFER kitöltése , és csak a BUFFER kitöltése után kezdődik meg a nyílt szöveg titkosítása (a BUFFER ráadásul a sor típusának megfelelően működik  - az első bit, amely a BUFFER -be kerül, a először kilépni).

Lehetséges, hogy bár a BUFFER -nek ki kellett volna bocsátania egy kicsit, üresnek bizonyult. Ez a valószínűség kicsi, például egy négy bemenettel rendelkező BUFFER esetén annak a valószínűsége, hogy üres, amikor egy kicsit ki kellene adnia . A Decim fejlesztői azt javasolják, hogy hagyják figyelmen kívül ezt a lehetőséget, feltételezve, hogy annak valószínűsége nulla.

Az RLOS kezdeti állapotának inicializálása

A titkos kulcs 80 bites, a nyilvános kulcs (Initialization Vector) 64 bites, de nullától 80 bitig párnázott. Legyen az LFSR bitjei . Ezután az LFSR kezdeti állapotát a következőképpen számítjuk ki:

Látható, hogy az LFSR lehetséges kezdeti állapotainak száma .

Néhány magyarázat a Decim működéséről

RSLOS

Az időmemória kompromisszumos támadások elkerülése érdekében az LFSR hosszának legalább 160 bitnek kell lennie. Ezenkívül az LFSR -nek egyszerűnek kell lennie a hardveres megvalósításban. Ezen tényezők alapján az LFSR méretet 192 bitre választottuk.

A primitív polinom Hamming súlyának elég nagynak kell lennie ahhoz, hogy megakadályozza a gyors korrelációs támadást , de másrészt a primitív polinom Hamming súlyának nem szabad túl nagynak lennie, hogy ne növelje meg a rejtjelezés idejét a hardverben. végrehajtás.

Szűrő funkció

A szűrőfüggvénynek egyensúlyinak kell lennie [3] , és a differenciális kriptoanalízis elkerülése érdekében meg kell felelnie a terjedési kritériumnak : a függvénynek egyensúlyinak kell lennie. Ezenkívül a hardveres megvalósítás egyszerűsítése érdekében kívánatos, hogy a függvény szimmetrikus legyen, azaz a függvény értéke csak az argumentumának Hamming-súlyától függjön (x_1,…x_7 halmaz). Mindezt a követelményt az alak másodfokú függvénye teljesíti:

,

amelyet a Decim titkosítás szűrési funkciójaként használnak .

A decim titkosítás erőssége

Az időmemória -kompromittáló támadások összetett eseteit figyelmen kívül hagyva a Decim titkosítás elleni támadások számítási összetettsége a szerzők szerint megegyezik a nyers erejű támadás összetettségével, és nem kisebb, mint [4] .

De egy Hongyang Wu és Bart Prenil által végzett független kriptográfiai elemzés kimutatta a Decim titkosítás megbízhatatlanságát, és a támadás számítási bonyolultsága nem több, mint , ami abszolút elfogadhatatlan [5] .

Jegyzetek

  1.  - ütemre generált gamma
  2.  - órajelenként számított bit
  3. Egy változók függvényét egyensúlynak nevezzük, ha Hamming-súlya egyenlő
  4. [1] Archiválva : 2011. május 27. a Wayback Machine -nél C. Berbain1, O. Billet1, A. Canteaut2, N. Courtois3, B. Debraize, H. Gilbert, L. Goubin, A. Gouget, L. Granboulan, C Lauradoux, M. Minier, T. Pornin, H. Sibert Decim – új adatfolyam-rejtjel hardveres alkalmazásokhoz
  5. [2] Archivált : 2011. május 27., a Wayback Machine Hongjun Wu, Bart Preneel Cryptanalysis of Stream Cipher DECIM Katholieke Universiteit Leuven, Dept. ESAT/COSIC

Linkek