Introduksjon til Diffie Hellman Key Exchange Algoritme

Diffie Hellman Key Exchange Algorithm er en av de første praktiske implementeringene av den offentlige nøkkelbørsen innen kryptografi. Diffie Hellman Key Exchange Algoritme er en av måtene som kan generere en delt nøkkel og dele sekret mellom to parter på en måte som vi kan være sikre på at ingen vil være i stand til å snuse seg inn på kommunikasjonen. Det er et viktig faktum å huske på om algoritmen er at vi ikke deler informasjonen i utvekslingen, i stedet oppretter vi en nøkkel som senere kan brukes til å utveksle informasjon. Siden denne teknikken lar oss lage en krypteringsnøkkel med den andre parten, kan vi deretter begynne å kryptere de pågående og motta meldinger. En etablert, selv om noen registrerer overføringsdataene, er det ingen måte dataene kan dekrypteres.

Diffie Hellman Key Exchange Algoritme for Key Generation

Algoritmen er basert på Elliptic Curve Cryptography, som er en metode for å gjøre offentlig nøkkelkryptografi basert på algebra-strukturen til elliptiske kurver over endelige felt. DH bruker også trapdoor-funksjonen akkurat som på mange andre måter å gjøre offentlig nøkkelkryptografi. Den enkle ideen om å forstå DH-algoritmen er følgende

1. Det første partiet plukker to primtall g og p og forteller dem til det andre partiet.

2. Den andre parten plukker så et hemmelig nummer (la oss kalle det a), og så beregner det g a mod p og sender resultatet tilbake til det første partiet, la oss kalle resultatet A. Husk at det hemmelige nummeret ikke er sendt for noen er det bare resultatet.

3. Da gjør det første partiet det samme, det velger et hemmelig nummer b og beregner resultatet B-similor til

4. trinn 2. Dette resultatet sendes deretter til den andre parten.

5. Den andre parten tar det mottatte nummeret B og beregner B a mod p

6. Den første parten tar det mottatte tallet A og beregner A b mod p

Det er her det blir interessant, svaret i trinn 5 er det samme som svaret i trinn 4. Dette betyr at begge parter vil få det samme svaret uansett rekkefølge for eksponentiering.

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

Tallet vi kom i trinn 4 og 5 vil bli tatt som den delte hemmelige nøkkelen. Nå kan denne nøkkelen brukes til å gjøre hvilken som helst kryptering av data som vil bli overført, for eksempel blowfish, AES, etc.

Diffie Hellman algoritme

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

2. Globale offentlige elementer

  • q: q er et primtall
  • a: a <q og α er den primitive roten til q

3. Nøkkelgenerering for bruker A

  • Velg en privat nøkkel X A Her, X A

Nå beregning av offentlig nøkkel Y A Y A = a XA mod q

4. Nøkkelgenerering for bruker B

  • Velg en privat tast X B Her, X B
  • Nå beregning av offentlig nøkkel Y B Y B = a Xb mod q

5. Beregning av hemmelig nøkkel av A

  • tast = (Y B ) XA mod q

6. Beregning av hemmelig nøkkel av B

  • tast = (Y A ) XB mod q

Eksempel

1. Alice og Bob bruker begge offentlige nummer P = 23, G = 5

2. Alice valgte privat nøkkel a = 4 og Bob valgte b = 3 som privat nøkkel

3. Begge, Alice og bob beregner nå verdien av x og y som følger:

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

4. Nå utveksler både Alice og Bob offentlige numre med hverandre.

5. Alice og Bob beregner nå de symmetriske tastene

  • 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økkelen.

Bruk av Diffie Hellman algoritme

Bortsett fra å bruke algoritmen for å generere offentlige nøkler, er det noen andre steder der DH-algoritme kan brukes:

  • Kryptering: Diffie Hellman nøkkelutvekslingsalgoritme kan brukes til å gjøre kryptering, en av de første ordningene som gjorde det var ElGamal-kryptering. Et moderne eksempel på det kalles Integrated Encryption Scheme som gir sikkerhet mot valgt ren tekst og valgte utklippstavle angrep.
  • Passordautentisert avtale: Når to parter deler et passord, kan en passordautentisert nøkkelavtale brukes for å forhindre mannen i mellomangrepet. Denne nøkkelavtalen kan være i form av Diffie-Hellman. Secure Remote Password Protocol er et godt eksempel som er basert på denne teknikken.
  • Fremoverhemmelighet: Fremoverhemmelighetsbaserte protokoller kan generere nye nøkkelpar for hver nye økt, og de kan automatisk kaste dem på slutten når økten også er ferdig. I disse fremover Secrecy-protokollene brukes oftere enn ikke Diffie Hellman nøkkelutveksling.

Fordeler med Diffie Hellman-algoritmen

  • Avsender og mottaker trenger ikke forkunnskaper om hverandre.
  • Når tastene er byttet ut, kan kommunikasjonen av data gjøres gjennom en usikker kanal.
  • Delingen av den hemmelige nøkkelen er trygg.

Ulemper med Diffie Hellman-algoritmen

  • Algoritmen kan ikke saksøkes for noen asymmetrisk nøkkelutveksling.
  • Tilsvarende kan den ikke brukes til signering av digitale signaturer.
  • Siden det ikke autentiserer noen part i sendingen, er Diffie Hellman nøkkelutveksling utsatt for et menneske i midten angrep.

Konklusjon

På grunn av fordelene har Diffie Hellman nøkkelbørs vist seg å være et nyttig nøkkelutvekslingssystem. Selv om det er veldig tøft for noen å snuppe nettverket for å dekryptere dataene og få nøklene, er det fortsatt mulig hvis tallene som genereres ikke er helt tilfeldige. Dessuten gjør nøkkelutvekslingssystemet det mulig å gjøre en mann i mellomangrepet, for å unngå det, bør begge parter være veldig forsiktige i begynnelsen av utvekslingen.

Anbefalt artikkel

Dette har vært en guide til Diffie Hellman Key Exchange Algoritme. Her diskuterer vi bruksområder, forskjellige algoritmer, fordeler og ulemper. Du kan også gå gjennom andre foreslåtte artikler for å lære mer -

  1. Maskinlæringsalgoritmer
  2. Krypteringsalgoritme
  3. Klassifiseringsalgoritmer
  4. Typer av algoritmer