1. 概念
非对称加密使用了一对密钥,公钥和私钥。私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。非对称加密使用这对密钥中的一个进行加密,而解密则需要另一个密钥。比如,你向银行请求公钥,银行将公钥发给你,你使用公钥对消息加密,那么只有私钥的持有人——银行才能对你的消息解密。
公钥(Public Key):
公钥是可以公开的加密密钥。它用于加密数据,并且只能由与之配对的私钥解密。
私钥(Private Key):
私钥是保密的加密密钥。它用于解密由公钥加密的数据。
2. 优缺点
优点:
安全性高,因为私钥不通过网络发送出去。
适用于分布式系统,因为每个节点可以拥有不同的公钥和私钥对。
缺点:
加解密速度慢,因为需要大量的计算资源。
需要大量的存储空间来存储公钥和私钥对。
应用场景:
非对称加密适用于需要高安全性、分布式系统的场景,如数字签名、身份认证等。常见的非对称加密算法有RSA、ECC等。
3. 应用在SSH免密登录中
生成密钥对: 用户在A服务器生成一对公钥(id_rsa.pub)和私钥(id_rsa)。
公钥分发: 用户将A服务器公钥添加到B服务器的
~/.ssh/authorized_keys
文件中。身份验证: 用户从A服务器 尝试登录B服务器时, B服务器会使用
authorized_keys
中A服务器的公钥验证用户的身份。B服务器生成一个随机数并用A服务器公钥加密发送A服务器, A服务器使用私钥解密并将结果发送回B服务器进行验证。成功登录: 如果验证通过,用户可以在不输入密码的情况下成功登录B服务器。