Hila kryptografia on lähestymistapa epäsymmetristen salausalgoritmien rakentamiseen käyttämällä hilateoriaongelmia , eli optimointiongelmia joukossa määritellyille diskreeteille additiivisille alaryhmille .
Muiden postkvanttisalauksen menetelmien ohella sitä pidetään lupaavana, koska kvanttitietokone pystyy rikkomaan laajalti käytettyjä epäsymmetrisiä salausjärjestelmiä, jotka perustuvat kahdentyyppisiin lukuteoriaongelmiin: kokonaislukujen tekijöihin jaon ja diskreettien logaritmien ongelmiin. Hiloihin rakennettujen krakkausalgoritmien monimutkaisuus on erittäin korkea, parhaat algoritmit voivat ratkaista tämän ongelman vaikeudella eksponentiaalisessa ajassa. 2010-luvun puolivälistä lähtien ei tiedetä yhtään kvanttialgoritmia, joka olisi tehokkaampi kuin perinteinen tietokone.
Vuonna 1995 Peter Shor esitteli polynomialgoritmin julkisen avaimen salausjärjestelmien murtamiseen kvanttitietokoneella, mikä määritti näiden järjestelmien olemassaolon ajan ennen riittävän mittaisten kvanttitietokoneiden syntymistä.
Vuonna 1996 Lov Grover esitteli yleisen tietokannan hakumenetelmän, joka pystyi purkamaan symmetristen salausalgoritmien salauksen, mikä vastaa salausavaimen puolittamista.
Vuonna 2001 IBM:n työryhmä esitteli Shorin faktorointialgoritmin suorittamisen luvulle 15. Luku kerrottiin 3:lla ja 5:llä käyttämällä kvanttitietokonetta, jossa on 7 kubittia ja joka rakennettiin 18 10 molekyylistä, joka koostuu viidestä fluoriatomista ja kahdesta hiiliatomista. radiosignaaleilla tallennetulla tiedolla ja ydinmagneettiresonanssimenetelmillä luetulla tiedolla [1] .
1990-luvun toisesta puoliskosta lähtien tuli tarpeelliseksi etsiä kryptoresistenttejä ongelmia kvanttitietokoneille salauksen jälkeistä aikakautta varten , koska yhtenä lähestymistavana ehdotettiin hilan käyttöä todellisen vektorin diskreetissä alaryhmissä. avaruus, jonka lineaariset jännevälit ovat yhtäpitäviä sen kanssa:
Lyhyimmän vektorin ( SVP , eng. Shortest Vector Problem ) löytämisen tehtävänä on löytää nollasta poikkeava vektori annetusta hilakantasta suhteessa tiettyyn normaaliin [2] .
Ongelmaa löytää (likimäärin) ihanteellinen lyhin vektoriongelma ( ISVP , englanniksi (likimääräinen) ideaalin lyhimmän vektorin ongelma ) ei pidetä NP-kovana. Pelkistysmenetelmään perustuvia hiloja, jotka olisivat merkittävästi tehokkaampia ihanteellisissa rakenteissa kuin yleisillä rakenteilla, ei kuitenkaan tunneta [3] .
Toinen ongelma on löytää (likimääräinen) lyhimpien itsenäisten vektoreiden ongelma ( SIVP , englanniksi (approximate) lyhimpien riippumattomien vektorien ongelma ), jossa hilan kanta on annettu ja vaaditaan lineaarisesti riippumattomien vektorien löytämistä [4] .
Lähimmän vektorin löytämisen ongelma ( CVP , eng. Closest Vector Problem ) on löytää hilasta vektori tietyn kantan mukaan ja jokin vektori, joka ei kuulu hilaan, samalla kun se on pituudeltaan mahdollisimman samanlainen kuin annettu. vektori.
Kaikki nämä ongelmat ovat ratkaistavissa polynomiajassa käyttämällä tunnettua LLL-algoritmia, jonka vuonna 1982 keksivät Arjen Lenstra , Hendrik Lenstra ja Laszlo Lovas [5] .
Tietyssä kannassa , n - ulotteisilla kokonaislukukoordinaateilla, hilassa , jossa , LLL-algoritmi löytää lyhyemmän (mittaus[ selventää ] ) ortogonaalinen perusta ajan myötä:
,missä on vektorin suurin pituus tässä avaruudessa.
GGH - CVP:hen perustuva salausjärjestelmä, nimittäin yksisuuntainen toiminto, jossa on salainen sisäänkäynti , joka perustuu hilan pienentämisen monimutkaisuuteen. Julkaistu vuonna 1997. Kun tiedämme kantakohdan, voimme luoda vektorin lähelle annettua pistettä, mutta tämän vektorin tunteessa tarvitsemme alkuperäisen kantakohdan alkupisteen löytämiseksi. Algoritmi testattiin vuonna 1999.
GGH:n käyttöönottoGGH koostuu julkisesta avaimesta ja yksityisestä avaimesta.
Salainen avain on hilan ja unimodulaarisen matriisin perusta .
Julkinen avain on jonkinlainen perusta hilassa muodossa .
Joillekin viestiavaruus koostuu vektorista , jossa .
SalausAnnettu viesti , vääristymä , julkinen avain :
Matriisimuodossa:
.koostuu kokonaislukuarvoista, hilapisteestä ja v on myös hilapiste. Sitten salateksti:
Salauksen purkuSalauksen purkamiseksi on laskettava:
Osa on poistettu likimääräisistä syistä. Viesti:
EsimerkkiValitsemme hilan pohjalta :
jamissä
jaTuloksena:
Olkoon sanoma ja virhevektori . Sitten salateksti:
.Salauksen purkamiseksi sinun on laskettava:
.Pyöristys antaa , palauta viesti:
.NTRUEncrypt on SVP-pohjainen salausjärjestelmä, joka on vaihtoehto RSA:lle ja ECC:lle. Laskennassa käytetään polynomirengasta .
GGH-allekirjoitusjärjestelmä, jota ehdotti ensimmäisen kerran vuonna 1995 ja julkaisi vuonna 1997 Goldrich, perustuu vaikeuteen löytää lähin vektori. Ajatuksena oli käyttää hiloja, joiden "huono" kanta, vektorit ovat pitkiä ja melkein yhdensuuntaisia, on avoin ja "hyvä" kanta, jossa on lyhyitä ja lähes ortogonaalisia vektoreita, on suljettu. Heidän menetelmänsä mukaan viesti on hajautettava hilan kattamaan tilaan, ja tietyn tiivisteen allekirjoitus tässä tilassa on hilan lähin solmu. Järjestelmällä ei ollut muodollista turvallisuustodistetta, ja Nguyen mursi sen perusversion vuonna 1999 . Vuonna 2006 Nguyen ja Regev mursivat muokatun version uudelleen .
NTRUSign on erityinen, tehokkaampi versio GGH-allekirjoituksesta, jossa on pienempi avain ja allekirjoituksen koko. Se käyttää vain hiloja kaikkien polynomirenkaiden joukon osajoukosta. NTRUSignia on ehdotettu IEEE P1363.1 -standardiksi.