DH algoritm

Diffie-Hellman (DH) är en asymmetrisk matematisk algoritm där två kommunicerande parter, exempelvis datorer, genererar en identisk delad hemlig nyckel (symmetrisk) utan att ha kommunicerat tidigare. Den nya delade nyckeln utbyts aldrig mellan avsändaren och mottagaren. Men eftersom båda parter känner till det kan nyckeln användas av en krypteringsalgoritm för att kryptera trafik mellan de två systemen.

Diffie-Hellman algoritmen har en komplex matematisk som gör det svårt att förklara hut denna algoritmen fungerar. Ett sätt att förklara hur algoritmen fungerar kan göras genom att använda färger och hemliga kombinationer som följande:

Bild 1: Kryptering – koncept
  1. Diffie-Hellman nyckelutbytet börjar med att Alice och Bob kommer överens om en godtycklig gemensam färg som inte behöver hållas hemlig. Den överenskomna färgen i vårt exempel är gul.
  2. Därefter kommer Alice och Bob att välja varsin hemlig färg. Alice väljer rött medan Bob väljer blått. Dessa hemliga färger kommer aldrig att delas med någon. Den hemliga färgen representerar den hemliga privata nyckeln för varje part.
  3. Alice och Bob blandar nu den delade gemensamma färgen (gul) med sin respektive hemliga färg för att skapa en offentlig färg. Alice blandar det gula med sin hemliga röda färg och får ett orange färg. Bob blandar det gula med sin hemliga blåa färg och får ett grönt färg. Nu Alice och Bob har producerat en offentlig, publik, färg.
  4. Alice skickar sin publika färg (orange) till Bob och Bob skickar sin publika färg (grön) till Alice.
  5. Alice och Bob blandar varsin färg de fått med sin egen ursprungliga hemliga färg (röd för Alice och blå för Bob.). Resultatet är en slutlig brun färgblandning som är identisk med partnerns slutliga färgblandning. Den bruna färgen representerar den resulterande delade hemliga nyckeln mellan Bob och Alice.

Observera att Diffie-Hellmans nyckelutbytesalgoritm kan användas endast för nyckelutbyte, inte för kryptering och dekrypteringsprocess.

Här är tre exempel på tillfällen då DH-algoritmen ofta används:

  • Data utbyts med en IPsec VPN.
  • Används när data utbyts med SSL eller TLS VPN.
  • SSH-data utbyts.

Säkerheten för DH-algoritmen bygger på att den använder mycket stora siffror i sina beräkningar. Till exempel är ett DH 1024-bitars nummer ungefär lika med ett decimaltal på 309 siffror. Med tanke på att en miljard är 10 decimalsiffror (1 000 000 000) kan man lätt föreställa sig komplexiteten i att arbeta med 309-siffriga decimaltal.

Tyvärr är asymmetriska nyckelsystem extremt långsamma för alla slags bulkkryptering. Det är därför det är vanligt att kryptera huvuddelen av trafiken med en symmetrisk algoritm, såsom 3DES eller AES och använda DH-algoritmen för att skapa nycklar som kommer att användas av krypteringsalgoritmen.