个人目的只是想从 应用使用的角度来理解,非对称加密、公钥私钥这些概念。

对于 ssh 的`authorized_keys`的应用使用过程为:
● 服务器检查 `authorized_keys` 文件,找到与客户端提供的公钥匹配的条目。
● 服务器生成一个随机数,并使用公钥对其进行加密,然后将加密后的消息发送给客户端。
● 客户端使用私钥解密该消息,并将解密后的随机数返回给服务器。
● 服务器验证返回的随机数是否正确。如果正确,服务器接受客户端的连接请求。
从这个过程,理解了"正因为客户端使用了私钥来解密,所以才能证明客户端的身份。",而且反过来,“私钥加密,公钥解密”是无法证明身份的。
自己也去 ssh 连接了多个服务器,查看了`authorized_keys`的内容。也看了客户端自己`~/.ssh/id_rsa.pub`。


那对于“私钥签名,公钥验证”,有什么应用场景是平时接触得到的?
- 而且最好有实物可以查看,帮助理解。
- 而且要是能有一个和我上面差不多的简单分析,就更好了。
举报· 338 次点击
登录 注册 站外分享
37 条回复  
xmumiffy 小成 2024-9-21 10:04:35
https 证书就是
imdong 初学 2024-9-21 10:06:30
你怎么证明这句话是你说的?
kera0a 初学 2024-9-21 10:09:28
私钥加密,公钥解密 恰恰就能证明身份啊,在说什么啊兄弟
R18 小成 2024-9-21 10:09:30
公钥加密->私钥解密  别人发给你信息,确保这个信息只有你能解密
私钥签名->公钥验证  你发一条信息出去,任何知道你公钥的人都能验证这条信息是来自于你
kaichen 小成 2024-9-21 10:10:58
区块链,证明我持有这把公钥对应的私钥

1. 用私钥签名一段数据哈希(如转账)
2. 网络节点还原哈希对应的公钥(椭圆曲线)验证公钥所有者,以及检查公钥所有者记账的金额余额

区块链上的账目实际上是记录在公钥上,即某个公钥持有对应资产数量
maichael 小成 2024-9-21 10:11:36
几乎所有的区块链/数字货币
NessajCN 小成 2024-9-21 10:15:44
这个顾名思义就知道了啊
签名的作用就是让别人知道某段信息是只有我能发出的
譬如我是某机构,我要发一篇公告,我把公钥公开出去,再用私钥加密这篇公告的内容发出去,
别人用公钥解密成功的文本就说明是本机构发出的,任何其他人都伪造不了
应用场景么像是软件分发时候在 manifesto 里加上私钥信息表明分发源可靠之类
公钥加密的作用是对密文本身保密,私钥签名对密文本身是不保密的,仅仅是证明密文发出者的身份可靠
crackidz 小成 2024-9-21 10:17:57
GPG 你提到两部分包含两部分:

公钥持有者使用接受者公钥加密,只有指定的接受者才能解密查看邮件内容。
同时,发送者使用私钥进行签名,接受者使用发送者的公钥验证邮件是由真实的发送者发送。

这就是双向验证。
jinliming2 小成 2024-9-21 10:24:44
软件的数字签名,开发者用私钥签名,用户使用公钥验证软件来源且未被篡改。
1234下一页
返回顶部