区块链 - 公钥密码学



公钥密码学,简称PKI,也称为非对称密码学。它使用两对密钥 - 公钥和私钥。密钥是一个较长的二进制数字。公钥在全球分发,顾名思义,它是真正的公开的。私钥必须严格保密,并且用户决不能丢失它。

在比特币的情况下,如果您丢失了比特币钱包的私钥,您的钱包的所有内容将立即容易受到盗窃,并且在您意识到之前,您所有的钱(钱包的内容)都会消失,系统中没有任何机制可以追踪谁偷走了它 - 这就是我之前提到的系统中的匿名性。

PKI 执行两个功能 - 通过加密/解密机制进行身份验证和消息隐私。我现在将解释这两个功能 -

身份验证

当双方交换消息时,在发送方和接收方之间建立信任非常重要。特别是,接收方必须信任消息的来源。回到我们之前(如图1所示)鲍勃向丽莎发送一些钱以购买她的一些商品的场景,让我们看看PKI如何在鲍勃和丽莎之间建立这种信任。请查看下图 -

Authentication

首先,如果鲍勃想向丽莎发送一些钱,他必须创建自己的私钥/公钥。请注意,这两个密钥始终配对,您不能混合不同个人或不同实例的私钥和公钥。

现在,鲍勃说他向丽莎发送了10美元。因此,他创建了一条消息(一条纯文本消息),其中包含鲍勃(发送方)的公钥、丽莎(接收方)的公钥以及金额(10美元)。

此汇款的目的,例如“我想从你那里购买南瓜”,也添加到消息中。整个消息现在使用鲍勃的私钥签名。当丽莎收到此消息时,她将使用PKI的签名验证算法和鲍勃的公钥来确保消息确实来自鲍勃。PKI的工作原理超出了本教程的范围。有兴趣的读者可以参考此网站以更详细地讨论PKI。这确立了消息发送者的真实性。现在,让我们看看消息隐私。

消息隐私

现在,由于丽莎已收到付款,她想发送她电子书的链接,鲍勃想要购买。因此,丽莎将创建一条消息并将其发送给鲍勃,如图像所示 -

Message Privacy

丽莎创建一条消息,例如“这是您请求的我的电子书的链接”,使用她在鲍勃的请求消息中收到的鲍勃的公钥对其进行签名,并使用在 HTTPS 握手期间双方共享的某个密钥对消息进行加密。

现在,丽莎确信只有鲍勃可以使用仅鲍勃持有的私钥来解码消息。此外,拦截消息的人将无法恢复其内容,因为内容使用仅鲍勃和爱丽丝持有的密钥进行加密。这保证了丽莎只有鲍勃才能访问她的电子书。

在了解了PKI隐含的两个功能身份验证和消息隐私之后,让我们继续了解比特币如何利用PKI来保护我在“什么是比特币?”一章中提到的公共分类账。

供您参考 - 最流行的PKI算法是RSAECDSA,比特币使用后者。

广告