DH:DH 密钥交换用于在公开信道上共享私密信息
算法的流程
系统参数
系统的运行需要确定以下两个参数:
- 一个大素数 p;
- 一个整数 g;
信息生成
进行信息交换的双方需要确定以下的信息:
- 双方分别生成两个秘密信息 $$X_A, X_B$$
- 通过秘密信息与整数 g 计算:$$g^{X_A}, g^{X_B}$$
秘密共享
收到公开信道的信息的双方进行以下操作:
- A 计算得到秘密共享信息:$$s = (g^{X_B})^{X_A} = g^{X_AX_B}$$
- B 计算得到秘密共享信息:$$s = (g^{X_A})^{X_B} = g^{X_AX_B}$$