algorytm wymiany kluczy Diffie Hellman (DH) jest metodą bezpiecznej wymiany kluczy kryptograficznych za pośrednictwem publicznego kanału komunikacji. Klucze nie są faktycznie wymieniane – są wspólnie wyprowadzane. Nazwa pochodzi od nazwiska ich wynalazców Whitfielda Diffiego i Martina Hellmana.
jeśli Alicja i Bob chcą się ze sobą komunikować, najpierw zgadzają się między sobą dużą liczbą pierwszą p i generatorem (lub bazą) g (gdzie 0 < G < p).
Alice wybiera tajną liczbę całkowitą a (jej klucz prywatny), a następnie oblicza g^a mod p (który jest jej kluczem publicznym). Bob wybiera swój klucz prywatny b i oblicza swój klucz publiczny w ten sam sposób.
Bob zna b I g^a, więc może obliczyć (g^A)^B mod P = G^ab mod P. dlatego zarówno Alice, jak i Bob znają wspólny sekret G^ab mod P. podsłuchująca Ewa, która podsłuchiwała komunikację, zna P, G, klucz publiczny Alice (g^a mod P) i klucz publiczny Boba (G^b mod P). Nie jest w stanie obliczyć wspólnej tajemnicy z tych wartości.
w trybie static-static zarówno Alice, jak i Bob zachowują swoje klucze prywatne/publiczne przez wiele komunikacji. Dlatego powstały wspólny sekret będzie za każdym razem taki sam. W trybie efemeryczno-statycznym jedna ze stron za każdym razem wygeneruje nowy klucz prywatny/publiczny, w ten sposób zostanie wygenerowany nowy wspólny sekret.