公钥与私钥解释
一、概念
公钥:是公开的,不需要保密。
私钥:个人持有,并且必须妥善保管和保密。
这两把密钥互为加解密。
现代密码体制中加密和解密是采用不同的密钥——非对称密钥密码系统
二、原则
- 一个公钥对应一个私钥。
- 密钥对中,让大家知道的是公钥,不告诉大家,只有自己知道的,是私钥。
- 如果用其中一个密钥加密数据,则只有对应的那个密钥才可以解密。
- 如果用其中一个密钥可以进行解密数据,则该数据必然是对应的那个密钥进行的加密。
3、加密和认证
基于公开密钥的加密过程
比如有两个用户Alice和Bob,Alice想把一段明文通过双钥加密的技术发送给Bob,Bob有一对公钥和私钥,那么加密解密的过程如下:
- Bob将他的公开密钥传送给Alice。
- Alice用Bob的公开密钥加密她的消息,然后传送给Bob。
- Bob用他的私人密钥解密Alice的消息。
.
基于公开密钥的认证过程
身份认证与加密不同,主要用户鉴别用户的真伪。只要鉴别一个用户的私钥是正确的,就可以鉴别这个用户的真伪。
1. Alice用她的私人密钥对文件加密,从而对文件签名。
2. Alice将签名的文件传送给Bob。
3. Bob用Alice的公钥解密文件,从而验证签名。
GIT之SSH公钥与私钥
- 打开Git Bash,然后生成新的密钥:$ ssh-keygen -t rsa -c “邮箱地址”
- git clone
在clone之前,需要初始化git仓库(git init)
把自己的公钥提供给管理员,之后就可以从服务器远地仓库下载项目到本机。
git的公钥和私钥位置
公钥和私钥的生成地址是确定的,都在:C:\Users\xxx.ssh里面,如果是xxx.pub这个是公钥,则xxx这个是私钥,
这个地址不会发生改变,所以服务器匹配我们的私钥的时候,直接来这个地址就行,所以当我们换系统的时候,我们每一次把这个备份,下次直接覆盖这个地方就行了.
公钥与私钥的作用
公钥我们一般是给服务器的,他们在权限中加入我给的公钥,然后当我从远地仓库中下载项目的时候,我在git clone xxx的时候,那个服务器我通过他的绑定的公钥来匹配我的私钥,这个时候,如果匹配,则就可以正常下载,如果不匹配,则失败