diffie Hellman(DH)鍵交換アルゴリズムは、公開通信チャネルを介して暗号化鍵を安全に交換するための方法です。 キーは実際には交換されません–それらは共同で派生します。 発明者のウィットフィールド・ディフィーとマーティン・ヘルマンにちなんで命名された。
アリスとボブがお互いに通信したい場合、彼らは最初にそれらの間で大きな素数pとジェネレータ(またはベース)g(ここで0<g<p)に同意します。
アリスは秘密の整数a(彼女の秘密鍵)を選択し、g^a mod p(彼女の公開鍵)を計算します。 Bobは自分の秘密鍵bを選択し、同じ方法で公開鍵を計算します。
ボブはbとg^aを知っているので、(g^a)^b mod p=g^ab mod pを計算することができます。 彼女はこれらの値から共有秘密を計算することができません。
static-staticモードでは、AliceとBobの両方が複数の通信で秘密鍵/公開鍵を保持します。 したがって、結果として得られる共有秘密は毎回同じになります。 一時静的モードでは、1つのパーティが毎回新しい秘密鍵/公開鍵を生成するため、新しい共有秘密鍵が生成されます。