Uvod v algoritem izmenjave ključev Diffie Hellman

Algoritem izmenjave ključev Diffie Hellman je ena prvih praktičnih izvedb izmenjave javnih ključev na področju kriptografije. Algoritem izmenjave ključev Diffie Hellman je eden od načinov, ki lahko ustvari skupni ključ in deli medsebojno ločevanje med strankami tako, da smo lahko prepričani, da nihče ne bo mogel prisluhniti komunikaciji. V zvezi z algoritmom je treba upoštevati eno dejstvo, da ne izmenjujemo informacij v izmenjavi, temveč ustvarjamo ključ, ki ga lahko kasneje uporabimo za izmenjavo informacij. Ker nam ta tehnika omogoča, da z drugo stranko izdelamo šifrirni ključ, lahko začnemo šifrirati tekoča in sprejemati sporočila. Eden od uveljavljenih, četudi nekdo beleži podatke o prenosu, ni možnosti, da bi podatke lahko dešifrirali.

Algoritem izmenjave ključev Diffie Hellman za generiranje ključev

Algoritem temelji na kriptografiji Elliptic Curve, ki je metoda izvajanja kriptografije z javnim ključem, ki temelji na strukturi algebre eliptičnih krivulj nad končnimi polji. DH uporablja tudi funkcijo trapdoor tako kot mnogi drugi načini za kriptografijo z javnim ključem. Preprosta ideja razumevanja algoritma DH je naslednja

1. Prva stranka izbere dve glavni številki g in p in ju pove drugi osebi.

2. Druga stranka nato izbere tajno številko (recimo jo a) in nato izračuna g a mod p in rezultat pošlje nazaj prvi stranki, pokličemo rezultat A. Upoštevajte, da tajna številka ni poslana komurkoli, samo rezultat je.

3. Potem prva stranka stori enako, izbere skrivno številko b in izračuna rezultat B, ki je enak številki

4. korak 2. Nato se ta rezultat pošlje drugi strani.

5. Druga stranka vzame prejeto številko B in izračuna B a mod p

6. Prva stranka vzame prejeto številko A in izračuna A b mod p

Tukaj je zanimivo, odgovor v 5. koraku je enak odgovoru v koraku 4. To pomeni, da bosta obe strani dobili enak odgovor, ne glede na vrstni red eksponentnosti.

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

Številka, ki smo jo dosegli v korakih 4 in 5, bo vzeta kot skupni skrivni ključ. Zdaj lahko ta ključ uporabljate za šifriranje podatkov, ki se bodo prenašali, na primer metuljček, AES itd.

Algoritem Diffie Hellman

1. tipka = (Y A ) XB mod q -> to je enako, kot ga izračuna B

2. Globalni javni elementi

  • q: q je prvo število
  • a: a <q in α je primitivni koren q

3. Generacija ključev za uporabnika A

  • Izberite zasebni ključ X A Tu, X A

Zdaj je izračun javnega ključa Y A Y A = a XA mod q

4. Generacija ključev za uporabnika B

  • Izberite zasebni ključ X B Tukaj, X B
  • Zdaj je izračun javnega ključa Y B Y B = a Xb mod q

5. Izračun tajnega ključa z A

  • tipka = (Y B ) XA mod q

6. Izračun tajnega ključa z B

  • tipka = (Y A ) XB mod q

Primer

1. Alice in Bob uporabljata javne številke P = 23, G = 5

2. Alice je izbrala zasebni ključ a = 4 in Bob je kot zasebni ključ izbral b = 3

3. Alice in bob zdaj izračunata vrednost x in y na naslednji način:

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

4. Zdaj Alice in Bob izmenjujeta javne številke.

5. Alice in Bob zdaj izračunava simetrične tipke

  • 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 je skupni skrivni ključ.

Uporaba algoritma Diffie Hellman

Poleg uporabe algoritma za ustvarjanje javnih ključev je na nekaterih drugih mestih mogoče uporabiti algoritem DH:

  • Šifriranje: Za šifriranje je mogoče uporabiti algoritem izmenjave ključev Diffie Hellman, ena prvih shem pa je bila šifriranje ElGamal. Sodoben primer je imenovana shema integrirane šifriranja, ki zagotavlja varnost pred izbranim navadnim besedilom in izbranimi napadi na odložišče.
  • Pogodba z overjeno geslo : Ko dve stranki delita geslo, se lahko s ključno pogodbo, ki je potrjena z geslom, prepreči Človek v napadu. Ta ključni sporazum je lahko v obliki Diffie-Hellman. Varni protokol za oddaljeno geslo je dober primer, ki temelji na tej tehniki.
  • Posredujoča tajnost: Protokoli, ki temeljijo na tajnosti, lahko ustvarijo nove pare ključev za vsako novo sejo in jih lahko samodejno zavržejo na koncu, ko seja tudi konča. V teh posrednih protokolih tajnosti se najpogosteje uporablja izmenjava ključev Diffie Hellman.

Prednosti algoritma Diffie Hellman

  • Pošiljatelj in prejemnik ne potrebujeta nobenega predhodnega poznavanja drug drugega.
  • Ko se ključi izmenjujejo, lahko komunikacija podatkov poteka po nezanesljivem kanalu.
  • Skupna raba skrivnega ključa je varna.

Slabosti algoritma Diffie Hellman

  • Algoritma ni mogoče tožiti za nobeno asimetrično izmenjavo ključev.
  • Podobno je ni mogoče uporabiti za podpisovanje digitalnih podpisov.
  • Ker ne potrdi nobene stranke v prenosu, je izmenjava ključev Diffie Hellman dovzetna za napad človeka v sredini.

Zaključek

Zaradi svojih prednosti se je izmenjava ključev Diffie Hellman izkazala za uporaben sistem izmenjave ključev. Čeprav je res težko, če nekdo, ki priskakuje po omrežju, dešifrira podatke in pridobi ključe, je še vedno mogoče, če ustvarjene številke niso povsem naključne. Tudi sistem izmenjave ključev omogoča človeku v srednjem napadu, da bi se temu izognili, obe strani bi morali biti na začetku izmenjave zelo previdni.

Priporočeni članek

To je vodnik po Algoritmu izmenjave ključev Diffie Hellman. Tukaj razpravljamo o uporabi, različnih algoritmih, prednostih in slabostih. Če želite izvedeti več, lahko preberete tudi druge naše predlagane članke -

  1. Algoritmi strojnega učenja
  2. Algoritem šifriranja
  3. Algoritmi razvrstitve
  4. Vrste algoritmov