LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 叶胜超:一分钟搞懂数字签名的核心流程(19)

叶胜超:一分钟搞懂数字签名的核心流程(19)

2019-11-29 叶胜超区块链 来源:区块链网络

S9iauv82P2AvQFMioX8tAw5GFzvw59pAfOuvqZVl.png

什么是数字签名?

数字签名,英文为“Digital Signature”,也是一种签名,只不过传统是用笔在纸上签字,现在是用“非对称加密算法”来签名。

关于非对称加密算法,胜超反复讲了多次,是不可逆推的一种加密算法,非常安全,也非常重要!

为什么要使用数字签名呢?

由胜超前文的分享知道,非对称加密,需要两个密钥:公钥和私钥,加密和解密必须互相对应。

比如小明要把“hello”这个信息传递给小黑,小明利用小黑的公钥进行加密,得到一个密文,然后小黑收到后,必须要用自己的私钥来解密,得到明文:hello

这个过程中,由于小黑的公钥是公开的,任何人都可以用小黑的公钥来加密,并且向小黑传输信息,那么,小黑如何确定这个信息就是小明发的呢?

这个时候数字签名就派上用场了,只要小明用自己的私钥加密,小黑用自己的公钥解密,获得的哈希值和原文的哈希值一致,就可以确定是小明发来的信息!

如何生成数字签名以及验证数字签名?

签名的生成:

1、小明将信息原文进行哈希计算,得到相应的哈希值,形成摘要;

2、小明将得到的摘要用自己的私匙进行加密 ,生成签名;

3、小明将签名和原文信息一起发送给小黑,就像写信一样,信纸上是传递的信息,签名要写在信封上一起发送。

签名的验证:

1、小黑收到后,提取信息中的签名,用小明的公钥进行解密,得到信息的哈希值;

2、小黑提取原文信息,再进行哈希运算,得到另一个哈希值;

3、小黑对比两个哈希值,如果一致,则验证成功。

总结一下:

1,必须要用公钥来加密原文,而不是私钥,一旦使用私钥加密,那就只能使用公钥来解密,而公钥都是公开的,这样加密就失去了意义。

2,对于数字签名,要用私钥来加密,加密的是密文的哈希值,即使泄露,这个哈希值也无法破解,只为校验身份,所以数字签名要用私钥来加密。

—-

编译者/作者:叶胜超区块链

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...