Diffie Hellman (DH) key exchange algorithm on menetelmä salausavainten turvalliseen vaihtoon julkisen viestintäkanavan kautta. Avaimia ei varsinaisesti vaihdeta – ne ovat yhteisesti johdettuja. Se on nimetty keksijöidensä Whitfield Diffien ja Martin Hellmanin mukaan.
jos Alice ja Bob haluavat kommunikoida keskenään, he sopivat ensin keskenään suuren alkuluvun p ja generaattorin (tai kantaluvun) g (missä 0 < g < p).
Alice valitsee salaisen kokonaisluvun a (hänen yksityinen avaimensa) ja laskee sitten g^a mod p (joka on hänen julkinen avaimensa). Bob valitsee yksityisen avaimensa b ja laskee julkisen avaimensa samalla tavalla.
Bob tuntee b: n ja G^A: n, joten hän voi laskea (g^a)^b mod p = G^ab mod P. siksi sekä Alice että Bob tietävät jaetun salaisuuden g^ab mod p. salakuuntelija Eve, joka kuunteli viestintää, tietää p: n, g: n, Alicen julkisen avaimen (g^a mod p) ja Bobin julkisen avaimen (g^b mod p). Näistä arvoista hän ei pysty laskemaan yhteistä salaisuutta.
staattisessa tilassa sekä Alice että Bob säilyttävät yksityisiä / julkisia avaimiaan useiden tietoliikenneyhteyksien kautta. Siksi tuloksena oleva yhteinen salaisuus on sama joka kerta. Ephemeral-staattisessa tilassa yksi osapuoli luo uuden yksityisen / julkisen avaimen joka kerta, jolloin syntyy uusi jaettu salaisuus.