密钥交换协议

Scroll Down

RSA密钥交换

1)客户端发起密钥交换请求,服务端返回自己公钥$P_s$。
2)客户端使用随机数发生器,产生共享密钥k,通过服务端公钥$P_s$进行加密处理。并将加密密文$D_k$发送给服务端。
3)服务端收到$D_k$后,通过私钥解密,得到共享密钥k,完成密钥分发。

DHE密钥交换协议

1)客户端产生随机数$X_c$,计算$P_c=q^{x_c}modp$,将$P_c$发送到服务端。
2)服务端产生随机数$X_s$,计算$P_s=q^{x_s}modp$,将$P_s$发送到客户端。
3)服务端和客户端计算共享信息$S=P_c*P_s=q^{x_c*x_s}modp$

ECDHE密钥交换协议

1)客户端产生随机数$k_c$,并且计算$M_c(x,y)=k_c*G$,并将$M_c(x,y)$发送至服务端。
2)服务端产生随机数$k_s$,并且计算$M_s(x,y)=k_s*G$,并将$M_s(x,y)$发送至客户端。
3)服务端和客户端计算共享信息$S=k_s*M_c(x,y)=k_c*M_s(x,y)=k_c*k_s*G$