美文网首页区块链研习社
什么是数字签名【翻译】

什么是数字签名【翻译】

作者: LeoDeWu | 来源:发表于2017-07-10 11:11 被阅读0次

原文地址:What is a Digital Signature?
1)如下图所示,小明有两把钥匙,一把是公钥(Public Key),另一把是私钥(Private Key)

TIM20170530183723.jpg

2)任何人都可以拿到小明的公钥,但他的私钥只有他自己知道: 


TIM20170530183739.jpg

密钥用于加密信息。加密信息意味着把信息打乱,只有拥有正确的秘钥的人才能使其重新变为可读的。小明的两个密钥中的任意一个都能加密数据,并且另一个可以解密数据。

3)如下图所示,张三可以使用小明的公钥加密数据,小明可以使用自己的私钥解开密文:  


TIM20170530183810.jpg

小明的同事们都可能拿到张三加密的消息,但没有小明的私钥的话,这些数据对于他们来说也没什么用。

4)使用自己的私钥及相应的软件,小明可以把数字签名(digital signature)及一些其他信息写入文档中。数字签名是小明在自己的数据上加盖的印戳(这个印戳和小明唯一对应起来)并且这个印戳很难伪造。另外,签名也保证了对已签名数据的任何修改都可以被发觉。

为了对文档进行签名,小明的软件使用算法将数据浓缩为几行信息,这个过程称为“哈希”。这几行信息就是消息摘要(message digest)(几乎无法从消息摘要推断出相应的原始数据):    

TIM20170530183824.jpg

5)小明的软件对消息摘要进行加密,得到了数字签名(digital signature):  

TIM20170530183844.jpg

6)最后,小明的软件把数字签名追加到文档中,原始数据就被签名了:


TIM20170530183922.jpg

接下来,小明把文档发送给张三。

7)张三首先使用小明的公钥把签名解密为消息摘要。如果成功,则证明文档确实是由小明签名的,因为只有小明拥有私钥。接着,张三的软件将文档数据哈希成消息摘要,如果此消息摘要与签名解密得到的消息摘要是一模一样的,则说明已签名的数据并未发生改变。


TIM20170530183935.jpg

接下来,看个更复杂的场景。

8)李四(一位心怀不轨的雇员)想要欺骗张三。李四知道张三电脑上有小明的公钥,于是使用小明的名字创建了一个密钥对(为了描述方便,这里称为“假私钥”和“假公钥”),然后偷偷地使用假公钥替换了张三电脑中的公钥(小明真正的公钥)。接下来,李四用假私钥对数据进行签名,张三使用假公钥(他不知道自己电脑上小明的公钥已经被替换)解密了签名并验证了摘要信息,他会误认为消息确实是小明发送的。除了亲自拿到小明的公钥外,张三怎样知道小明的公钥是可信的?

9)王五在公司的证书授权中心(certificate authority,简称“CA”)工作,他用小明的公钥及一些其他信息给小明签发了一张数字证书(digital certificate)

TIM20170530194559.jpg
现在,小明的同事可以通过校验证书来确认小明的公钥是否可信。实际上,小明公司中没人会承认不带证书的签名。此外,如果小明的私钥丢失了或者证书不在需要了,王五也可以撤销(revoke)证书。

10)现在,小明发送了一个已签名的文档给张三。为了校验文档上的签名,张三的软件首先使用王五(本例中就是“证书授权中心”)的公钥来验证小明证书上的签名。成功解密证书就表明证书确实是王五签发的。

接下来,张三的软件从证书中提取出小明的公钥并使用它校验小明的签名。如果小明的公钥成功了解密了签名,张三就确信签名是由小明的私钥创建的,因为王五已经对这个公钥进行了认证。当然,如果签名是合法的,我们也知道李四(那个坏家伙)并未修改过已签名内容。

相关文章

  • 什么是数字签名【翻译】

    原文地址:What is a Digital Signature?1)如下图所示,小明有两把钥匙,一把是公钥(Pu...

  • 关于数字签名

    数字签名是什么? 作者:David Youd 翻译:阮一峰 原文网址:http://www.youdzone.co...

  • 【翻译】数字签名是什么?

    前情提要 在写上一篇《Android Keystore漫谈》时对数字证书和数字签名的区别感觉模棱两可,于是网上找了...

  • IOS 逆向开发(三)应用签名

    @[TOC](IOS 逆向开发(三)应用签名) 1. 数字签名 什么是数字签名? 数字签名(digitally s...

  • iOS应用签名原理

    什么是数字签名 数字签名介绍[http://www.ruanyifeng.com/blog/2011/08/wha...

  • iOS逆向 | 数字签名与证书

    参考来源 https://ke.qq.com/course/314070 什么是数字签名 数字签名(又称公钥数字签...

  • 【区块链】数字签名是什么?

    一、数字签名说明 在进行比特币转账时需要进行数字签名才可进行交易,那么什么是数字签名呢?这一步操作有什么用呢? 今...

  • 什么是数字签名?

    数字签名是一种利用区块链技术核实身份的认证方式。 在现实生活中,我们往往会遇到这样的问题,你如何证明你是你...

  • 什么是数字签名?

    日常生活中,我们常常会碰到需要签名的情况,画家完成作品时,会在作品签名;考试结束时,老师会让家长签名;签订合同时,...

  • iOS签名原理

    什么是数字签名 首先计算出需要签名数据的HASH值,通过RSA将HASH值加密,就是数字签名。 什么是代码签名 对...

网友评论

    本文标题:什么是数字签名【翻译】

    本文链接:https://www.haomeiwen.com/subject/ayeyhxtx.html