A kriptográfiában a tanulás hibával kulcscsere egy olyan kriptográfiai algoritmus, amely lehetővé teszi két fél számára, hogy létrehozzanak és kicseréljenek egy titkos kulcsot, amelyet az üzenetek egymás közötti titkosításához használnak. Az RLWE-KEX ( Ring Learning with Errors Key Exchange ) a nyilvános kulcsú algoritmusok egyike, amelyet arra terveztek, hogy védelmet nyújtson egy kvantumszámítógéppel rendelkező ellenféllel szemben . Ez azért fontos, mert a ma általánosan használt nyilvános kulcsú kriptográfiai rendszereket egy kvantumszámítógép könnyen feltöri [1] . Az RLWE-KEX egyike a sok posztkvantum kriptográfiai algoritmusnak , amely a rácsos kriptográfiával kapcsolatos matematikai problémák megoldásának összetettségén alapul [2] .
Az 1980-as évek óta a kriptográfiai kulcscsere és a digitális aláírások biztonsága az interneten elsősorban néhány nagy nyilvános kulcsú kriptorendszeren alapul. Ezeknek az algoritmusoknak a kriptográfiai erőssége kisszámú, klasszikus módszerekkel nehezen kiszámítható, de kvantumszámítógép segítségével meglehetősen könnyen megoldható feladaton alapul [3] . Ezek a problémák a két gondosan megválasztott prím faktorizálása, a diszkrét logaritmus kiszámításának nehézsége egy kiválasztott véges mezőben, és a diszkrét logaritmus kiszámításának nehézsége egy elliptikus görbe kiválasztott pontcsoportjában . Egyes vélemények szerint a kvantumszámítógépek 10-15 éven belül elérhetőek lesznek [4] . Ha elegendő memóriával rendelkező kvantumszámítógépeket építenének, az e három klasszikus kemény problémán alapuló összes nyilvános kulcsú titkosítási rendszer rendkívül sebezhetővé válna [1] . Ezt a típusú nyilvános kulcsú titkosítást manapság internetes oldalak , számítógép- engedélyezési információk védelmére, valamint a számítógépek rosszindulatú szoftverek fogadásának megakadályozására használják [5] .
A kvantumszámítógéppel nem feltörhető kriptográfiát kvantumbiztonságos vagy posztkvantum kriptográfiának nevezik . Ezen algoritmusok egyik osztálya az Oded Regev által bevezetett „ hibákkal tanulás ” koncepción alapul2005-ben [6] . A hibatanulás speciális formája egy véges mező feletti polinomgyűrűben működik . Ezt a speciális űrlapot Errored Learning Ringnek vagy RLWE-nek [7] nevezik .
Számos kriptográfiai algoritmus működik az RLWE paradigma alapján. Vannak nyilvános kulcsú titkosítási rendszerek , homomorf titkosítási algoritmusok és RLWE digitálisan aláírt algoritmusok a nyilvános kulcson kívül. A kulcscsere az aszimmetrikus titkosítás egyik típusa, amely megosztott titkos kulcsot hoz létre egy kommunikációs kapcsolaton lévő két kölcsönhatásban lévő ügynök között. A kulcscsere klasszikus példája a Diffie-Hellman protokoll (és ennek kiterjesztéseként az Elliptic Curve Diffie-Hellman protokoll ). A központ egy adásból áll a vonal egyik végéről és egy adásból a vonal másik végéről [8] .
Az RLWE kulcscserét a nem megbízható kommunikációs csatornákon keresztüli titkos kulcsok biztonságos generálására használt protokollok kvantumbiztos helyettesítésére tervezték. A Diffie-Hellman protokollhoz hasonlóan az RLWE is biztosítja a " tökéletesen továbbított titkosság " kriptográfiai tulajdonságát [9] , amelynek célja a tömeges megfigyelési programok hatékonyságának csökkentése és annak biztosítása, hogy ne legyenek hosszú távú titkos kulcsok, amelyek veszélyeztethetők, lehetővé téve a tömeges visszafejtést.
Egy q prímszámot használva az RLWE a Ф(х) polinom modulo polinom gyűrűjében dolgozik együtthatókkal a modulo q egészek mezőjében (F q [x]/Φ(x) gyűrű) [10] [8] . Az a(x) polinomot a következőképpen fejezzük ki:
a(x) = a 0 + a 1 x + a 2 x 2 + … + a n-3 x n-3 + a n-2 x n-2 + a n-1 x n-1Ennek a polinomnak az együtthatói modulo q egész számok . Φ(x) = x n +1 polinom , ahol n 2 hatványa (a legtöbb esetben n értéke 256, 512 vagy 1024).
Az RLWE-KEX olyan polinomokat használ, amelyek "kicsinek" tekinthetők a "végtelen" normának nevezett mértékhez képest [11]. . Egy polinom végtelen normája a legnagyobb polinomegyüttható értéke, ha az együtthatókat a { ,…, 0, …, } halmaz elemeinek tekintjük . Az algoritmus biztonsága érdekében s(x) véletlenszerű polinomokat kell generálni , amelyek kicsik a végtelen normához képest. Ez úgy történik, hogy véletlenszerűen generálunk együtthatókat a polinomhoz ( s n-1 , …, s 0 ), amelyek garantáltan vagy nagy valószínűséggel kicsik. Két általános módszer létezik:
Kövessenek véletlenszerű kis polinomok az eloszlást, amelyet D -vel jelölünk . A q szám páratlan prímszámú lesz, így q ≡ 1 mod 4 és
q ≡ 1 mod 2n annak érdekében, hogy minimalizáljuk a véletlenszerű bitkiválasztási műveletek számát a beállított határon [14] . Ez lehetővé teszi az algoritmus leghatékonyabb megvalósítását [15] . A Ф(x) polinom foka 2 foka [16] .
Legyen egy rögzített a(x) polinom közös minden hálózati felhasználó számára, amelyet egy kriptográfiailag biztonságos pszeudo-véletlenszám-generátor segítségével állítanak elő . Ha a(x) -t vesszük, az s(x) és e(x) kis polinomokat véletlenszerűen választjuk ki , s(x) a nyilvános kulcscsere privát kulcsa . A megfelelő nyilvános kulcs a t(x) = a(x)s(x) + e(x) polinom lesz [11] . A kulcscsere biztonsága azon a nehézségen alapszik, hogy nehéz megtalálni az s'(x) és e'(x) kis polinompárt úgy, hogy egy adott t(x) esetén a(x)s'(x) + e'(x) = t(x) .
A kulcscsere Alice ( A ) és Bob ( B ) kulcscsereügynökök között zajlik. A és B is ismeri a q , n , a(x) értékeket , és a D eloszlás szerint tud kis polinomokat generálni [10] [17] .
Alice kezdeti akciói [17] :
Bob tettei [17] :
Alice következő lépései [17] :
Ha a kulcscsere megfelelően működik, akkor az Alice és Bob u n-1 , …, u 0 karakterláncai megegyeznek [18] . A választott n , q , σ és b paraméterek sajátosságaitól függően fennáll annak a lehetősége , hogy t A (x) és t B (x) egyezik. A kulcscsere paramétereit úgy kell megválasztani, hogy ennek a kulcscsere-hibának a valószínűsége nagyon alacsony legyen – sokkal kisebb, mint az észlelhetetlen sérülés vagy eszközhiba valószínűsége.
A csere legfeljebb n-1 fokú polinomok gyűrűjében működik a Φ(х) polinom modulo -jában . Feltételezzük, hogy n 2 hatványa és q prím, q ≡ 1 mod 4 . Peikert munkája alapján Sing két paraméterkészletet javasolt az RWLE-KEX számára [19] .
128 bites biztonság esetén : n = 512 , q = 25601 és Φ(x) = x 512 + 1
256 bites biztonság esetén : n = 1024 , q = 40961 és Φ(x) = x 1024 + 1
Mivel a kulcscsere véletlenszerű, korlátozott mintavételt használ, lehetséges, hogy ugyanazokat a kulcsokat generálják Alice és Bob számára . Tegyük fel, hogy egy Gauss-paraméter σ = vagy egyenletes mintavételt használunk b = 5 esetén, akkor a nyilvános kulcs illesztési hiba valószínűsége kisebb, mint 2 -71 és 2 -75 128 bites paraméterek esetén , és kisebb, mint 2 -91 és 2 -97 256 esetén bit paraméterek, ill. [19] .
Alkim, Duka, Popplemann és Schwabe (2015. november) a következő paramétereket javasolja: n = 1024 , q = 12289 és Φ(x) = x 1024 + 1 , mivel ezek biztosítják az algoritmus hatékonyságát és biztonságát. 256 bites biztonság esetén ez a halmaz 2 −110 egyezési hiba valószínűséget biztosít [20] .
Az RLWE-KEX feltörésének számítási bonyolultsága ugyanolyan nagyságú, mint a legrövidebb vektorprobléma (SVP) megoldása ideális rácsban [21] . Egy adott rácsparaméter-készlet gyakorlati biztonságának értékelésére a legjobb módszer a BKZ 2.0 redukciós algoritmus . . A BKZ 2.0 algoritmussal összhangban a fent felsorolt fő csereparaméterek több mint 128, illetve 256 bites biztonságot nyújtanak [22] .
2014-ben Douglas Stebila javítást készített az OpenSSL 1.0.1f-hez. a "Post-quantum key exchange for the TLS protocol from the ring learning with errors problem" című könyvben megjelent munka alapján . A Synga munkaszoftvere a GitHubon található .[23] .
Az algoritmus másik alkalmazása Zhang, Ding, Snook és Dagdelen "Post Quantum Authenticated Key Exchange from Ideal Lattices" munkája . . A Diffie-Hellman algoritmus létrehozásának koncepcióját először Aguilar, Gaborite, Lacharme, Schreck és Zemor francia kutatók vezették be a PQCrypto 2010-ben „Noisy Diffie-Hellman Protocols” (nem elérhető link) című jelentésükben . Hozzáférés időpontja: 2015. december 1. Az eredetiből archiválva : 2015. szeptember 24. . Ezt a témát azután kibővítették, és Peukert munkája szigorúbb tanulmányozásának kezdetét jelentette . [24] .