📜  区块链-公钥密码学

📅  最后修改于: 2020-10-31 13:19:00             🧑  作者: Mango


公钥密码术或简称为PKI,也称为非对称密码术。它使用两对密钥-公钥和私钥。密钥是一个较长的二进制数。公钥在全球范围内分发,顾名思义,它是真正的公钥。私钥必须严格保密,并且永远不要丢失。

如果是比特币,如果您丢失了比特币钱包的私钥,那么钱包中的所有内容将立即遭到盗窃,并且在您不知情的情况下,您所有的钱(钱包中的内容)将一无所有系统中的机制以找出是谁偷了它-这就是我前面提到的系统中的匿名性。

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

认证方式

当双方交换消息时,在发送方和接收方之间建立信任很重要。特别是,接收者必须信任消息的来源。回到我们先前的情况(如图1所示),鲍勃将钱寄给丽莎从她那里购买商品,让我们看看PKI如何在鲍勃和丽莎之间建立这种信任。看下面的图片-

认证方式

首先,如果Bob想要向Lisa汇款,他必须创建自己的私钥/公钥。请注意,两个密钥始终配对在一起,并且您不能混合使用不同个人或不同实例的私钥和公钥。

现在,鲍勃说他要寄10美元给丽莎。因此,他创建了一条消息(纯文本消息),其中包含Bob的(发送者)公共密钥,Lisa的(接收者)公共密钥以及金额(10美元)。

该汇款的目的还包括“我想向您购买南瓜”之类的信息。现在,使用Bob的私钥对整个消息进行签名。当Lisa收到此消息时,她将使用PKI的签名验证算法和Bob的公钥来确保消息确实来自Bob。 PKI的工作方式超出了本教程的范围。有兴趣的读者可以参考此站点,以获取有关PKI的更详细的讨论。这样可以建立消息始发者的真实性。现在,让我们看一下消息隐私。

讯息私隐

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

讯息私隐

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

现在,Lisa确保只有Bob可以使用Bob独自持有的私钥来解码消息。同样,截获该消息的人将无法恢复其内容,因为该内容由仅由Bob和Alice持有的密钥加密。这向丽莎保证,只有鲍勃才有权访问她的电子书。

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

据您所知-最受欢迎的PKI算法是RSAECDSA ,比特币使用后者。