免责声明:金色财经所有资讯仅代表作者个人观点,不构成任何投资理财建议。请确保访问网址为(jinse.cn) 举报

    SCRY知识讲堂第2讲:什么是数字签名?

    上期我们讲到了公钥、私钥,今天要讲的数字签名,刚好也会用到它们。

    小狐狸有两个密钥,一个叫公钥Public Key,一个叫私钥Private Key。

    小狐狸的公钥大家都能获得,不管是二哈、柴柴还是小短腿,不过私钥是自己私有的。但不管是私钥还是公钥,都可以用来加密信息,将一段可以理解阅读的明文信息进行加密后,变成一段‘乱码。因此,只有持有正确密钥,才能重新将这段加密后的信息恢复成可以理解阅读的真实信息。

    有一天,二哈要发一个重要的消息给好朋友小狐狸。他把“明天中午,老地方见”这句话,用小狐狸的公钥进行了加密。小狐狸收到后,就可以用自己的私钥进行解密。就算后来有人窃取了二哈传给小狐狸的信息,但是由于没有小狐狸的私钥,无法对信息进行解码,所以即使窃取了信息,也无法阅读理解。

    这时候,柴柴发现了二哈发送的这段信息,可自己又没有私钥无法看到信息原本内容。却可以对信息进行篡改,破坏原有的信息,这样小狐狸收到被篡改的信息之后,再用自己的私钥进行解码,就会与二哈本来想要传达的信息出现不一致。

    这时心里就想:“嘿嘿嘿,得想办法捉弄一下小狐狸”。可是柴柴真的能如尝所愿吗?

    所以,我们现在的问题就是,我们要保证信息的完整性,也就是保证信息不被破坏,或者说,当信息被破坏之后,接收方可以识别出,这个时候的信息是被破坏过的,就将其丢弃。

    数字签名就可以解决这样的问题。根据数字签名,接收方接收到信息之后,可以判断信息是否被破坏过,如果没有被破坏,就可以正确的解码,如果被破坏,就直接丢弃。

    数字签名可以保证对信息的任何篡改都可以被发现,从而保证信息传输过程中的完整性。

    那么,数字签名是如何实现对完整性保证的呢?

    这里有一个关键技术:Hash,也就是哈希技术。

    首先,二哈先对将要传输的信息(原文信息)进行Hash,得到一串独一无二的字符,这就是——信息摘要Message Digest。

    640?wx_fmt=jpeg

    这段字符有多么独一无二呢?我们要知道,Hash往往是不可逆的。而且,不同的原文,Hash过后,结果是不一样的。比如下面的”bitcoin”和”bit.coin”, 只多了一个“.”,结果就大相径庭。

    640?wx_fmt=png

    这样就保证了柴柴对原文的任何修改都会被发现。

    这时候,二哈还要将Hash后得到的信息摘要,用自己的私钥进行加密,以此保证只有二哈的公钥才能对信息摘要进行正确的解码。这样一来,就保证了信息摘要一定是来自二哈的,也就是起到了一个独一无二的签名的作用。

    下面是重点:

    加密后的信息摘要实际就是数字签名的内容。

    640?wx_fmt=png

    其实到这里,我已经回答了一个问题——“什么是数字签名?”

    那么,数字签名的作用是如何体现的呢?我们继续往下看。

    在得到数字签名后,二哈还需要把数字签名附加在原文信息后面,这样就形成了一个完整的带数字签名的信息报文。

    640?wx_fmt=png

    二哈现在把这个数字签名附加在信件原文下面,一起发给了小狐狸。

    小狐狸收到来信后,取下数字签名,用二哈的公钥解密,这时候就得到了信件的摘要。既然能用二哈的公钥进行解密,那就说明了这个信件确实是二哈发出的。

    640?wx_fmt=png

    这时,小狐狸还需要确认一个问题,那就是这封信有没有被别人(柴柴)修改过?

    小狐狸应该做呢?大家思考一下。

    回答这个问题,我们需要先理清小狐狸现在有什么?

    小狐狸有:1、来自二哈的带有数字签名的信件;2、已经通过二哈的公钥解密出的信息摘要。

    在最前面跟大家说过,由信件原文,通过Hash运算也可以得到信息摘要。

    因为Hash过后的信息,都是独一无二的,小狐狸只需要将两个信息摘要进行比较,就可以知道信件原文到底有没有被修改过。

    640?wx_fmt=png

    从上图中,我们可以看到两个信息摘要是相同的,这说明了信件原文未被修改过。

    以上,就是今天所讲数字签名的全部内容。

    注:想要自己动手玩玩公钥私钥加解密或者Hash运算?可以打开以下网站:

    1、生成密钥对:http://web.chacuo.net/netrsakeypair

    2、RSA公钥加解密:http://tool.chacuo.net/cryptrsapubkey

    3、RSA私钥加解密:http://tool.chacuo.net/cryptrsaprikey

    4、哈希运算:https://www.sojson.com/hash.html

    jinse.cn 0
    好文章,需要你的鼓励
    jinse.cn 0
    好文章,需要你的鼓励
    参与评论
    0/140
    提交评论
    文章作者: / 责任编辑:

    声明:本文由入驻金色财经的作者撰写,观点仅代表作者本人,绝不代表金色财经赞同其观点或证实其描述。

    提示:投资有风险,入市须谨慎。本资讯不作为投资理财建议。

    金色财经 > 春天与下图 > SCRY知识讲堂第2讲:什么是数字签名?
    • 寻求报道
    • 金色财经中国版App下载
      金色财经APP
      iOS & Android
    • 加入社群
      Telegram
    • 意见反馈
    • 返回顶部
    • 返回底部