Gitterkryptografi er en tilgang til at bygge asymmetriske krypteringsalgoritmer ved hjælp af gitterteoriproblemer , det vil sige optimeringsproblemer på diskrete additive undergrupper defineret på et sæt .
Sammen med andre metoder til post-kvantekryptografi anses det for lovende på grund af en kvantecomputers evne til at bryde udbredte asymmetriske krypteringssystemer baseret på to typer talteoretiske problemer: heltalsfaktoriseringsproblemer og diskrete logaritmeproblemer. Kompleksiteten af cracking algoritmer bygget på gitter er ekstrem høj, de bedste algoritmer kan løse dette problem med vanskeligheder i eksponentiel tid. Fra midten af 2010'erne er der ingen kendt kvantealgoritme, der overgår en konventionel computer.
I 1995 demonstrerede Peter Shor en polynomial algoritme til at knække kryptografiske systemer med offentlig nøgle ved hjælp af en kvantecomputer, og derved bestemme perioden for eksistensen af disse systemer før fremkomsten af kvantecomputere af tilstrækkelig dimension.
I 1996 demonstrerede Lov Grover en generel databasesøgningsmetode, der kunne dekryptere symmetriske krypteringsalgoritmer, svarende til at halvere chiffernøglen.
I 2001 demonstrerede et IBM-hold udførelsen af Shors faktoriseringsalgoritme for tallet 15. Tallet blev faktoriseret med 3 og 5 ved hjælp af en kvantecomputer med 7 qubits , bygget af 18 10 molekyler, bestående af fem fluoratomer og to carbonatomer, med information optaget ved hjælp af radiosignaler og aflæsning ved metoder til kernemagnetisk resonans [1] .
Fra anden halvdel af 1990'erne blev det nødvendigt at søge efter krypto-resistente problemer for kvantecomputere til krypteringens post-kvante æra , da en af tilgangene det blev foreslået at bruge gitter i - diskrete undergrupper af den virkelige vektor rum, hvis lineære spænd falder sammen med det:
Opgaven med at finde den korteste vektor ( SVP , eng. Shortest Vector Problem ) er at finde en ikke-nul vektor i en given gitterbasis i forhold til en vis normal [2] .
Problemet med at finde et (ca.) ideelt korteste vektorproblem ( ISVP , engelsk (omtrent) ideal shortest vector problem ) betragtes ikke som NP-hårdt. Der er dog ingen kendte gitter baseret på reduktionsmetoden, der er væsentligt mere effektive på ideelle strukturer end på generelle [3] .
Et andet problem er at finde det (tilnærmelsesvis) korteste uafhængige vektorproblem ( SIVP , engelsk (approximate) shortest independent vectors problem ), hvor grundlaget for gitteret er givet, og det kræves at finde lineært uafhængige vektorer [4] .
Problemet med at finde den nærmeste vektor ( CVP , eng. Closest Vector Problem ) er at finde en vektor i et gitter efter et givet grundlag og en eller anden vektor, der ikke hører til gitteret, samtidig med at den i længden er så ens i længden som en given given. vektor.
Alle disse problemer kan løses i polynomisk tid ved hjælp af den velkendte LLL-algoritme opfundet i 1982 af Arjen Lenstra , Hendrik Lenstra og Laszlo Lovas [5] .
På en given basis , med n - dimensionelle heltalskoordinater, i et gitter på , hvor , finder LLL-algoritmen en kortere (måling[ klargør ] ) ortogonalt grundlag over tid:
,hvor er den maksimale længde af vektoren i dette rum.
GGH - et kryptosystem baseret på CVP, nemlig på en envejsfunktion med en hemmelig indgang baseret på kompleksiteten af reduktionen af gitteret. Udgivet i 1997. Når vi kender grundlaget, kan vi generere en vektor tæt på det givne punkt, men når vi kender denne vektor, har vi brug for det oprindelige grundlag for at finde udgangspunktet. Algoritmen blev testet i 1999.
Implementering af GGHGGH består af en offentlig nøgle og en privat nøgle.
Den hemmelige nøgle er grundlaget for gitteret og den unimodulære matrix .
Den offentlige nøgle er et eller andet grundlag i gitteret i formen .
For nogle består beskedrummet af en vektor , hvor .
KrypteringGivet besked , forvrængning , offentlig nøgle :
I matrixform:
.består af heltalsværdier, et gitterpunkt, og v er også et gitterpunkt. Derefter chifferteksten:
DekrypteringFor at dekryptere er det nødvendigt at beregne:
En del fjernes af omtrentlige årsager. Besked:
EksempelVi vælger et gitter med basis :
oghvor
ogSom resultat:
Lad meddelelsen og fejlvektor være . Derefter chifferteksten:
.For at dekryptere skal du beregne:
.Afrunding giver , gendan beskeden:
.NTRUEncrypt er et SVP-baseret kryptosystem, der er et alternativ til RSA og ECC. Beregningen bruger en polynomialring .
GGH-signaturordningen, først foreslået i 1995 og offentliggjort i 1997 af Goldrich, er baseret på vanskeligheden ved at finde den nærmeste vektor. Ideen var at bruge gitter, hvor den "dårlige" basis, vektorer er lange og næsten parallelle, er åbne og den "gode" basis, med korte og næsten ortogonale vektorer, er lukket. Ifølge deres metode skal meddelelsen hashes ind i et mellemrum spændt ud af et gitter, og signaturen for en given hash i dette rum er den nærmeste knude på gitteret. Ordningen havde ingen formel sikkerhedsbevis, og dens grundlæggende version blev knækket i 1999 af Nguyen . I 2006 blev den modificerede version knækket igen af Nguyen og Regev .
NTRUSign er en speciel, mere effektiv version af GGH-signaturen, der har en mindre nøgle og signaturstørrelse. Den bruger kun gitter af en delmængde af sættet af alle gitter forbundet med nogle polynomielle ringe. NTRUSign er blevet foreslået som en IEEE P1363.1-standard.