在公钥密码学中生成一对密钥,一个私有的和一个公共的,我放在 Github 中的公共。
私钥解密数据,公钥加密数据。这意味着当我将数据发送到 github 时,此数据未加密,因为只有私钥解密数据?
更新:
谢谢各位,我现在明白了。
当我发送推/拉时,我在想我的数据在 github 中是以这种方式加密的。此案例用于登录/验证/签名。这与 SSH 连接为发送我的数据而设置的加密传输流完全不同。
感谢大家的回应...
在公钥密码学中生成一对密钥,一个私有的和一个公共的,我放在 Github 中的公共。
私钥解密数据,公钥加密数据。这意味着当我将数据发送到 github 时,此数据未加密,因为只有私钥解密数据?
更新:
谢谢各位,我现在明白了。
当我发送推/拉时,我在想我的数据在 github 中是以这种方式加密的。此案例用于登录/验证/签名。这与 SSH 连接为发送我的数据而设置的加密传输流完全不同。
感谢大家的回应...
一点都没有错,但是错了。(a) 私钥解密由公钥加密的数据,(b) 公钥解密由私钥加密的数据。
(a):每个人都可以加密某些东西,但只有私钥的所有者才能解密它。
(b):所有者用他的私钥“加密”某些东西,每个人都可以解密它,这确保了真正是所有者,而不是其他人加密数据。
git(hub) 使用第二种情况:如果你推送一些东西,它会用你的私钥签名。接收者现在根据它从您那里知道的公钥来验证签名。如果它匹配,一切都很好。
更新:关于发生的事情的(也许也是)简化描述(将 github 与 ssh 一起使用时)
即使它不完全正确,它也应该描述这个想法。
一个粗略的简化是,当您尝试推送某些内容时,GitHub 将通过使用您的公钥加密一些随机内容并查看您是否可以解密它来向您发送挑战,只有在您拥有私钥的情况下您才能做到这一点钥匙。
使用私钥加密的数据可以使用公钥解密(反之亦然)
PKI 基于两个密钥(公钥和私钥) 数据可以使用公钥或私钥进行安全加密 只有使用与加密数据相反的密钥才能解密数据
注意:可以从私钥生成公钥(而不是相反)来源:https ://github.com/topics/public-private-key