一、 什么是公钥和私钥
公钥和私钥的定义
公钥和私钥是非对称加密技术中的一对密钥,用于加密、解密或数字签名。公钥可公开分发,私钥必须严格保密。
非对称加密的基本原理
非对称加密使用数学上关联的两个密钥:
- 公钥:用于加密数据或验证数字签名,可自由共享。
- 私钥:用于解密数据或生成数字签名,仅由持有者保管。
数学关系示例(RSA算法):
若公钥为 (e,n)(e, n)(e,n),私钥为 ddd,则满足 e⋅d≡1mod ϕ(n)e \cdot d \equiv 1 \mod \phi(n)e⋅d≡1modϕ(n),其中 ϕ(n)\phi(n)ϕ(n) 是欧拉函数。
主要用途
数据加密
发送方用接收方的公钥加密数据,仅接收方可用私钥解密。
数字签名
发送方用私钥生成签名,接收方用公钥验证签名真实性。
常见算法
- RSA:基于大整数分解难题。
- ECC(椭圆曲线加密):基于椭圆曲线离散对数问题,密钥更短。
- EdDSA:用于高效数字签名,如Ed25519。
密钥管理
- 私钥安全:需存储在硬件安全模块(HSM)或加密容器中。
- 公钥分发:通过数字证书(如X.509)由可信机构(CA)验证。
与对称加密的区别
对称加密(如AES)使用单一密钥,速度快但密钥分发困难;非对称加密解决密钥分发问题,但计算开销较大。实际应用中常结合两者(如TLS协议)。
应用场景
- HTTPS/SSL:网站加密通信。
- SSH:远程登录认证。
- 加密货币:比特币地址由公钥哈希生成。
通过非对称加密,公钥和私钥实现了安全通信和身份验证的核心功能。
设置公钥
- 首先在本机上找到C:\Users\用户名.ssh这个文件,如果没有.ssh就创建一个;
- 然后在该文件夹下点击Git Bash Here,进入一个命令行窗口

- 生成公钥最简单的方法如下
ssh-keygen -t rsa
如果想要生成多个RSA算法的公钥,想应用于不同的平台,例如github, gitee等。可以使用如下方法
ssh-keygen -t rsa -f ~/.ssh/github_id_rsa
其中github_id_rsa可以换成任意的名字,如gitee_id_rsa,这样就会生成

4. 最后在config文件中进行配置,如果没有config文件就创建一个
5. 配置方法如下
# GitHub 配置
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/github_id_rsa
# GitLab 配置
Host gitlab.com
HostName gitlab.com
User git
IdentityFile ~/.ssh/gitlab_ed25519
-
Host:你起的别名(可以随便取),也可以直接写目标域名。
-
HostName:真实的服务器地址,比如 github.com、gitee.com。
-
User:登录时的用户名,Git 平台一般都是固定的 git。
-
IdentityFile:私钥文件路径,指定要用哪把钥匙。
1335

被折叠的 条评论
为什么被折叠?



