[原]数字签名

栏目: 编程工具 · 发布时间: 6年前

内容简介:#简介假设Alice需要向Bob借100万元,不过,Alice和Bob离得很远,无法直接见面。通过银行汇款,Alice可以立刻从Bob那里收到钱,但是Alice的借条应该怎样发送给Bob呢?可以用挂号寄过去,不过那样需要花上一段时间,能不能用电子邮件来发送借条呢?比如:“Bob,我向你借款100万元。-----Alice"

#简介

假设Alice需要向Bob借100万元,不过,Alice和Bob离得很远,无法直接见面。通过银行汇款,Alice可以立刻从Bob那里收到钱,但是Alice的借条应该怎样发送给Bob呢?可以用挂号寄过去,不过那样需要花上一段时间,能不能用电子邮件来发送借条呢?比如:

“Bob,我向你借款100万元。-----Alice"

显然,这样的邮件无法代替借条,Bob看到这封邮件也不会轻易相信,因为电子邮件是很容易被伪造的。Alice写的邮件可能被篡改,也有可能是有人伪装成Alice发送这封邮件,或者Alice也可以事后以”我不知道这张借条“为理由进行否认。

数字签名就是用来解决这样的问题,即识别篡改,伪装和防止否认。在数字签名总有两种行为:

  • 生成消息签名行为
  • 验证消息签名行为

生成消息签名是由消息的发送者Alice来完成的,也称为“对消息签名”,生成签名就是根据消息内容计算数字签名的值,这个行为意味着“我认可该消息的内容”。

验证签名这一行为是由消息的接收者Bob来完成的,但也可以由需要验证消息的第三方来完成,验证签名就是检查该消息的签名是否真的属于Alice,验证的结果可以是成功或者失败,成功以为着这个签名是属于Alice的,失败则意味着这个签名不是属于Alice的。

数字签名对签名密钥和验证密钥进行了区分,使用验证密钥是无法完成签名的,签名密钥只能由签名的人持有,而验证密钥则是任何需要验证签名的人都可以持有。实际上,数字签名和公钥密码有着非常紧密的联系,数字签名就是通过将公钥密码“反过来用”而实现的。

[原]数字签名

#公钥密码和数字签名

[原]数字签名 [原]数字签名 [原]数字签名

#数字签名实例

##直接对消息签名(DSA)

  • Alice用自己的私钥对详细签名

用私钥加密得到的密文就是Alice对这条消息的签名,由于只有Alice才持有自己的私钥,因此除了Alice以外,其他人是无法生成相同的签名的。

  • Alice将消息和签名发送给Bob
  • Bob用Alice的公钥对收到的签名进行解密

如果收到的签名确实是用Alice的私钥进行加密得到的密文(签名),那么用Alice的公钥应该能正确的解密。如果接收到的签名不是用Alice的私钥进行加密得到的密文,那么就无法用Alice的公钥正确的解密

  • Bob将签名解密后得到的消息与Alice直接发送的消息进行对比

如果两者一致,则签名验证成功,如果两者不一致,则签名验证失败。

[原]数字签名

##对消息散列值签名(RSA,椭圆加密)

上面我们使用直接对消息签名的办法,但这种方法需要对整个消息进行加密,非常耗时,这是因为公钥密码算法非常慢。所以我们可以求出消息的散列值再对散列值加密。无论消息有多长,散列值的长度是固定的,因此对散列值加密要快很多。

  • Alice用单向散列函数计算消息的散列值。

  • Alice用自己的私钥对散列值进行加密,用私钥加密散列值所得到的密文就是Alice对这条散列值的签名,由于只有Alice才持有自己的私钥,因此除了Alice意外,其他人是无法生成相同的签名的。

  • Alice将消息和签名发送给Bob

  • Bob用Alice的公钥对收到的签名进行解密。如果收到的签名确实是用Alice的私钥进行加密而得到的密文,那么用Alice的公钥应该能够正确解密,解密的结果应该等于消息的散列值。如果收到的签名不是用Alice的私钥经i选哪个加密而得到的密文,那么就无法用Alice的公钥正确解密。

  • Bob将签名解密后得到的散列值与Alice直接发送的消息的散列值进行对比。如果两者一致,则签名成功,否则签名失败。

    [原]数字签名

学院 Go 语言视频主页

https://edu.csdn.net/lecturer/1928

清华团队带你实战区块链开发

扫码获取海量视频及源码 QQ群:721929980

[原]数字签名

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

解码宇宙

解码宇宙

(美) 塞费 / 隋竹梅 / 上海科技教育出版社 / 2010-4 / 26.00元

《解码宇宙:新信息科学看天地万物》:宇宙,或许就是一台庞大的计算机。这是查尔斯·塞费在《解码宇宙:新信息科学看天地万物》中对宇宙做出的结论。作者从信息的特点开始谈起,详细论述了信息论和量子计算,向我们展示了一种不可思议的拜占庭式宇宙的情景,涉及生命的本质、热力学、相对论、量子力学、黑洞、多重宇宙,直至宇宙的命运。《解码宇宙:新信息科学看天地万物》资料翔实,内容丰富多彩,思路清晰,观点明确,读后使人......一起来看看 《解码宇宙》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具