——非对称加密:加密采用一个密钥,解密采用另一个密钥
特点:公钥和私钥是成对的,可互相解密。
当想给某人寄送信件时,只需要向指定安全邮箱寄送(公钥加密) ,但只有收信方能用钥匙打开(密钥解密)
- 接收方向外公开一个加密公钥,任何想给接收方发送数据的发送方都可以获得这个公开密钥
- 发送方采用公开密钥加密并发送,确保数据在复杂不安全传输中的安全性,因为只有密钥能解密
——私钥签名
公钥加密可以确保发送方发送数据在传输中的安全性,而私钥也可用于加密,以标识文件的所有者身份
- 发布者采用自己私钥加密文件,外界通过官网渠道获得发布者公开的公钥
- 对于一个加密文件,若通过公钥能正常解密,可确认原文件的身份真实性
——案例:SSH
SSH提供公钥登录,可以省去输入密码的步骤。
用户将自己的公钥储存在远程主机上。
$ ssh-keygen
运行结束以后,在$HOME/.ssh/目录下,会新生成两个文件:id_rsa.pub和id_rsa。
前者是你的公钥,后者是你的私钥。
这时再输入下面的命令,将公钥传送到远程主机host上面:
$ ssh-copy-id user@host
从此登录,不需要输入密码。
之后登录的时候,远程主机会向用户发送一段随机序列,用户用自己的私钥加密后,再发回来。
远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码。