ディフィー・ヘルマン鍵共有
secret_a = 1234 # Aliceの秘密鍵secret_b = 5678 # Bobの秘密鍵g = 3 # 基数(Generator)p = 65537 # 法(Modulus)
# Aliceが計算し、Bobに送る公開値 A = g^a mod ppublic_A = pow(g, secret_a, p)
# Bobが計算し、Aliceに送る公開値 B = g^b mod ppublic_B = pow(g, secret_b, p)
# 共通鍵の生成
# Alice: K = B^a mod pkey_alice = pow(public_B, secret_a, p)
# Bob: K = A^b mod pkey_bob = pow(public_A, secret_b, p)
print(f"Aliceが生成した共通鍵 (K): {key_alice}")print(f"Bobが生成した共通鍵 (K): {key_bob}")print(f"鍵が一致したか: {key_alice == key_bob}")