A rácselméleti problémák a rácsokon (vagyis a halmazon definiált diszkrét additív alcsoportokon ) kapcsolatos optimalizálási problémák egy osztálya . Az ilyen problémák feltételezett rossz megoldhatósága központi szerepet játszik a biztonságos kriptorendszerek rácsokon történő felépítésében . Az ilyen kriptorendszerekben való alkalmazásokhoz a vektortereken (gyakran ) vagy a szabad modulokon (gyakran ) lévő rácsokat kell figyelembe venni.
Tegyük fel, hogy minden alábbi probléma esetén (más specifikusabb bemenetektől eltekintve) kapunk egy bázist egy V vektortérhez és egy N normához . A normáknál általában az L 2 -t veszik figyelembe . Azonban más normákat is figyelembe vettek, mint például az L p ) és különböző eredményekben jelennek meg [1] . Az alábbi cikkben az L rács legrövidebb vektorának hosszát jelenti , azaz
A legrövidebb vektorproblémában ( SVP) egy L rács megadja a V vektortér és egy N norma bázisát (gyakran L 2 ), és meg kell találni egy nullától eltérő, minimális hosszúságú vektort V -ben N normával . az L rácsban . Más szóval, az algoritmus kimenetének nullától eltérő v vektornak kell lennie , így .
A ZKV γ -közelítő változatában meg kell találni egy zérustól eltérő rácsvektort, amelynek hossza nem haladja meg a -t .
Csak a probléma pontos változata ismert, hogy NP-nehéz a randomizált redukcióhoz [2] [2] .
Ezzel szemben az egységes normák ekvivalens problémája ismert, hogy NP-kemény [3] .
Az euklideszi norma EQV pontos verziójának megoldásához számos különböző megközelítés létezik, amelyek két osztályba oszthatók - szuperexponenciális időt ( ) és memóriát igénylő algoritmusok, valamint exponenciális időt és memóriát ( ) igénylő algoritmusok a dimenzióban. a rácsról. Az algoritmusok első osztályában a rácsszámláló algoritmusok [4] [5] [6] és a véletlen minta-redukciós algoritmusok [7] [8] a legjelentősebbek , míg a második osztályba a rácsrostálás [9] [10] [11] tartozik. , Voronoi-cellák kiszámítása a rácson [12] [13] és diszkrét Gauss-eloszlások [14] . Nyitott probléma, hogy vannak-e olyan algoritmusok, amelyek a pontos CTE-t közönséges exponenciális időben ( ) oldják meg, és olyan memóriát igényelnek, amely polinomiálisan függ a rács méretétől [15] .
A CQV γ euklideszi norma -közelítő változatának megoldására a legismertebb megközelítés a rácsbázis redukcióján alapul . A nagy Lenstra-Lenstra-Lovas algoritmus a rácsalap redukciójára polinomiális időben talál megoldást a rács dimenziójából. Kis értékek esetén általában a blokk Korkin-Zolotarev algoritmust (BKZ) [16] [17] [18] használják , ahol az algoritmus bemenete (blokkméret ) határozza meg az időbonyolultságot és a kimenet minőségét - nagy közelítési együtthatók esetén a kis blokkméret elegendő , és az algoritmus gyorsan leáll. Kisebbeknél több kell a kellően rövid rácsvektorok megtalálásához, és az algoritmus tovább fut. A BKZ-algoritmus belsőleg a pontos ZKV-algoritmust használja szubrutinként (amely nem haladja meg a dimenziójú rácsot ), és az általános összetettség szorosan összefügg ezen ZKV-hívások költségével a dimenzióban .
A probléma az, hogy különbséget tegyünk a CQV azon változatai között, amelyekben a válasz nem haladja meg az 1-et vagy többet , ahol a rácsdimenzió fix függvénye lehet . Adott egy rácsbázis, az algoritmusnak el kell döntenie, hogy vagy . előfeltételekkel kapcsolatos egyéb problémákhoz hasonlóan az algoritmus minden más esetben megengedett hibákat.
A feladat egy másik változata bizonyos funkciókra vonatkozik . Az algoritmus bemenete a bázis és a szám . Az algoritmus biztosítja, hogy a Gram-Schmidt ortogonalizációban szereplő összes vektor hossza legalább 1 legyen, így és úgy, hogy , ahol a dimenzió. Az algoritmusnak el kell fogadnia, ha , és el kell utasítania, ha . Nagy ( ) esetén a probléma megegyezik a -val , mivel [19] az LLL algoritmust használó előfeldolgozó lépés redundánssá teszi a második feltételt (és ezért ).
A legközelebbi vektorprobléma (CVP) egy L rácshoz adott egy V vektortérbázist és egy M metrikát (gyakran L 2 ), valamint egy v vektort V -ben , de nem feltétlenül L -ben . L -ben meg kell találni egy vektort, amely a legközelebb van v -hez (az M mértékhez képest ). A STAT γ -hozzávetőleges változatában meg kell találni a rácsvektort olyan távolságban, amely nem haladja meg a -t .
A legközelebbi vektor megtalálásának problémája a legrövidebb vektor megtalálásának problémájának általánosítása. Könnyen kimutatható, hogy adott a CBT γ prediktora (lásd alább), a CTA γ néhány lekérdezéssel megoldható a prediktoron [20] . A legrövidebb vektor megtalálásának természetes módszere a γ STTA prediktor lekérdezésével a legközelebbi vektor megkeresésére nem működik, mert a 0 egy rácsvektor, és az algoritmus potenciálisan 0-t adhat vissza.
A ZKV γ -ról ZBV γ -ra való redukció a következő: Tegyük fel, hogy a ZKV γ feladat bemenete a rács alapja . Tekintsük a bázist , és legyen a ZBV algoritmus által visszaadott vektor . Azt mondják, hogy egy halmaz legrövidebb vektora az adott rács legrövidebb vektora.
Goldreich, Missiancio, Safra és Seifert kimutatták, hogy a ZKV bármilyen összetettsége ugyanazt a komplexitást jelenti a ZBV esetében is [21] . Arora, Babai, Stern , Sweedyk a VPD eszközök segítségével kimutatták, hogy az FBV-t nehéz faktorral közelíteni , hacsak nem [22] . Dinur, Kindler, Safra ezt azzal erősítette meg, hogy rámutat a c [23] NP - keménységére .
Az STT algoritmusát , különösen a Fincke és Post [5] változatát, például adatfelderítésre használják vezeték nélküli kommunikációs rendszerekben több bemenettel/többszörös kimenettel ( MIMO ) (kódolt és dekódolt jelekhez) [24] [12] . Ebben az összefüggésben gömbi dekódolásnak nevezik [25] .
Az algoritmust az egész számú GNSS vivőfázis -meghatározás ( GPS ) területén alkalmazták [26] . Ezen a területen ezt LAMBDA módszernek nevezik .
Ez a feladat hasonló a GapSVP feladathoz. Mert a bemenet a rács és a vektor alapja , és az algoritmusnak meg kell válaszolnia, hogy melyik feltétel teljesül
A probléma triviálisan benne van az NP osztályban bármely közelítési együttható esetén.
Klaus Schnorr 1987-ben kimutatta, hogy a determinisztikus polinomiális idő algoritmusok meg tudják oldani a [27] problémáját . Aitai, Kumar, Sivakumar kimutatta, hogy a valószínűségi algoritmusok valamivel jobb közelítési tényezőt kaphatnak [9] .
1993-ban Banaszczyk megmutatta, mit tartalmaz [28] . 2000-ben Goldreich és Goldwasser kimutatta, hogy a problémát mind az NP, mind a coAM osztályba helyezi [29] . 2005-ben Aharonov és Regzsev kimutatta, hogy bizonyos állandók esetén a c probléma szerepel a [30] -ban .
Az alsó határok esetében Dinur, Kindler és Safra 1998-ban kimutatta, hogy a probléma NP-nehéz [31] számára .
Adott egy n dimenziójú L rács, az algoritmusnak n lineárisan független vektort kell előállítania úgy, hogy , ahol a jobb oldal a rács összes bázisából áll.
A -közelítő változatban, ha adott egy n méretű L rács, az algoritmus n lineárisan független hosszúságú vektort talál , ahol a -edik egymást követő minimum .
Ez a feladat hasonló a STAT-hoz. Adott egy vektor, amelynek távolsága a rácstól nem haladja meg a -t , akkor az algoritmusnak a legközelebbi rácsvektort kell visszaadnia.
Adott a rács alapja, az algoritmusnak meg kell találnia a legnagyobb távolságot (vagy egyes változatokban a közelítését) bármely vektortól a rácsig.
Sok probléma könnyebbé válik, ha a bemeneti bázis rövid vektorokból áll. A legrövidebb bázisproblémát (SCB) megoldó algoritmusnak a rácsbázis ismeretében egy ekvivalens bázist kell adnia úgy, hogy a leghosszabb vektor hossza a lehető legrövidebb legyen.
A γ PKB -probléma közelített változata az , hogy olyan bázist találjunk, amelynek leghosszabb vektora nem haladja meg 1-szeresen a legrövidebb bázis leghosszabb vektorának hosszát.
A problémák átlagos esetének nehézsége képezi az alapot a legtöbb kriptográfiai séma biztonságának bizonyításához. A kísérleti bizonyítékok azonban azt sugallják, hogy a legtöbb NP-nehéz probléma nem rendelkezik ezzel a tulajdonsággal – csak a legrosszabb esetben kemények. A rácselméletben sok problémát feltételeztek vagy bizonyítottak átlagosan nehéznek, ami vonzóvá teszi őket a kriptográfiai sémák számára. Azonban néhány rácselméleti probléma legrosszabb nehézségét használják fel erős kriptográfiai sémák létrehozására. Az ilyen áramkörökben a legrosszabb eset nehézségeinek alkalmazása a nagyon kevés áramkör osztályába sorolja őket, amelyek nagy valószínűséggel még a kvantumszámítógépek számára is stabilak .
A rácselmélet fenti problémái könnyen megoldhatók, ha „jó” alapot adunk. A bázisredukciós algoritmusok célja egy adott rácsbázisra egy új bázis létrehozása, amely viszonylag rövid, majdnem ortogonális vektorokból áll. A Lenstra –Lenstra–Lovász rácsbázis-redukciós algoritmus ( LLL ) egy korai hatékony algoritmus volt erre a problémára, amely redukált rácsbázist tudott előállítani polinomidőben [32] . Ezt az algoritmust és további fejlesztéseit használták egyes kriptográfiai sémák feltörésére, ami a kriptográfia nagyon fontos eszközévé vált. Az LLL kísérleti adatokon elért sikere arra a meggyőződésre vezetett, hogy a rácsbázis csökkentése egyszerű feladat lehet a gyakorlatban. Ez a hiedelem azonban megtört, amikor az 1990-es évek végén új eredmények születtek a rácselmélet problémáinak nehézségeiről, kezdve Aitai [33] eredményeivel .
Alapművében Aitai kimutatta, hogy a ZKV NP-kemény, és talált néhány összefüggést a legrosszabb eset komplexitása és a rácselmélet egyes problémáinak átlagos összetettsége között [2] . Ezen eredmények alapján Aitai és Dwork létrehoztak egy nyilvános kulcsú kriptorendszert , amelynek titkossága csak a ZKV egy adott verziójának legrosszabb keménységével igazolható [34] , amely az első eredménye volt a legrosszabb esetet használó biztonságos rendszerek létrehozásának. keménység [35] .