区块链之数字签名
目录
区块链之数字签名
区块链中采用对原本信息的哈希值进行加密的方式来进行签名
数字签名:签名和验证
一个消息M、其哈希摘要D
签名者 通过自身的 私钥Kp 生成对应的签名 S=F(D,Kp)
验证者 通过 公钥K 解密 S 得到 消息M的摘要D=F(S,K)
**双方通信的时候!!!
公钥加密,私钥解密
私钥签名,公钥解密**
发送方 将原文密文(用接收方的公钥加密)、签名(发送方的私钥签名),发送给接收方。
接收方 用自己的私匙解开密文,解密后算哈希值M1。通过发送方的公钥解开发送方签名,得到摘要M2,并且通过M1和M2进行对比,最后的摘要一致,则认为哈希值是对的。
为什么用接收方的公钥加密?
因为通过这种方式,只有接受方的私钥才能解开。
为什么要用发送方的私钥签名,不用其它人的私钥签名?
因为这种方式,才能让接收方确认这条信息是发送方发出来的。只有发送方的公钥才能解开发送方的签名。