非对称加密算法是一种密钥的保密方法。
非对称加密算法需要两个密钥:公开密钥(publickey) 和私有密
钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密
钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私
有密钥对数据进 行加密,那么只有用对应的公开密钥才能解密。
因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非
对称加密算法。 非对称加密算法实现机密信息交换的基本过程
是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公
开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再
发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信
息进行解密。
另一方面,甲方可以使用乙方的公钥对机密信息进行签名后再发
送给乙方;乙方再用自己的私匙对数据进行验签。
对称加密算法的保密性比较好,它消除了最终用户交换密钥的需
要。
非对称密码体制的 特点:算法强度复杂、安全性依赖于算法与密
钥但是由于其算法复杂,而使得加密解密速度没有对称加密解密
的速度快。对称密码体制中只有一种密钥,并且是非公 开的,如
果要解密就得让对方知道密钥。所以保证其安全性就是保证密钥
的安全,而非对称密钥体制有两种密钥,其中一个是公开的,这
样就可以不需要像对称密码 那样传输对方的密钥了。这样安全性
就大了很多。
客户端使用这种算法,简单说就是:获取publicKey,通过事先定
义好的专用密钥和参数一起解密该publicKey,然后作为参数和其
他参数一起传送给服务端,服务端通过相同的方式解密参数得到
一个密钥,对比客户端的密钥和服务端的密钥是否相同,如果相
同则表明数据完整,没有被篡改,如果不同,请求失败。