Multidimensionel kryptografi eller multivariat offentlig nøglekryptografi er et generelt udtryk, der beskriver asymmetriske kryptografiske skemaer bygget på løsninger af ligninger baseret på multivariate polynomier over et begrænset felt .
Sikkerheden ved multidimensionel kryptografi er baseret på den antagelse, at løsning af et system af kvadratiske polynomier over et endeligt felt generelt er NP-komplet i stærk forstand eller blot NP-komplet . Dette er grunden til, at disse ordninger ofte betragtes som gode kandidater til post-kvantekryptografi . [en]
Det første forsøg på at konstruere et kryptografisk skema baseret på multivariate kvadratiske polynomier blev lavet af Ong, Schnor og Shamir [2] , hvor de foreslog et signaturskema baseret på kompleksiteten i at løse ligningen: ;
Sikkerheden i denne ordning er dog stadig baseret på kompleksiteten af faktoriseringen , og derfor er denne ordning sårbar over for angreb ved hjælp af kvantecomputere . Udviklingen af multidimensionelle kryptografiske skemaer i moderne forstand begyndte i 1988 med C*-skemaet i Matsumoto-Imai-systemet [3] .
Matsumoto og Imai brugte en bijektiv kortlægning over en gradfeltudvidelse fra formularen:
.
For at sikre, at denne transformation er reversibel, er det nødvendigt at vælge på en sådan måde, at . Ovenstående ligning giver, på grund af den kanoniske isomorfi mellem og vektorrummet, et system af flerdimensionelle kvadratiske ligninger på feltet , dette forklares med Frobenius endomorfismen . For at skjule strukturen brugte Matsumoto og Imai to affine transformationer og . Så de præsenterede den offentlige nøgle i formen:
.
Dette design kaldes bipolar. Det er stadig standardmetoden til at bygge multidimensionelle offentlige nøglekryptosystemer. [fire]
Multidimensionel kryptografi har været et aktivt forskningsområde, men der er stadig mangel på multidimensionelle skemaer såsom: nøgleudvekslingsprotokoller og signaturskemaer med specielle egenskaber [5] .
De fleste offentlige nøglekryptosystemer, der bruges i praksis, er baseret på heltalsfaktorisering eller diskrete logaritmer (i endelige felter eller elliptiske kurver ). [6] Disse systemer lider dog af to ulemper.
Multidimensionel offentlig nøglekryptografi er et muligt alternativ til nuværende implementeringer af offentlige nøglekrypteringsalgoritmer. I 2003 blev Sflash- signatursystemet det endelige valg af NESSIE -projektet (New European Signature, Integrity and Encryption Schemes) [7] . Den første bog om multidimensionel kryptografi skrevet af Ding, Gower og Schmidt blev udgivet i 2006 [5] . Der er også en international workshop, PQCrypto, som fokuserer på post-kvantekryptering, herunder multidimensionel kryptografi. [otte]
Hovedideen med standardkonstruktionen af multidimensionel kryptografi er valget af et system (central transformation) af flerdimensionale kvadratiske polynomier i variabler, der let kan inverteres. [9] Derefter vælges to tilfældige affine reversible transformationer for at skjule strukturen af den centrale transformation i den offentlige nøgle. [ti]
Den offentlige nøgle i et kryptosystem er en sammensat kvadratisk transformation , som antages at være usandsynlig at adskille sig fra en tilfældig og derfor vanskelig at invertere.
Den private nøgle består af , , og dermed tillader dette .
Lad være et begrænset felt. Den offentlige nøgle til multidimensionelle kryptografialgoritmer er en polynomiel mapping
For kryptering og dekryptering antager vi, at for en elektronisk signatur :. [en]
For at kryptere en besked eller skal du beregne . Chifferteksten for den modtagne besked er eller . [6]
For at dekryptere chifferteksten rekursivt beregnet: , og .
er den almindelige tekst af chifferteksten . Siden , kortlægningen fra til , og dermed den resulterende klartekst, er unikke. [6]
Eller med andre ord, givet en chiffertekst , skal du finde en sådan, at . Det er normalt en indsprøjtning i kryptografiske systemer, så dekryptering sker ved at beregne .
For at underskrive et dokument , bruges en hash-funktion til at beregne værdien af .
Så skal du beregne , og . Her betyder et, muligvis mange forbilleder til det centrale display . Siden eksisterer en sådan kortlægning. Således kan hver besked underskrives.
[6]
For at verificere ægtheden af et dokument skal du blot beregne og hash værdi fra dokumentet. Hvis , så accepteres underskriften, ellers afvises den. [6]
Sikkerheden af multidimensionelle kryptografiske algoritmer er afhængig af følgende:
Givet et system af ikke-lineære polynomialligninger med variable . Vi er nødt til at finde sådanne værdier .
Løsning af et tilfældigt flerdimensionalt kvadratisk system over et begrænset felt er et NP-komplet problem i stærk forstand, eller blot NP-komplet . Kompleksiteten i at løse dette problem forhindrer en hacker i at udlede den private nøgle fra at kende den offentlige nøgle . [elleve]
Patarin og medforfattere viste, at vanskeligheden ved at løse dette problem er mindst den samme som ved grafisomorfi [13]
Systemer bygget på multidimensionelle kryptografialgoritmer er hurtige nok, især til at signere dokumenter. Der er mange forudsætninger for, at de kan være hurtigere end klassiske kryptografiske programmer med offentlig nøgle som RSA . [14] [15]
De matematiske operationer udført af multidimensionelle kredsløb er normalt meget enkle: de fleste kredsløb kræver kun addition og multiplikation over små finite felter. Derfor kræver multidimensionelle kredsløb beskedne computerressourcer, hvilket gør dem attraktive til brug på billige enheder såsom RFID-chips og smart cards uden behov for en kryptografisk coprocessor. En variant af C*-ordningen, kaldet SFLASH, er blevet foreslået af Europa-Kommissionen som en standard for signaturordninger på billige enheder. [16] [17]
SFLASH-systemet [1] bruger et endeligt felt og definerer en mapping . Notationen angiver, at ligningerne er fjernet fra funktionen , som er opbygget som følger: . Her og er to reversible lineære transformationer. Funktionen ser sådan ud :. Den offentlige nøgle består således af kvadratiske polynomier med variable koefficienter i . Hvert kvadratisk polynomium vil have koefficienter. Dette kræver KB hukommelse, hvis hver koefficient er gemt i en byte, den kan også reduceres til KB ved kun at bruge en bit for hver koefficient
Relineriseringsangrebet er rettet mod at løse overbestemte systemer af multivariate kvadratiske ligninger. Lade være et system af andengradsligninger i variable . Hovedideen er at introducere en ny variabel for hver andengradsled . Således opnås et system af lineære ligninger, hvis antallet af ligninger er stort nok, kan Gauss-metoden bruges . Det er nødvendigt at sikre sig, om løsningen opnået på denne måde virkelig er løsningen af det kvadratiske system, forudsat at . For at løse et system af andengradsligninger i form af variable, kræver denne metode ligninger. Således giver re-lineariseringsangrebet dig mulighed for at reducere antallet af ukendte variabler i den private nøgle, dvs. reducere dens dimension. [atten]
Lade være mængden af alle polynomier i grad .
XL-algoritme:
Input data : sæt af kvadratiske polynomier . Output : en vektor sådan at .
Et angreb ved hjælp af XL-algoritmen giver dig mulighed for at reducere dimensionen af den private nøgle ved at reducere systemet af ligninger til en invariant i en eller anden variabel. Ved hjælp af XL-algoritmen er det således muligt at angribe den offentlige nøgle. [fire]