概念
非对称加密算法是一种密钥的保密方法.
包括 : 公开密钥 publickey 和 私有密钥privatekey , 公钥与私钥成对 , 信息经过公钥加密,只有通过对应的私钥才能解密 . 加密和解密使用不同的密钥 , 被称为非对称加密算法
其中最常见的就是RSA算法
原理分析
理解 :
传输的信息相当于锁头, 公钥和私钥相当于钥匙, 公钥用于上锁 (加密过程) ,私钥用于开锁 (解密过程)
相当于 : 开锁和上锁用的是俩把钥匙
分析 :
A与B传递信息的一个过程
-
A B 生成一对密钥
-
A B告知对方公钥 , 私钥彼此保密
-
A利用B的公钥加密信息 , 并将加密的信息传给B
- B收到消息后同B自己的私钥解密A传输来的信息
注 : 其他所有收到消息的人,因为没有B的私钥,因此解不开B公钥加密的信息,所以保障了安全
应用
Linux的免密码登录的原理就是非对称加密算法
算法区别和优缺点
与对称加密算法的区别 :
1.用于消息解密的密钥值与用于消息加密的密钥值不同;
2.非对称加密算法比对称加密算法慢数千倍,但在保护通信安全方面,非对称加密算法却具有对称密码难以企及的优势。
与MD5算法的区别:
MD5是不可逆的,也就是没有对应的算法(MD5不是对称加密和非对称加密算法),从生产的md5值逆向得到原始数据。
优缺点:
优点:安全性更高,公钥是公开的,秘钥是自己保存
缺点:加密和解密花费时间长、速度慢,只适合对少量数据进行加密