什么是数字签名? 数字签名,英文为“Digital Signature”,也是一种签名,只不过传统是用笔在纸上签字,现在是用“非对称加密算法”来签名。 关于非对称加密算法,胜超反复讲了多次,是不可逆推的一种加密算法,非常安全,也非常重要! 为什么要使用数字签名呢? 由胜超前文的分享知道,非对称加密,需要两个密钥:公钥和私钥,加密和解密必须互相对应。 比如小明要把“hello”这个信息传递给小黑,小明利用小黑的公钥进行加密,得到一个密文,然后小黑收到后,必须要用自己的私钥来解密,得到明文:hello 这个过程中,由于小黑的公钥是公开的,任何人都可以用小黑的公钥来加密,并且向小黑传输信息,那么,小黑如何确定这个信息就是小明发的呢? 这个时候数字签名就派上用场了,只要小明用自己的私钥加密,小黑用自己的公钥解密,获得的哈希值和原文的哈希值一致,就可以确定是小明发来的信息! 如何生成数字签名以及验证数字签名? 签名的生成: 1、小明将信息原文进行哈希计算,得到相应的哈希值,形成摘要; 2、小明将得到的摘要用自己的私匙进行加密 ,生成签名; 3、小明将签名和原文信息一起发送给小黑,就像写信一样,信纸上是传递的信息,签名要写在信封上一起发送。 签名的验证: 1、小黑收到后,提取信息中的签名,用小明的公钥进行解密,得到信息的哈希值; 2、小黑提取原文信息,再进行哈希运算,得到另一个哈希值; 3、小黑对比两个哈希值,如果一致,则验证成功。 总结一下: 1,必须要用公钥来加密原文,而不是私钥,一旦使用私钥加密,那就只能使用公钥来解密,而公钥都是公开的,这样加密就失去了意义。 2,对于数字签名,要用私钥来加密,加密的是密文的哈希值,即使泄露,这个哈希值也无法破解,只为校验身份,所以数字签名要用私钥来加密。 —- 编译者/作者:叶胜超区块链 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
叶胜超:一分钟搞懂数字签名的核心流程(19)
2019-11-29 叶胜超区块链 来源:区块链网络
LOADING...
相关阅读:
- Tether封锁$ 300K USDT并将其交付给州2020-10-26
- ?去中心化的鲸交所为用户的资产安全保驾护航2020-10-24
- 如果OKEx三天内还无法恢复提币,就非常危险了2020-10-23
- 得益于Schnorr,更加有效和私有的比特币多重签名2020-10-23
- 拉脱维亚警察拦截戏剧性的加密盗窃和谋杀案2020-10-23