目录

区块链之数字签名

目录

区块链之数字签名

区块链中采用对原本信息的哈希值进行加密的方式来进行签名

数字签名:签名和验证

一个消息M、其哈希摘要D

签名者 通过自身的 私钥Kp 生成对应的签名 S=F(D,Kp)

验证者 通过 公钥K 解密 S 得到 消息M的摘要D=F(S,K)

https://i-blog.csdnimg.cn/blog_migrate/b2e19f1ed90f4eaf0acc8f63752613ef.png

**双方通信的时候!!!

公钥加密,私钥解密

私钥签名,公钥解密**

发送方 将原文密文(用接收方的公钥加密)、签名(发送方的私钥签名),发送给接收方。

接收方 用自己的私匙解开密文,解密后算哈希值M1。通过发送方的公钥解开发送方签名,得到摘要M2,并且通过M1和M2进行对比,最后的摘要一致,则认为哈希值是对的。

为什么用接收方的公钥加密?

因为通过这种方式,只有接受方的私钥才能解开。

为什么要用发送方的私钥签名,不用其它人的私钥签名?

因为这种方式,才能让接收方确认这条信息是发送方发出来的。只有发送方的公钥才能解开发送方的签名。