Merkle signatur

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 27. november 2016; checks kræver 46 redigeringer .

Merkle-signatur er en post-kvante og genanvendelig digital signaturalgoritme  baseret på brugen af ​​et Merkle-træ og en form for digital engangssignatur. [en]

Historie

Signaturen blev første gang udgivet af Ralph Merkle i 1979 i hans artikel "Secrecy, authentication, and public key systems" [2] som en genanvendelig digital signatur ved hjælp af Lamports engangssignatur . [3]

Beskrivelse af algoritmen

Forberedelse

Merkle-signaturen er baseret på en allerede eksisterende digital engangssignatur, hvis kryptografiske styrke skal være baseret på en kryptografisk sikker hashfunktion . Eksempler på sådanne underskrifter vil være Winternitz One-time Signature Scheme eller Lamports underskrift . [4] En digital engangssignatur bør bestå af tre hovedoperationer: [5]

Det er også nødvendigt at beslutte sig for en krypto-resistent hash-funktion , som senere vil blive brugt til at beregne den offentlige nøgle. [fire]

Nøglegenerering

Arrays af nøgler og længder genereres . Længden er valgt til at være en potens af to, da det er nødvendigt at konstruere et Merkle-træ. Hvert par bruges som et privat-offentlig nøglepar til en grundlæggende engangssignatur. Array  - er den private nøgle til Merkle-signaturen, et Merkle-træ er bygget til at generere den offentlige nøgle:

Roden af ​​det konstruerede Merkle-træ tages som den offentlige nøgle: . [6]

Signaturgenerering

For at generere en signatur fra arrays og , vælges det 1. par nøgler En digital engangssignatur beregnes for beskeden ved hjælp af den private nøgle . Overvej derefter stien fra roden af ​​Merkle-træet til bladet, der svarer til nøglen . Lad os betegne de hjørner, som denne sti passerer igennem, som en række af længde , hvor  er træets rod, og  er . Værdien af ​​hvert toppunkt undtagen , beregnes som , hvor og er umiddelbare børn af . For at beregne stien fra træets rod er det således nok at kende rækken af ​​hjørner , som vi vil kalde godkendelsesstien. Meddelelsessignaturen inkluderer således: en verifikationsnøgle , en engangssignatur og en godkendelsessti til at beregne stien til træets rod. [7]

Signaturbekræftelse

Først kontrollerer modtageren engangssignaturen i forhold til beskeden . Hvis kontrollen var vellykket, begynder den at bygge stien fra til roden af ​​træet. Først, så og så videre. Hvis , var signaturbekræftelsen vellykket. [otte]

Fordele

Post-kvante

Almindeligt anvendte digitale signaturalgoritmer, såsom RSA og DSA , drager fordel af kompleksiteten ved talfaktorisering og kompleksiteten ved at beregne den diskrete logaritme . Men ved at bruge Shor 's algoritme og en kvantecomputer kan disse signaturer brydes i polynomiel tid. I modsætning hertil er Merkle-signaturen post-kvante, da dens kryptografiske styrke er baseret på styrken af ​​den kryptografiske hash-funktion og styrken af ​​den digitale engangssignatur. [en]

Genanvendelighed

Et af hovedproblemerne med digitale signaturer baseret på stærke hash-funktioner er, at de typisk bruges i sammenhæng med digitale engangssignaturer, det vil sige signaturer, hvor ét nøglepar bruges til kun at signere én besked. Der er dog måder at udvide sådanne signaturer på, så de kan genbruges. En sådan metode er at bygge et Merkle-træ, som bruges til at autentificere forskellige engangssignaturer. [9]

Ulemper

Trægennemløbsproblemet

Dette problem er relateret til at finde en effektiv algoritme til beregning af godkendelsesdata. Den trivielle løsning - at opbevare alle data i hukommelsen - kræver for meget hukommelse. På den anden side vil metoden med at beregne autentificeringsstien i det område, hvor den er nødvendig, være for dyr for nogle træknuder. [10] Hvis længden af ​​X- og Y-arrays er større end 2^25, bliver brugen af ​​Merkle-signaturen upraktisk. [otte]

Krypteringsanalyse

Det er bevist, at Merkles digitale signaturalgoritme er kryptografisk stærk mod et adaptivt meddelelsesangreb, hvis den bruger en hash-funktion, der er modstandsdygtig over for type 2- kollisioner . [11] [12] Men for at knække Merkle-signaturen skal kryptanalytikeren enten rekonstruere præ-billedet af hash-funktionen eller beregne en Type I-kollision. Det betyder, at fra et praktisk synspunkt er den kryptografiske styrke af en Merkle-signatur baseret på irreversibiliteten af ​​den anvendte hash-funktion og på dens modstand mod førsteklasses kollisioner. [12]



Noter

  1. 12 CMSS , 2006 , s. 349-350.
  2. Merkle, 1979 .
  3. Sikkerhed, 2005 , s. en.
  4. 12 CMSS , 2006 , s. 352.
  5. CMSS, 2006 , s. 351.
  6. Sikkerhed, 2005 , s. 3.
  7. CMSS, 2006 , s. 352-353.
  8. 12 CMSS , 2006 , s. 353.
  9. dods2005hash, 2005 , s. 96.
  10. szydlo2004merkle, 2004 , s. 541.
  11. Sikkerhed, 2005 , s. fire.
  12. 1 2 rohde2008fast, 2008 , s. 109.

Litteratur