Inleiding tot Diffie Hellman Key Exchange-algoritme

Het Diffie Hellman-sleuteluitwisselingsalgoritme is een van de eerste praktische implementaties van de openbare sleuteluitwisseling op het gebied van cryptografie. Het Diffie Hellman-sleuteluitwisselingsalgoritme is een van de manieren waarop een gedeelde sleutel kan worden gegenereerd en geheim kan worden gedeeld tussen twee partijen, zodat we er zeker van kunnen zijn dat niemand de communicatie kan binnendringen. Er is een belangrijk feit om in gedachten te houden over het algoritme, dat we de informatie niet delen tijdens de uitwisseling, maar dat we een sleutel maken die later kan worden gebruikt om informatie uit te wisselen. Omdat we met deze techniek een coderingssleutel kunnen maken met de andere partij, kunnen we vervolgens beginnen met het coderen van de lopende en ontvangen berichten. Men heeft vastgesteld dat, zelfs als iemand de verzendgegevens vastlegt, de gegevens op geen enkele manier kunnen worden gedecodeerd.

Diffie Hellman Key Exchange-algoritme voor het genereren van sleutels

Het algoritme is gebaseerd op elliptische curve-cryptografie, een methode voor het uitvoeren van openbare-sleutelcryptografie op basis van de algebra-structuur van elliptische krommen over eindige velden. De DH gebruikt ook de valluikfunctie, net als veel andere manieren om cryptografie met openbare sleutels uit te voeren. Het eenvoudige idee van begrip van het DH-algoritme is het volgende

1. De eerste partij kiest twee priemgetallen g en p en vertelt deze aan de tweede partij.

2. De tweede partij kiest vervolgens een geheim nummer (laten we het a noemen) en berekent vervolgens een mod p en stuurt het resultaat terug naar de eerste partij, laten we het resultaat A noemen. Houd er rekening mee dat het geheime nummer niet wordt verzonden voor iedereen is alleen het resultaat.

3. Dan doet de eerste partij hetzelfde, hij selecteert een geheim nummer b en berekent het resultaat B vergelijkbaar met de

4. stap 2. Vervolgens wordt dit resultaat verzonden naar de tweede partij.

5. De tweede partij neemt het ontvangen nummer B en berekent B a mod p

6. De eerste partij neemt het ontvangen nummer A en berekent A b mod p

Hier wordt het interessant, het antwoord in stap 5 is hetzelfde als het antwoord in stap 4. Dit betekent dat beide partijen hetzelfde antwoord krijgen, ongeacht de volgorde van exponentiatie.

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

Het nummer dat we binnen stap 4 en 5 hebben gevonden, wordt als gedeelde geheime sleutel gebruikt. Nu kan deze sleutel worden gebruikt voor elke codering van gegevens die worden verzonden, zoals blowfish, AES, enz.

Diffie Hellman-algoritme

1. toets = (Y A ) XB mod q -> dit is hetzelfde als berekend door B

2. Wereldwijde openbare elementen

  • q: q is een priemgetal
  • a: a <q en α is de primitieve wortel van q

3. Sleutelgeneratie voor gebruiker A

  • Selecteer een privésleutel X A hier, X A

Nu, berekening van openbare sleutel Y A Y A = a XA mod q

4. Sleutelgeneratie voor gebruiker B

  • Selecteer een privésleutel X B hier, X B
  • Nu, berekening van openbare sleutel Y B Y B = a Xb mod q

5. Berekening van geheime sleutel door A

  • toets = (Y B ) XA mod q

6. Berekening van geheime sleutel door B

  • toets = (Y A ) XB mod q

Voorbeeld

1. Alice en Bob gebruiken beide openbare nummers P = 23, G = 5

2. Alice heeft de privésleutel a = 4 geselecteerd en Bob heeft b = 3 als de privésleutel geselecteerd

3. Zowel Alice als bob berekenen nu de waarde van x en y als volgt:

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

4. Nu wisselen zowel Alice als Bob openbare nummers met elkaar uit.

5. Alice en Bob berekenen nu de symmetrische toetsen

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

6. 18 is de gedeelde geheime sleutel.

Gebruik van Diffie Hellman Algorithm

Afgezien van het gebruik van het algoritme voor het genereren van openbare sleutels, zijn er enkele andere plaatsen waar DH-algoritme kan worden gebruikt:

  • Codering: het Diffie Hellman-sleuteluitwisselingsalgoritme kan worden gebruikt om codering uit te voeren, een van de eerste schema's om het te doen was ElGamal-codering. Een modern voorbeeld hiervan is Integrated Encryption Scheme dat beveiliging biedt tegen gekozen platte tekst en gekozen klembordaanvallen.
  • Authenticatie met wachtwoord-overeenkomst: Wanneer twee partijen een wachtwoord delen, kan een wachtwoord-geverifieerde sleutelovereenkomst worden gebruikt om te voorkomen dat de Man in the middle-aanval. Deze sleutelovereenkomst kan de vorm hebben van Diffie-Hellman. Secure Remote Password Protocol is een goed voorbeeld dat op deze techniek is gebaseerd.
  • Forward Secrecy: Forward secrecy-gebaseerde protocollen kunnen nieuwe sleutelparen genereren voor elke nieuwe sessie en ze kunnen ze automatisch weggooien aan het einde wanneer de sessie ook is afgelopen. In deze forward Secrecy-protocollen wordt vaker wel dan niet de Diffie Hellman-sleuteluitwisseling gebruikt.

Voordelen van het Diffie Hellman-algoritme

  • De zender en ontvanger hebben geen voorkennis van elkaar nodig.
  • Nadat de sleutels zijn uitgewisseld, kan de communicatie van gegevens via een onveilig kanaal plaatsvinden.
  • Het delen van de geheime sleutel is veilig.

Nadelen van het Diffie Hellman-algoritme

  • Het algoritme kan niet worden aangesproken voor asymmetrische sleuteluitwisseling.
  • Evenzo kan het niet worden gebruikt voor het ondertekenen van digitale handtekeningen.
  • Aangezien het geen enkele partij in de overdracht authenticeert, is de Diffie Hellman-sleuteluitwisseling vatbaar voor een man-in-the-middle-aanval.

Conclusie

Vanwege zijn voordelen is de Diffie Hellman-sleuteluitwisseling een nuttig sleuteluitwisselingssysteem gebleken. Hoewel het heel moeilijk is voor iemand die het netwerk snuffelt om de gegevens te decoderen en de sleutels te krijgen, is het nog steeds mogelijk als de gegenereerde nummers niet helemaal willekeurig zijn. Het sleuteluitwisselingssysteem maakt het ook mogelijk om een ​​man in de middelste aanval te doen, om het te vermijden, beide partijen moeten zeer voorzichtig zijn bij het begin van de uitwisseling.

Aanbevolen artikel

Dit is een gids geweest voor Diffie Hellman Key Exchange Algorithm. Hier bespreken we het gebruik, verschillende algoritmen, voordelen en nadelen. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. Machine Learning-algoritmen
  2. Encryptie algoritme
  3. Classificatie-algoritmen
  4. Soorten algoritmen