Introduktion till Diffie Hellman Key Exchange Algoritm

Diffie Hellman Key Exchange Algoritm är en av de första praktiska implementeringarna av det offentliga nyckelutbytet inom området kryptografi. Diffie Hellman Key Exchange Algoritm är ett av de sätt som kan generera en delad nyckel och dela sekretess mellan två parter på ett sätt som vi kan vara säkra på att ingen kommer att kunna snäva på meddelandet. Det finns ett viktigt faktum att tänka på om algoritmen är att vi inte delar informationen i utbytet, istället skapar vi en nyckel som senare kan användas för att utbyta information. Eftersom denna teknik tillåter oss att skapa en krypteringsnyckel med den andra parten, kan vi sedan börja kryptera de pågående och ta emot meddelanden. En etablerad, även om någon registrerar överföringsdata, finns det inget sätt att data kan dekrypteras.

Diffie Hellman Key Exchange Algoritm för Key Generation

Algoritmen är baserad på Elliptic Curve Cryptography som är en metod för att göra offentlig nyckelkryptografi baserad på algebra strukturen för elliptiska kurvor över finita fält. DH använder också trapdoor-funktionen precis som många andra sätt att göra kryptografi med nyckel. Den enkla idén att förstå DH-algoritmen är följande

1. Det första partiet väljer två primtal g och p och berättar dem till det andra partiet.

2. Det andra partiet väljer sedan ett hemligt nummer (låt oss kalla det a) och sedan beräknar det g a mod p och skickar resultatet tillbaka till det första partiet, låt oss ringa resultatet A. Tänk på att det hemliga numret inte skickas för alla är det bara resultatet.

3. Då gör första parten samma sak, den väljer ett hemligt nummer b och beräknar resultatet B-similor till

4. steg 2. Detta resultat skickas sedan till den andra parten.

5. Den andra parten tar det mottagna numret B och beräknar B a mod p

6. Den första parten tar det mottagna numret A och beräknar A b mod p

Det är där det blir intressant, svaret i steg 5 är detsamma som svaret i steg 4. Detta innebär att båda parter kommer att få samma svar oavsett exponentieringens ordning.

(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 inom steg 4 och 5 kommer att tas som den delade hemliga nyckeln. Nu kan denna nyckel användas för att göra vilken kryptering av data som kommer att överföras som blowfish, AES, etc.

Diffie Hellman algoritm

1. key = (Y A ) XB mod q -> detta är samma som beräknas av B

2. Globala offentliga element

  • q: q är ett primtal
  • a: a <q och α är den primitiva roten till q

3. Nyckelgenerering för användare A

  • Välj en privat nyckel X A Här, X A

Nu beräkning av offentlig nyckel Y A Y A = en XA mod q

4. Nyckelgenerering för användare B

  • Välj en privat nyckel X B Här, X B
  • Nu beräkning av offentlig nyckel Y B Y B = en Xb mod q

5. Beräkning av hemlig nyckel med A

  • nyckel = (YB) XA mod q

6. Beräkning av hemlig nyckel med B

  • nyckel = (Y A ) XB mod q

Exempel

1. Alice och Bob använder båda allmänna nummer P = 23, G = 5

2. Alice valde privat nyckel a = 4 och Bob valde b = 3 som privat nyckel

3. Både Alice och bob beräknar nu värdet på x och y enligt följande:

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

4. Nu utbyter både Alice och Bob offentliga nummer med varandra.

5. Alice och Bob beräknar nu de symmetriska tangenterna

  • 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 är den delade hemliga nyckeln.

Användningar av Diffie Hellman-algoritmen

Förutom att använda algoritmen för att generera offentliga nycklar finns det några andra platser där DH-algoritm kan användas:

  • Kryptering: Diffie Hellman nyckelutbytesalgoritm kan användas för att göra kryptering, ett av de första schemanna för att göra det var ElGamal-kryptering. Ett modernt exempel på det kallas Integrated Encryption Scheme som ger säkerhet mot vald vanlig text och utvalda klippbordattacker.
  • Lösenord autentiserat avtal: När två parter delar ett lösenord, kan ett lösenordsautentiserat nyckelavtal användas för att förhindra mannen i mittenattacken. Detta nyckelavtal kan vara i form av Diffie-Hellman. Secure Remote Password Protocol är ett bra exempel som bygger på den här tekniken.
  • Vidarebefordra sekretess: Framåt sekretessbaserade protokoll kan generera nya nyckelpar för varje ny session och de kan automatiskt kassera dem i slutet när sessionen också är klar. I dessa framåt sekretessprotokoll används oftast Diffie Hellman-nyckelutbytet.

Fördelar med Diffie Hellman-algoritmen

  • Avsändaren och mottagaren behöver inte förkunskaper om varandra.
  • När nycklarna har bytts ut kan kommunikationen av data göras via en osäker kanal.
  • Det är säkert att dela den hemliga nyckeln.

Nackdelar med Diffie Hellman-algoritmen

  • Algoritmen kan inte stämmas för något asymmetriskt nyckelutbyte.
  • På liknande sätt kan det inte användas för att signera digitala signaturer.
  • Eftersom det inte verifierar något parti i överföringen, är Diffie Hellman-nyckelutbytet känsligt för en man-i-mitt-attack.

Slutsats

På grund av dess fördelar har Diffie Hellman nyckelbyte visat sig vara ett användbart system för nyckelutbyte. Även om det är riktigt tufft för någon som snuppar nätverket för att dekryptera data och få nycklarna, är det fortfarande möjligt om numren som genereras inte är helt slumpmässiga. Dessutom gör nyckelutbytessystemet det möjligt att göra en man i mittenattacken, för att undvika det båda parter bör vara mycket försiktiga i början av utbytet.

Rekommenderad artikel

Detta har varit en guide till Diffie Hellman Key Exchange Algoritm. Här diskuterar vi användningar, olika algoritmer, fördelar och nackdelar. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -

  1. Maskininlärningsalgoritmer
  2. Krypteringsalgoritm
  3. Klassificeringsalgoritmer
  4. Typer av algoritmer

Kategori: