Diffie-Hellman密钥协商算法
概述 DH算法是非对称加密算法的鼻祖,为非对称加密算法奠定了基础, 主要用途是进行密钥交换 , 确保共享的密钥能够安全穿越不安全的网络 。该算法其背后有对应数学理论做支撑,简单来讲就是构造一个复杂的计算难题,使得对该问题的求解在现实的时间内无法快速有效的求解( computationally infeasible )。 这个机制的巧妙在于需要安全通信的双方可以用这个方法确定对称密钥。然后可以用这个对称密钥进行加密和解密。但是注意,这个密钥交换协议/算法只能用于密钥的交换,而不能进行消息的加密和解密。之所以如此,主要还是由于对称加密和非对称加密算法的特性决定的。 1. 对称加密算法和非对称加密算法 对称加密算法 双方使用的同一个密钥,既可以加密又可以解密,这种加密方法称为对称加密,也称为单密钥加密。 优点: 速度快,对称性加密通常在消息发送方需要加密大量数据时使用,算法公开、计算量小、加密速度快、加密效率高。 缺点: 在数据传送前,发送方和接收方必须商定好秘钥,然后 使双方都能保存好秘钥。其次如果一方的秘钥被泄露,那么加密信息也就不安全了。另外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的唯一秘钥,这会使得收、发双方所拥有的钥匙数量巨大,密钥管理成为双方的负担。 在对称加密算法中常用的算法有: DES、AES等。 AES: 密钥的长度可以为128、192和256位