Diffie Hellman (DH) algoritmul de schimb cheie este o metodă pentru schimbul în siguranță chei criptografice pe un canal de comunicații publice. Cheile nu sunt de fapt schimbate – sunt derivate în comun. Este numit după inventatorii lor Whitfield Diffie și Martin Hellman.
dacă Alice și Bob doresc să comunice între ei, mai întâi sunt de acord între ei un număr prim mare p și un generator (sau bază) g (unde 0 < g < p).
Alice alege un număr întreg secret a (cheia ei privată) și apoi calculează g^A mod p (care este cheia ei publică). Bob își alege cheia privată b și își calculează cheia publică în același mod.
Bob știe b și G^a, așa că poate calcula (G^A)^B mod p = G^ab mod p. prin urmare, atât Alice, cât și Bob cunosc un secret comun g^ab mod p. O EVE care asculta comunicarea știe p, g, cheia publică a lui Alice (g^a mod p) și cheia publică a lui Bob (g^b mod p). Ea nu este în măsură să calculeze secretul comun din aceste valori.
în modul static-static, atât Alice, cât și Bob își păstrează cheile private/publice prin mai multe comunicații. Prin urmare, secretul partajat rezultat va fi același de fiecare dată. În modul efemer-static, o parte va genera de fiecare dată o nouă cheie privată/publică, astfel va fi generat un nou secret partajat.