区块链技术之数字签名简介

区块链比特币中利用数字签名来保证数据在整个系统中不可篡改,并保证交易双方的身份真实可靠。数字签名使用了非对称加密技术和数字摘要技术,保证了数据在传输过程中的完整性、发送者身份真实不可假冒。非对称加密技术会产生一个公钥(publickey)和一个私钥(privatekey),公钥和私钥是一对,私钥保存在所有者手中,需要对外人保密不可让外人知道,公钥可以向其他信息接收方公开。如果用私钥对数据加密只有公钥才能解密,相反公钥加密过的数据,只有对应的私钥才能解密。
数字摘要是利用哈希函数把任意长度的信息变成固定长度的信息,哈希函数是单向生成体制,通过生成的哈希值不可逆向生成输入值。另外哈希函数是一种压缩映射,输出是固定长度的信息。
通过数字签名我们主要实现了:
1、接收方能通过发送方的公钥认证发送方的身份
2、通过私钥方式签名,别人伪造不了信息的签名
3、发送方也通过私钥签名抵赖不了对信息的签名
4、通过数字摘要技术保证了数据的完整性
5、哈希函数也保证了数据不可有任何篡改
数字签名流程图: 

1、在发送方通过哈希算法求出发送信息的哈希值
2、通过发送者的私钥对哈希值进行加密
3、把加密后的哈希值和待发送的信息一起发给接受者
4、接收者通过发送方的公钥对加密的哈希值进行解密,还原出哈希值1
5、对发送的信息进行哈希运算,生成哈希值2
6、比较哈希值1和哈希值2,如果相等证明信息无篡改、发送者身份确认,否则有人篡改了!

猜你喜欢

转载自blog.csdn.net/mpegfour/article/details/79247677
今日推荐