Úvod do algoritmu výmeny kľúčov Diffie Hellman

Algoritmus výmeny kľúčov Diffie Hellman je jednou z prvých praktických implementácií výmeny verejných kľúčov v oblasti kryptografie. Algoritmus výmeny kľúčov Diffie Hellmana je jedným zo spôsobov, ako môžu vygenerovať zdieľaný kľúč a zdieľať vylučujúce údaje medzi dvoma stranami tak, aby sme si boli istí, že sa nikto nebude môcť zapojiť do komunikácie. Existuje jeden dôležitý fakt, ktorý treba mať na pamäti v prípade algoritmu, že zdieľame informácie pri výmene, namiesto toho vytvárame kľúč, ktorý je možné neskôr použiť na výmenu informácií. Pretože táto technika nám umožňuje vytvoriť šifrovací kľúč s druhou stranou, môžeme začať šifrovať prebiehajúce a prijímajúce správy. Jeden je zavedený, aj keď niekto zaznamená prenosové dáta, neexistuje spôsob, ako sa dajú dáta dešifrovať.

Algoritmus výmeny kľúčov Diffie Hellman pre generovanie kľúčov

Algoritmus je založený na kryptografii eliptických kriviek, ktorá je metódou kryptografie s verejným kľúčom založenou na algebrovej štruktúre eliptických kriviek nad konečnými poľami. DH tiež používa funkciu trapdoor, rovnako ako mnoho iných spôsobov, ako vykonávať kryptografiu verejného kľúča. Jednoduchá myšlienka porozumenia algoritmu DH je nasledujúca

1. Prvá strana vyberie dve prvočísla g a pa a oznámi ich druhej strane.

2. Druhá strana potom vyberie tajné číslo (nazvime ho a) a potom vypočíta g a mod p a odošle výsledok späť prvému účastníkovi, zavolajte výsledok A. Nezabudnite, že tajné číslo sa neposiela pre kohokoľvek, iba výsledok je.

3. Potom prvá strana urobí to isté, vyberie tajné číslo ba vypočíta výsledok B similor k

4. krok 2. Potom sa tento výsledok odošle druhej strane.

5. Druhá strana vezme prijaté číslo B a vypočíta B a mod p

6. Prvá strana vezme prijaté číslo A a vypočíta A b mod s

To je miesto, kde sa to stane zaujímavým, odpoveď v kroku 5 je rovnaká ako odpoveď v kroku 4. To znamená, že obe strany dostanú rovnakú odpoveď bez ohľadu na poradie exponentácie.

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

Číslo, ktoré sme dostali v krokoch 4 a 5, sa bude považovať za zdieľaný tajný kľúč. Tento kľúč sa teraz dá použiť na akékoľvek šifrovanie údajov, ktoré sa budú prenášať, ako sú blowfish, AES atď.

Algoritmus Diffie Hellmana

1. klávesa = (YA) XB mod q -> toto je rovnaké ako pri výpočte pomocou B

2. Globálne verejné prvky

  • q: q je prvočíslo
  • a: a <q a α je primitívny koreň q

3. Generovanie kľúčov pre používateľa A

  • Vyberte súkromný kľúč X A Here, X A

Teraz výpočet verejného kľúča Y A Y A = a XA mod q

4. Generovanie kľúčov pre užívateľa B

  • Vyberte súkromný kľúč X B Tu, X B
  • Teraz výpočet verejného kľúča Y B Y B = a Xb mod q

5. Výpočet tajného kľúča pomocou A

  • key = (YB) XA mod q

6. Výpočet tajného kľúča pomocou B

  • key = (Y A ) XB mod q

príklad

1. Alice aj Bob používajú verejné čísla P = 23, G = 5

2. Alice vybrala súkromný kľúč a = 4 a Bob vybral b = 3 ako súkromný kľúč

3. Alica aj bob teraz vypočítajú hodnotu xay takto:

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

4. Teraz si Alice aj Bob navzájom vymieňajú verejné čísla.

5. Alice a Bob teraz vypočítajú symetrické kľúče

  • Alice: ka = y a mod p = 104 mod 23 = 18
  • Bob: kb = x b mod p = 4 mod mod 23 = 18

6. 18 je zdieľaný tajný kľúč.

Použitie algoritmu Diffie Hellman

Okrem použitia algoritmu na generovanie verejných kľúčov existujú aj ďalšie miesta, na ktorých je možné použiť algoritmus DH:

  • Šifrovanie: Algoritmus výmeny kľúčov Diffie Hellman možno použiť na šifrovanie, jednou z prvých schém, ktorá to urobila, bolo šifrovanie ElGamal. Jedným z moderných príkladov je tzv. Integrovaná šifrovacia schéma, ktorá poskytuje bezpečnosť pred vybranými útokmi obyčajného textu a vybranými útokmi zo schránky.
  • Dohoda overená heslom : Ak dve strany zdieľajú heslo, na zabránenie útoku človeka pri strednom útoku možno použiť dohodu kľúčom overenú heslo. Táto kľúčová dohoda môže mať formu Diffie-Hellman. Protokol Secure Remote Password Protocol je dobrým príkladom, ktorý je založený na tejto technike.
  • Forward Secrecy: Protokoly Forward Secrecy môžu generovať nové páry kľúčov pre každú novú reláciu a môžu ich automaticky po ukončení relácie zahodiť. V týchto forwardových protokoloch o utajení sa častejšie používa výmena kľúčov Diffie Hellman.

Výhody algoritmu Diffie Hellman

  • Odosielateľ a príjemca nepotrebujú žiadne predchádzajúce vzájomné znalosti.
  • Po výmene kľúčov môže byť komunikácia údajov uskutočnená prostredníctvom nezabezpečeného kanála.
  • Zdieľanie tajného kľúča je bezpečné.

Nevýhody algoritmu Diffie Hellman

  • Algoritmus sa nedá žalovať za asymetrickú výmenu kľúčov.
  • Podobne ho nemožno použiť na podpisovanie digitálnych podpisov.
  • Pretože to neoveruje žiadnu stranu v prenose, výmena kľúčov Diffie Hellman je náchylná na útok typu človek v strede.

záver

Vďaka svojim výhodám sa výmena kľúčov Diffie Hellman osvedčila ako užitočný systém výmeny kľúčov. Aj keď je naozaj ťažké pre niekoho snooping sieť dešifrovať dáta a získať kľúče, je stále možné, ak vygenerované čísla nie sú úplne náhodné. Systém výmeny kľúčov tiež umožňuje urobiť muža v útoku uprostred, aby sa tomu zabránilo, obe strany by mali byť na začiatku výmeny veľmi opatrné.

Odporúčaný článok

Toto bol sprievodca algoritmom Diffie Hellman Key Exchange Algorithm. Tu diskutujeme o použitiach, rôznych algoritmoch, výhodách a nevýhodách. Viac informácií nájdete aj v ďalších navrhovaných článkoch -

  1. Algoritmy strojového učenia
  2. Algoritmus šifrovania
  3. Algoritmy klasifikácie
  4. Druhy algoritmov

Kategórie: