您可以通过明信片发送指纹来验证公钥吗?

您可以通过明信片发送指纹来验证公钥吗?

分享公钥和分享 40 位指纹有什么区别?公钥很长,所以如果我想让别人验证我的消息,我是否可以给他们寄一张带有 40 位指纹的明信片?

答案1

指纹就像是密钥的序列号(唯一标识符)。它用于检查双方是否在谈论同一个密钥,以防公钥服务器中有多个同名的人。(与庞大的公钥字符串相比,一目了然地检查指纹也容易得多。)

指纹是公钥的哈希值,由于它较短,因此包含的信息也较少。因此,它不能充当公钥,因为公钥无法从指纹中检索出来(在合理的时间内)。哈希函数破坏了公钥与私钥之间的数学关系。

考虑一个略显做作的物理隐喻。假设你有一把锁(公钥),摇晃它的内部,一半的销钉会消失,其余的销钉会以某种确定性的方式重新排列(产生一个损坏的锁,即指纹)。真正的锁(私钥)的钥匙无法打开那把损坏的锁,因为它和锁之间的物理联锁关系已经丢失。但是,你可以通过比较两把被篡改的锁来确定它们是相同的,假设篡改过程是一个好的哈希值。

所以,你不能只使用指纹来为某人加密消息。您必须拥有完整的公钥。

进一步阅读:PGP 密钥验证公钥指纹

答案2

您可以通过明信片发送指纹来验证公钥吗?

简短回答:

指纹的真正目的是简化密钥认证过程。所以是的,你可以将指纹发送给其他人,这样他们就可以验证他们拥有的你的公钥。但是,你需要注意发送指纹的渠道是安全的。

较长的版本:

常见的情况是,公钥可以通过某些密钥服务器访问,或者人们在通过互联网发送的加密消息中提供他们的公钥。这两种方式都不是十分可靠的来源,中间人可能会在你提取密钥时更改密钥。要验证其他人的公钥(并与他们发起加密通信),需要验证/认证这个可访问的公钥。

为了简化这个过程,您不需要与相关人员见面/打电话并口述您的(可能很长的)公钥,而是可以将您的指纹与该人刚刚根据收到的公钥计算出的指纹进行比较。

但是,您用来传递指纹以进行比较的渠道必须安全。就我个人而言,我有点偏执,不敢用明信片传递指纹。但是,要验证/认证另一个人的公钥,并且如果您信任邮政服务并且邻居有权访问邮箱,这是可行的。

钥匙和指纹的区别

指纹是通过加密哈希函数计算得出的。尽管指纹应该是唯一的(没有两条不同的消息共享相同的哈希值),但您无法逆转该过程,因此您无法解密使用相应公钥加密的任何消息。

相关内容