Multidimensionell kryptografi eller multivariat offentlig nyckelkryptografi är en allmän term som beskriver asymmetriska kryptografiska scheman byggda på lösningar av ekvationer baserade på multivariata polynom över ett ändligt fält .
Säkerheten för flerdimensionell kryptografi är baserad på antagandet att lösa ett system av kvadratiska polynom över ett ändligt fält i allmänhet är NP-komplett i stark mening, eller helt enkelt NP-komplett . Det är därför dessa system ofta anses vara bra kandidater för post-kvantkryptografi . [ett]
Det första försöket att konstruera ett kryptografiskt schema baserat på flervariata kvadratiska polynom gjordes av Ong, Schnor och Shamir [2] , där de föreslog ett signaturschema baserat på komplexiteten i att lösa ekvationen: ;
Men säkerheten för detta schema är fortfarande baserat på komplexiteten i faktoriseringen , och därför är detta schema sårbart för attacker med kvantdatorer . Utvecklingen av flerdimensionella kryptografiska system i modern mening började 1988 med C*-schemat i Matsumoto-Imai-systemet [3] .
Matsumoto och Imai använde en bijektiv mappning över en gradfältförlängning från formuläret:
.
För att säkerställa att denna transformation är reversibel är det nödvändigt att välja på ett sådant sätt att . Ekvationen ovan ger, på grund av den kanoniska isomorfismen mellan och vektorrummet, ett system av flerdimensionella kvadratiska ekvationer på fältet , detta förklaras av Frobenius-endomorfismen . För att dölja strukturen använde Matsumoto och Imai två affina transformationer och . Så de presenterade den publika nyckeln i formen:
.
Denna design kallas bipolär. Det är fortfarande standardmetoden för att bygga flerdimensionella kryptosystem med publik nyckel. [fyra]
Flerdimensionell kryptografi har varit ett aktivt forskningsområde, men det finns fortfarande en brist på flerdimensionella scheman såsom: nyckelutbytesprotokoll och signaturscheman med speciella egenskaper [5] .
De flesta offentliga nyckelkryptosystem som används i praktiken är baserade på heltalsfaktorisering eller diskreta logaritmer (i finita fält eller elliptiska kurvor ). [6] Dessa system har dock två nackdelar.
Flerdimensionell krypteringsnyckel är ett möjligt alternativ till nuvarande implementeringar av krypteringsalgoritmer för offentliga nyckel. År 2003 blev Sflash- signatursystemet det slutliga valet av NESSIE-projektet (New European Signature, Integrity and Encryption Schemes) [7] . Den första boken om flerdimensionell kryptografi skriven av Ding, Gower och Schmidt publicerades 2006 [5] . Det finns också en internationell workshop, PQCrypto, som fokuserar på post-kvantkryptering, inklusive flerdimensionell kryptografi. [åtta]
Huvudidén med standardkonstruktionen av flerdimensionell kryptografi är valet av ett system (central transformation) av flerdimensionella kvadratiska polynom i variabler som lätt kan inverteras. [9] Därefter väljs två slumpmässiga affina reversibla transformationer för att dölja strukturen för den centrala transformationen i den publika nyckeln. [tio]
Den publika nyckeln för ett kryptosystem är en sammansatt kvadratisk transformation , som antas vara osannolikt att skilja sig från en slumpmässig och därför svår att invertera.
Den privata nyckeln består av , , och därför tillåter detta .
Låt vara ett ändligt fält. Den publika nyckeln för flerdimensionella kryptografialgoritmer är en polynomavbildning
För kryptering och dekryptering antar vi att för en elektronisk signatur : . [ett]
För att kryptera ett meddelande eller måste du beräkna . Chiffertexten för det mottagna meddelandet är eller . [6]
För att dekryptera chiffertexten som beräknas rekursivt : , och .
är chiffertextens klartext . Eftersom , mappningen från till , och därmed den resulterande klartexten, är unika. [6]
Eller med andra ord, givet en chiffertext måste du hitta en sådan som . Det är vanligtvis en injektion i kryptografiska system, så dekryptering görs genom att beräkna .
För att signera ett dokument används en hashfunktion för att beräkna värdet på .
Sedan måste du beräkna , och . Här betyder en, möjligen många förbilder för den centrala displayen . Sedan finns en sådan mappning. Således kan varje meddelande signeras.
[6]
För att verifiera ett dokuments äkthet behöver du bara beräkna och hasha värdet från dokumentet. Om , då accepteras signaturen, annars avvisas den. [6]
Säkerheten för flerdimensionella kryptografialgoritmer bygger på följande:
Givet ett system av ickelinjära polynomekvationer med variabler . Vi måste hitta sådana värden .
Att lösa ett slumpmässigt flerdimensionellt kvadratiskt system över ett ändligt fält är ett NP-komplett problem i stark mening, eller helt enkelt NP-komplett . Komplexiteten i att lösa detta problem hindrar en angripare från att härleda den privata nyckeln från att känna till den offentliga nyckeln . [elva]
Patarin och medförfattare visade att svårigheten att lösa detta problem är åtminstone densamma som för grafisomorfism [13]
System byggda på flerdimensionella kryptografialgoritmer är tillräckligt snabba, särskilt för att signera dokument. Det finns många förutsättningar för att de kan vara snabbare än klassiska kryptografiska system med offentlig nyckel som RSA . [14] [15]
De matematiska operationerna som utförs av flerdimensionella kretsar är vanligtvis mycket enkla: de flesta kretsar kräver bara addition och multiplikation över små finita fält. Därför kräver flerdimensionella kretsar blygsamma beräkningsresurser, vilket gör dem attraktiva för användning på lågkostnadsenheter som RFID-chips och smarta kort utan behov av en kryptografisk samprocessor. En variant av C*-schemat, kallat SFLASH, har föreslagits av Europeiska kommissionen som en standard för signaturscheman på lågkostnadsenheter. [16] [17]
SFLASH-systemet [1] använder ett sista fält och definierar en mappning . Notationen anger att ekvationerna har tagits bort från funktionen , som är konstruerad enligt följande: . Här och är två reversibla linjära transformationer. Funktionen ser ut som: . Den publika nyckeln består alltså av kvadratiska polynom med variabla koefficienter i . Varje kvadratiskt polynom kommer att ha koefficienter. Detta kräver KB minne om varje koefficient är lagrad i en byte, den kan också reduceras till KB genom att bara använda en bit för varje koefficient
Relineriseringsattacken syftar till att lösa överbestämda system av multivariata kvadratiska ekvationer. Låta vara ett system av andragradsekvationer i variabler . Huvudtanken är att införa en ny variabel för varje kvadratisk term . Således erhålls ett system av linjära ekvationer, om antalet ekvationer är tillräckligt stort kan Gaussmetoden användas . Det är nödvändigt att se till om lösningen som erhålls på detta sätt verkligen är lösningen av det kvadratiska systemet, förutsatt att . För att lösa ett system av andragradsekvationer i termer av variabler kräver denna metod ekvationer. Således låter återlinjäriseringsattacken dig minska antalet okända variabler i den privata nyckeln, d.v.s. minska dess dimension. [arton]
Låta vara mängden av alla polynom i grad .
XL-algoritm:
Indata : uppsättning kvadratiska polynom . Utdata : en vektor sådan att .
En attack som använder XL-algoritmen låter dig minska dimensionen på den privata nyckeln genom att reducera ekvationssystemet till en invariant i någon variabel. Med hjälp av XL-algoritmen är det alltså möjligt att attackera den publika nyckeln. [fyra]