非对称加密是一种密钥的保密方法。
非对称加密需要两个密钥:公开密钥和私有密钥。
公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密。
因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。
非对称加密实现机密信息交换的基本过程是:
甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;
得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;
甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。
甲方想要回复乙方时正好相反,使用乙方的公钥对数据进行加密,同理,乙方使用自己的私钥来进行解密。
另一方面,甲方可以使用乙方的公钥对机密信息进行签名后再发送给乙方;甲方再用自己的私钥对乙方发送回来的数据进行验签。
甲方只能用其专用密钥解密由其公用密钥加密后的任何信息。非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。