非对称加密算法
非对称加密的一般流程是服务端生成一个密钥对(私钥和公钥),然后将公钥发送给客户端。之后服务可以通过私钥加密数据发送给客户端,客户端收到消息后通过公钥解密。(私钥加密,公钥解密)典型的非对称加密算法有RSA(基于大数因子分解),DSA(基于离散对数),ECC椭圆曲线加密算法等。
DH密钥协商算法
在对称加密中通信双方通过相同的密钥进行加解密数据,这就涉及到密钥的协商。DH密钥协商算法是通过A方会产生一个密钥对,然后将公钥发送给B。B也产生一个密钥对,然后将公钥发送给A。然后A通过自己的私钥+B的公钥计算出一个会话密钥K,B通过自己的私钥和A的公钥也计算出一个会话密钥K。之后通信双发就可以通过这个会话密钥K进行通讯。因为这个会话密钥在通讯时产生,通讯后就失效,所以称为会话密钥,只保存在内存中,不需要存储。而且这个密钥是由通讯双方共同决定的。
非对称加密的密钥协商算法
基于非对称加密的密钥协商算法是通过服务端会产生一个密钥对,然后将公钥发送给客户端,客户端生成一个随机数充当会话密钥,然后客户端通过服务端发来的公钥对这个会话密钥进行加密后发送给服务端。服务端获取到加密数据后通过私钥解密获取到会话密钥。之后双方通过会话密钥进行数据传递。(https就是这么做的)
标签:公钥,加密,会话,密钥,私钥,非对称,密码学,加密算法 From: https://www.cnblogs.com/revercc/p/16714030.html