什么是公钥加密和数字签名
扫描二维码
随时随地手机看文章
在这篇文章中,我们将进一步讨论它是如何处理信息交换的。但是为了达到这一点,我们将从底部技术开始认识。那么,让我们首先讨论一下公钥加密(也称,非对称加密)。
对称加密:
在对称加密中,我们使用相同的密钥来加密密文和解密密文。
下图说明了对称加密的过程。
那么对称加密,有什么问题吗?问题是,你要把钥匙写在纸上,然后把它寄给另一个人。但是,这显然不是一个有效的方法。因此,您可以在网络上共享密钥,但这里有一个陷阱,任何身份的人都可以侵入网络,并使用您的密钥来解密该消息。
不对称加密的拯救行动:
· 在不对称加密体制中,我们生成一对密钥,即私钥和公钥。
· 公钥和私钥在数学上是连接在一起的,但不能从另一个派生而来。
· 一个公钥就像一个分配给你的假名,你和每个人分享它,而私钥扮演的是“为你说话”的角色。
· 这就是它的工作原理。您获取一个消息,用您的私钥加密它并发送给接收者。现在,接收方可以使用您的公钥解密它,并验证消息是否来自合法的发送方。
· 所以,你一定在想,如果每个人都有我的公钥,那么任何人都能看到这些信息。
· 现在假设Alice和Bob想在互联网上共享一些信息。因此,它们就会生成自己的一组公钥和私钥。
· 他们都互相交换公钥,并将私钥保存在自己身上。Alice可以使用Bob的公钥和Alice的私钥向Bob发送加密消息。
· 那么,也就是说,当Bob收到消息时,他使用Alice的公钥来确保消息来自Alice(只有Alice的公钥可以解密使用Alice的私钥加密的消息)的私钥来确保消息是为他发送的。
让我们讨论一下数字签名
· 你签过支票账单吗?因此,您必须了解签名的概念。它们可以作为你同意你签署的文件的证明,它与特定的文件绑定在一起,不能复制粘贴到其他文件上。
根据维基百科: 数字签名是一种数学方案,用来表示数字信息或文档的真实性。有效的数字签名使接收方有理由相信消息是由已知的发送方(身份验证)创建的,发送方不能否认发送过得消息,并且消息在传输过程中要确保没有被修改。因此,数字签名涉及三个步骤:
· GenerateKeys :首先我们生成一对公共密钥(pk)和私人秘钥(sk)。私钥用于签名,公共密钥用于验证签名者。
(sk,pk):=generateKeys(keysize in bits)
· 签署消息:然后我们使用密钥在消息上签名。
isValid:=verify(pk,message,sig)==true
· 验证:最后我们可以验证发送方。
isValid:=verify(pk,message,sig)==true
数字签名的优点:
· 签名不能伪造并用于其他消息。
· 密钥不能从公钥派生。
· 我们可以很容易地验证消息在传输过程中是否发生了更改。
所以,现在我们终于到达了顶峰,有了足够的知识来理解区块链是如何把这些碎片拼在一起的。
公钥加密和区块链
· 钱包创建和事务签名是任何区块链系统的核心组件,它们严重依赖于公钥加密。
· 公钥与哈希值函数一起使用,以创建区块链用户用来接收和发送消息的公共地址。
· 私钥是保密的,用于签署数字事务,以确保事务的起源是合法的。
数字签名和区块链
· 每个事务都有不同的数字签名,这取决于用户的私钥。
· 给定消息、公钥和用户的签名,验证用户的真实性非常容易。
· 一旦事务由用户签名,事务就会在内存池中等待,在内存池中,挖掘人员会挑选事务并使用用户的公钥验证其上的数字签名,这样黑客就无法对事务进行更改。如果它是有效的,数字签名就会验证钱从一个钱包发送到另一个钱包,然后交易被添加到块中。