[原]数字签名

栏目: 编程工具 · 发布时间: 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

[原]数字签名

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

查看所有标签

猜你喜欢:

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

超级连接者:破解新互联时代的成功密码

超级连接者:破解新互联时代的成功密码

伊桑•祖克曼(ETHAN ZUCKERMAN) / 林玮、张晨 / 浙江人民出版社 / 2018-8-1 / CNY 72.90

● 我们生活在一个互联互通的世界,我们需要辩证地看待某些事件,发现隐藏在背后的真相。着眼当下,看清彼此之间的联系,而非凭空幻想未来世界联系之紧密。数字世界主义要求我们承担起责任,让隐藏的联系变成现实。 ● 我们对世界的看法是局限的、不完整的、带有偏见的。如果我们想要改变从这个广阔的世界所获取的信息,我们需要做出结构性的改变。 ● 建立联系是一种新的力量。无论是在国家层面、企业层面还是个......一起来看看 《超级连接者:破解新互联时代的成功密码》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具