Diffie Hellman (DH) nøkkelutvekslingsalgoritme er en metode for sikker utveksling av kryptografiske nøkler over en offentlig kommunikasjonskanal. Nøkler er faktisk ikke utvekslet – de er felles avledet. Den er oppkalt etter oppfinnerne Whitfield Diffie og Martin Hellman.
Hvis Alice og Bob ønsker å kommunisere med hverandre, blir De først enige mellom dem om et stort primtall p og en generator (eller base) g (hvor 0 < g < p).
Alice velger et hemmelig heltall a (hennes private nøkkel) og beregner deretter g^a mod p (som er hennes offentlige nøkkel). Bob velger sin private nøkkel b, og beregner sin offentlige nøkkel på samme måte.
Bob kjenner b og g^a, så Han kan beregne (g^a)^b mod p = g^ab mod p. Derfor Kjenner Både Alice og Bob en delt hemmelig g^ab mod p. en avlytter Eve som lyttet inn på kommunikasjonen kjenner p, g, Alices offentlige nøkkel (g ^ a mod p) og Bobs offentlige nøkkel (g^b mod p). Hun kan ikke beregne den delte hemmeligheten fra disse verdiene.
I statisk-statisk modus beholder Både Alice og Bob sine private / offentlige nøkler over flere kommunikasjoner. Derfor vil den resulterende delte hemmeligheten være den samme hver gang. I ephemeral-statisk modus vil en part generere en ny privat / offentlig nøkkel hver gang, og dermed vil en ny delt hemmelighet bli generert.