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.
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 .
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 .
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 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:
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 BUFFERMivel 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.
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 .
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.
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 .
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] .
Szimmetrikus titkosítási rendszerek | |
---|---|
Rejtjelfolyam adatfolyam | |
Feistel hálózat | |
SP hálózat | |
Egyéb |