13.6 什么是 Web3 钱包数字签名?
数字签名是公钥密码学中的一种技术,用于验证信息的完整性和发送者的身份。简而言之,数字签名是一种确认信息来源和信息完整性的手段。它通常与区块链、数字证书、加密邮件等技术结合使用。
基本工作原理
- 消息摘要:首先,使用某种哈希函数(如SHA-256)计算原始消息(或文档)的摘要(digest)。
- 摘要是消息的哈希值,是通过某种哈希函数(如SHA-256)从原始消息中产生的。哈希函数的特点是,哪怕只有一点点的输入变化,输出的哈希值也会发生巨大的变化。因此,哈希值可以作为消息的“指纹”。
- 加密摘要:然后,使用发送者的私钥加密上一步得到的摘要。这就得到了数字签名。
- 发送消息及签名:发送者将原始消息和数字签名一起发送给接收者。
- 验证签名:
- 接收者使用发送者的公钥解密数字签名,得到摘要A。
- 接收者使用相同的哈希函数计算收到的原始消息的摘要,得到摘要B。
- 比较摘要A和摘要B。如果它们匹配,这意味着消息没有被篡改。
数字签名的关键作用
- 身份验证:数字签名确保了交易的发送者是交易所声称的发送者。
- 不可否认性:一旦发送者签署了交易,他们不能否认进行了该交易。
- 完整性:任何对已签名的交易的修改都会导致签名无效,这确保了交易的完整性
为什么数字签名是安全的?
它的安全性来自于私钥的秘密性和公钥密码学的数学属性。私钥是只有发送者知道的,而公钥是可以公开分享的。没有私钥,就不能生成一个与给定公钥匹配的有效签名,这确保了只有私钥的持有者才能创建有效的签名。
Last updated on