Introduktion til Diffie Hellman Key Exchange Algoritme

Diffie Hellman Key Exchange Algoritme er en af ​​de første praktiske implementeringer af den offentlige nøgleudveksling inden for kryptografi. Diffie Hellman Key Exchange Algoritme er en af ​​måderne, der kan generere en delt nøgle og dele sekret mellem to parter på en måde, som vi kan være sikre på, at ingen vil være i stand til at snuppe ind på kommunikationen. Der er en vigtig kendsgerning at huske på om algoritmen er, at vi ikke deler oplysningerne i udvekslingen, i stedet skaber vi en nøgle, der senere kan bruges til at udveksle information. Da denne teknik giver os mulighed for at oprette en krypteringsnøgle med den anden part, kan vi derefter begynde at kryptere de igangværende og modtage meddelelser. En etableret, selvom nogen registrerer transmissionsdataene, er der ingen måde, at dataene kan dekrypteres.

Diffie Hellman Key Exchange-algoritme til nøgledannelse

Algoritmen er baseret på Elliptic Curve Cryptography, som er en metode til at udføre offentlig-nøglekryptografi baseret på algebra-strukturen af ​​elliptiske kurver over endelige felter. DH bruger også trapdoor-funktionen ligesom mange andre måder at lave kryptografi med offentlig nøgle på. Den enkle idé at forstå DH-algoritmen er følgende

1. Den første part vælger to primtall g og p og fortæller dem til den anden part.

2. Den anden part vælger derefter et hemmeligt nummer (lad os kalde det a) og derefter beregner det g a mod p og sender resultatet tilbage til det første parti, lad os kalde resultatet A. Husk, at det hemmelige nummer ikke er sendt for nogen er det kun resultatet.

3. Derefter gør det første part det samme, det vælger et hemmeligt nummer b og beregner resultatet B-similor til

4. trin 2. Dette resultat sendes derefter til den anden part.

5. Den anden part tager det modtagne nummer B og beregner B a mod p

6. Den første part tager det modtagne nummer A og beregner A b mod p

Det er her, det bliver interessant, svaret i trin 5 er det samme som svaret i trin 4. Dette betyder, at begge parter får det samme svar, uanset rækkefølgen af ​​eksponentiering.

(g a mod p) b mod p = g ab mod p
(g b mod p) a mod p = g ba mod p

Det antal, vi kom inden for trin 4 og 5, vil blive taget som den delte hemmelige nøgle. Nu kan denne nøgle bruges til at udføre enhver kryptering af data, der vil blive overført, såsom blowfish, AES osv.

Diffie Hellman algoritme

1. tast = (Y A ) XB mod q -> dette er det samme som beregnet af B

2. Globale offentlige elementer

  • q: q er et primtal
  • a: a <q og α er den primitive rod til q

3. Nøglegenerering til bruger A

  • Vælg en privat nøgle X A Her, X A

Nu beregning af offentlig nøgle Y A Y A = en XA mod q

4. Nøglegenerering til bruger B

  • Vælg en privat nøgle X B Her, X B
  • Nu beregning af offentlig nøgle Y B Y B = en Xb mod q

5. Beregning af hemmelig nøgle med A

  • tast = (YB) XA mod q

6. Beregning af hemmelig nøgle ved B

  • tast = (Y A ) XB mod q

Eksempel

1. Alice og Bob bruger begge offentlige numre P = 23, G = 5

2. Alice valgte privat nøgle a = 4 og Bob valgte b = 3 som den private nøgle

3. Begge, Alice og bob beregner nu værdien af ​​x og y som følger:

  • Alice: x = (5 4 mod 23) = 4
  • Bob: y = (5 3 mod 23) = 10

4. Nu udveksler både Alice og Bob offentlige numre med hinanden.

5. Alice og Bob beregner nu de symmetriske taster

  • Alice: k a = y a mod p = 10 4 mod 23 = 18
  • Bob: k b = x b mod p = 4 3 mod 23 = 18

6. 18 er den delte hemmelige nøgle.

Anvendelser af Diffie Hellman-algoritme

Bortset fra at bruge algoritmen til generering af offentlige nøgler, er der nogle andre steder, hvor DH-algoritme kan bruges:

  • Kryptering: Diffie Hellman nøgleudvekslingsalgoritme kan bruges til at udføre kryptering, et af de første skemaer til at gøre det var ElGamal-kryptering. Et moderne eksempel på det kaldes Integrated Encryption Scheme, der giver sikkerhed mod valgt almindelig tekst og valgte klippebordangreb.
  • Adgangskodegodkendt aftale: Når to parter deler en adgangskode, kan en adgangskodegodkendt nøgeaftale bruges til at forhindre manden i mellemangrebet. Denne nøgeaftale kan være i form af Diffie-Hellman. Secure Remote Password Protocol er et godt eksempel, der er baseret på denne teknik.
  • Fremad hemmeligholdelse: Fremadhemmelighedsbaserede protokoller kan generere nye nøglepar for hver nye session, og de kan automatisk kassere dem i slutningen, når sessionen også er færdig. I disse fremadrettede hemmeligholdelsesprotokoller bruges oftere Diffie Hellman nøgleudveksling oftere.

Fordele ved Diffie Hellman-algoritmen

  • Afsender og modtager har ikke brug for nogen forudgående viden om hinanden.
  • Når nøglerne er udskiftet, kan kommunikationen af ​​data ske gennem en usikker kanal.
  • Delingen af ​​den hemmelige nøgle er sikker.

Ulemper ved Diffie Hellman-algoritmen

  • Algoritmen kan ikke sagsøges for nogen asymmetrisk nøgleudveksling.
  • Tilsvarende kan det ikke bruges til signering af digitale signaturer.
  • Da det ikke godkender nogen part i transmissionen, er Diffie Hellman-nøgleudvekslingen modtagelig for et mand-i-midten-angreb.

Konklusion

På grund af dens fordele har Diffie Hellman nøgleudveksling vist sig at være et nyttigt nøgleudvekslingssystem. Selvom det er virkelig hårdt for nogen, der snooper netværket for at dekryptere dataene og få nøglerne, er det stadig muligt, hvis de genererede numre ikke er helt tilfældige. Nøgleudvekslingssystemet gør det også muligt at gøre en mand i mellemangrebet, for at undgå det, skal begge parter være meget forsigtige i begyndelsen af ​​udvekslingen.

Anbefalet artikel

Dette har været en guide til Diffie Hellman Key Exchange Algoritme. Her diskuterer vi anvendelserne, forskellige algoritmer, fordele og ulemper. Du kan også gennemgå vores andre foreslåede artikler for at lære mere -

  1. Maskinlæringsalgoritmer
  2. Krypteringsalgoritme
  3. Klassificeringsalgoritmer
  4. Typer af algoritmer

Kategori: