A Michiancio kriptorendszert, a GGH titkosítási sémán alapuló kriptorendszert Daniel Michiancio , a San Diego-i Kaliforniai Egyetem professzora javasolta 2001-ben .
A GGH titkosítási séma a rácsos kriptográfiára támaszkodik , amelyet ígéretesnek tartanak a posztkvantum rendszerekben való használatra ( mivel az egész faktorizációt , diszkrét logaritmust , diszkrét logaritmust használó titkosítási rendszereket elliptikus görbéken hatékonyan meg lehet törni egy kvantumszámítógép , ha Shor algoritmussal alkalmazzák ). . A Michiancio kriptorendszer valójában a GGH titkosítási séma továbbfejlesztése, a kulcs és a rejtjelezett szöveg méretére vonatkozó követelmények egyszeres csökkentésével a rendszer biztonságának veszélyeztetése nélkül, hol van a rács mérete . . Tipikus kriptorendszereknél ez több száz. Christoph Ludwig 2004-ben empirikusan kimutatta, hogy a biztonságos használathoz emellett egy kulcs létrehozása és a visszafejtése is elfogadhatatlanul hosszú időt vesz igénybe, magának a kulcsnak pedig 1 MB -nál nagyobbnak kell lennie . Emiatt ez a kriptorendszer a gyakorlatban nem használható [1] [2] [3] [4] .
Legyen , ahol lineárisan független vektorok halmaza , és mindegyik vektor összetevője egész szám, és ezeknek a vektoroknak a mátrixa . Továbbá az elmélet a számára készült . Egy rácsot halmaznak nevezünk [5] .
Tekintettel arra, hogy az alap nem feltétlenül egyedi, alapjául szokás a hermitikus normálformát választani , amely minden egyes rácsra egyedi. Ez azt jelenti, hogy az alapvektorokból álló mátrix felső háromszög alakú , minden átlós elem szigorúan pozitív, a többi elem pedig teljesül . Ennek a mátrixtípusnak a következő hasznos tulajdonságai vannak. Először is, a Gram-Schmidt ortogonalizáció révén egy ilyen mátrixot átlós alakra redukálunk, az átlón lévő elemekkel . Másodszor, egy ilyen mátrix determinánsa egyenlő az átlós elemeinek szorzatával, azaz [5] .
Ez utóbbi magában foglalja az egész rácsok egy fontos tulajdonságát is:
Legyen tetszőleges vektorok és olyanok, hogy . Ebben az esetben akkor és csak akkor, ha .
Legyen egy jobb oldali paralelepipedon , ahol az egész koordináták , a Gram-Schmidt folyamat által ortogonalizált bázisvektorok , . Ilyen paralelepipedonokkal lehet csempézni a teret . Ekkor bármelyikhez van egy egyedi vektor . Az ilyen vektort egy vektorra modulo redukáltnak nevezzük . Ezt úgy kapjuk meg, hogy megtaláljuk a relatív pozíciót -ben , ahol [5] .
Ezt a vektort a következő algoritmussal találhatjuk meg :
A rácsokon lévő kriptorendszerekben a kulcsok az alapok . Legyen és legyen ugyanannak a rácsnak nyilvános és privát bázisa . A titkosítási rendszer és a GGH titkosítási rendszer közötti különbség az egyirányú funkció optimálisabb megválasztásában rejlik . A funkció fontos jellemzője a Michiancio kriptorendszerben a determinizmus . A következő részben a GGH formájú függvények általános osztályát állítjuk össze. [7]
A GGH titkosítási sémában az egyirányú függvény a következőt ölti : , ahol a rejtjelezett szöveg , egy egész szám vektor, és a hibavektor hossza legfeljebb , . Ez utóbbira azért van szükség, hogy a hiba ne okozzon erős torzulásokat privát alapú számításnál, és fordítva, nyilvános számításnál. Feltételezzük, hogy az üzenet kódolása -ben van , és véletlenszerűen van kiválasztva [5] .
A GGH-típusú egyirányú függvénycsalád , amelyet algoritmusok és , paramétereznek , megfelel:
Ha a hibavektor hossza kisebb, mint , akkor a privát bázis segítségével megkereshetjük a legközelebbi pontot , és ennek megfelelően a helyreállítást ( a legközelebbi vektor megtalálásának problémája ) [5] .
Legyen ismert egy „jó” privát bázis , vagyis annak használatával megoldható a legközelebbi vektor megtalálásának problémája -ben , ami megegyezik - a rejtjelezett szöveg visszafejtése . A feladat az, hogy egy ilyen nyilvános alapból generáljunk, hogy minimálisra csökkentsük a vonatkozó információkat . A szokásos GGH titkosítási sémában véletlenszerű transzformációk halmazát alkalmazzák a . A Michiancio kriptorendszer a Hermite Normal Formát használja nyilvános alapként , azaz (HNF - Hermite Normal Form). Egyedülálló egy adott rácsra, ahogy fentebb említettük . Ez oda vezet, hogy ha az adott rácsnak van más alapja , akkor . Ez azt jelenti, hogy nem tartalmaz több információt, mint a -ról , amelyen ennek a kriptorendszernek a biztonsága alapszik [5] .
Ezután szimulálnia kell egy véletlenszerű rácspont hozzáadását . Ideális esetben ezt a pontot tetszőlegesen egységesen kell kiválasztani az összes rácspont között. Ez azonban gyakorlati vagy elméleti szempontból lehetetlen. Majdnem ugyanazt az eredményt kapjuk, ha a redukált vektort használjuk . A hibavektor a nyilvános alapon modulo módon redukálódik , hogy megkapja a titkosított szöveget , ahelyett, hogy véletlenszerű vektort adna hozzá . Ennek eredményeként az egyirányú függvényt a következőképpen adjuk meg: , ahol . A mátrix felső háromszög alakja miatt ez a függvény számítási szempontból nagyon egyszerű. Az érvelést alkalmazva a redukált vektor kiszámításához a -tól kezdve egy képlet található , amely egyedi pontot ad az [5] dobozban .
Legyen magánalap, és legyen viszonylag nagy, legyen nyilvános és . A bázis egy függvényt generál, amely a megfelelő egyenes paralelepipedonnál kisebb hosszúságú vektorokat képez le . Főbb pontok:
Ennek a kriptorendszernek az új funkciója ugyanolyan biztonságos, mint a GGH titkosítási séma szolgáltatása . A következő tétel kimondja, hogy a fent definiált függvény legalább olyan jó, mint bármely más GGH típusú függvény [5] .
A következő állítás érvényes: minden függvényre és minden olyan algoritmusra, amely nem nulla valószínűséggel talál meg valamilyen részinformációt , létezik egy hatékony algoritmus, amelynek bemenete ugyanazt az információt ugyanolyan valószínűséggel tudja visszaállítani [5] .
Bizonyítás: legyen egy feltörni képes algoritmus . Adott nyilvános alap = és rejtjelezett szöveg . A feltörő algoritmusnak meg kell próbálnia információt találni a . Először és . Az előző rész elméleti eredményeiből az következik, hogy és . Ezért a megfelelő eloszlásúak. Az algoritmust rájuk alkalmazva megkapjuk az [5] tétel állítását .
Hagyja, hogy a privát kulcs teljesüljön , akkor megbecsüljük a kulcs által elfoglalt méretet . A Hadamard-egyenlőtlenséget felhasználva , valamint azt, hogy a rendszer nyilvános bázisára és titkosított szövegére a GGH becslések és , ebből az következik, hogy a becslések rendszerünk nyilvános alapjára és titkosított szövegére és [5] [7] .
Elméletileg az algoritmus várhatóan gyorsabb, mint a GGH, két okból is (a tapasztalati eredményeket alább közöljük). Először is, a GGH rendszerek titkosítási ideje nagymértékben függ a nyilvános kulcs méretétől. A kulcs által elfoglalt memória elméleti becslései a kulcs csökkentését, és ezáltal a titkosítás felgyorsulását jelzik . Ugyanakkor a GGH futási ideje összemérhető az RSA áramkör futási idejével . Másodszor, a kulcs generálásához az eredeti algoritmus a Lenstra-Lenstra-Lovas algoritmust alkalmazza a nagy dimenziós, nagy elemértékű mátrixokra, míg a Michiancio-rendszer egy meglehetősen egyszerű algoritmust használ a Hermitiánus normálalak megtalálásához. A visszafejtéshez a Babai algoritmust [8] használjuk , némi memória- és pontossági veszteséggel, de időbeli javulással helyettesíthető egy egyszerűbb kerekítési algoritmussal [9] , azonban ebben a részben a végrehajtási idő gyorsulása nem várható.
A gyakorlatban ennek a rendszernek a biztonsága érdekében van szükség . Feltételezve, hogy az időbeli javulás eléri a maximális aszimptotikus becslést , a szükséges minimumnak nagyobbnak kell lennie, mint . Megmutatták továbbá, hogy a nyilvános kulcsnak legalább 1 MB-nak kell lennie. Ráadásul a kulcsgenerálási idő körülbelül egy napot vesz igénybe. A titkosítási eljárás valóban elég gyors. A visszafejtés azonban instabil a Babai algoritmus miatt . Ez leküzdhető, de akkor 73 percet vesz igénybe az ortogonalizáció nélkül . Ha ezt a lépést előre megtette, akkor 4,8 MB hozzáadódik a memóriaköltségekhez ugyanazon dimenzió esetében. Ezekből az eredményekből az következik, hogy a Michiancio kriptorendszer nem alkalmazható a gyakorlatban [1] [2] [3] [4] .