[原]数字签名

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

内容简介:#简介假设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

[原]数字签名

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

查看所有标签

猜你喜欢:

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

赢在设计

赢在设计

[美] 洛芙迪 (Lance Loveday)、[美] 尼豪斯 (Sandra Niehaus) / 刘淼、枊靖、王卓昊 / 人民邮电出版社 / 2010-8 / 55.00

企业总是面临在网站设计和改进方面进行投资的抉择。怎样才能让有限的资金发挥出最大的效益呢?网站设计不应只是把网站做得赏心悦目,它更应该是提高经济收益和获得竞争优势的战略利器。是时候让网站发挥其潜能,以业务指标为导向来做设计决策,为提升网站收益而设计了。 作者凭借多年为众多网站做咨询工作的经验,为我们揭示了赢在设计的奥秘。它针对目前网站设计中存在的典型问题,先从宏观上探讨解决问题的战略手段,围绕......一起来看看 《赢在设计》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具