要是诸葛丞相有数字签名,北伐就成了呀!

安全 数据安全
说起来玄乎,其实就是一块木板,在上面位置挖了一些孔洞,然后在孔洞的位置写上要传输的内容,最后在其他空白位置写上无关的干扰信息,实现“加密”。

大家好,我是轩辕。

最近在追一个电视剧:《风起陇西》。

虽然这部剧争议颇多,褒贬不一,收视翻车,但还是挡不住我一个三国迷的好奇。

毕竟,在这个都市悬浮剧、仙侠古偶剧、抗日神剧刷屏的年代,这已经算是一股清流了。

以往的三国题材电视剧,主要是从宏观格局上,讲述从东汉末年黄巾起义到天下归晋这近一百年间各路英雄裂土称霸的故事。

而这一部《风起陇西》却将视角转向特定时期的小人物身上,以诸葛亮第一次北伐失败为引子牵扯出的魏蜀两国情报机构之间斗智斗勇的故事。

所以,这实际上是一部借用三国历史背景的古装谍战剧。

故事的开始,是我们熟悉的失街亭、斩马谡。

电视剧中的设定,造成这一结果的一个重要原因是因为蜀汉这边收到的情报错误,被潜伏在内部的曹魏间谍给替换了。

情报内容,作为机密中的机密,自然是不能直接明文传递,加密是必不可少步骤。

剧中对情报内容的加密保护,是通过一种叫“密语雕版”的东西来完成的。

说起来玄乎,其实就是一块木板,在上面位置挖了一些孔洞,然后在孔洞的位置写上要传输的内容,最后在其他空白位置写上无关的干扰信息,实现“加密”。

不同的间谍使用的雕版不一样,作为潜伏在曹魏的间谍“白帝”自然有属于自己的专有雕版。

可能编剧也觉得这样有点小儿科,又多弄几块木板,再打乱顺序,根据天干地支啥的来确定排列顺序,解密情报内容。

但实际上,不管是不是专属密语雕版,怎样打乱顺序,只要被人拿到,就能解密,就能伪造,就能替换情报。

因为从源头上来说,加密和解密用的是同样的方法,方法一旦泄露,就无法识别真实性了。

这从现代密码学的角度来说,其实就是一种对称加密,加密和解密使用同样的秘钥。

在我们现代社会,如何证明一个东西有没有被篡改过,在计算机领域中也有广泛的应用。

这个东西就是“数字签名”技术。

思考一个场景:

男生发给女生一封邮件,但网络中可能有情敌窃取数据修改内容。女生收到邮件后,如何知道这邮件确实是男生发的呢,有没有被人篡改过呢?

可以这样做:男生在发送这封邮件的同时,计算一下这封邮件的哈希值,附在邮件后面一起发过去。

女生收到后,也计算一下邮件的哈希,和这个附在后面的哈希比较一下,就知道邮件有没有被篡改过了。

但如果中间的窃密者,他不仅修改了邮件内容,把附在后面的哈希值也一起修改了,那可就分辨不出来了。

现在,需要请另一个神器出场。

下面有一句话:微信公众号: 编程技术宇宙,通过一个秘钥加密后变成了密文。

接收方收到这段密文后,再通过一个秘钥解密还原出原来的内容,这是一个很常见的加解密过程。

但是请注意,现在有一种神奇的加密算法,加密用到的秘钥和解密用的秘钥是不一样的。这就是:非对称加密算法。

在非对称加密算法中,两个秘钥一个公开,一个私藏,公开的叫公钥,私藏的叫私钥。

发送方可以用公开的公钥来加密,而接收方只有用自己的私钥才能解密,别的都不行,哪怕是公钥也不行。

有了这个神器,我们再来看开始的那个场景。

男生提前准备一对儿公私钥,把公钥告诉女生,自己留一个私钥。

发送邮件的时候,在原来基础上,把那个哈希值加密一下,不要裸奔。

女生收到后,用男生提前给的公钥去解密哈希值,再和邮件本身计算的哈希值对比一下,就知道邮件是不是男生发的了。

一单中间有人篡改了内容,那女生就无法用公钥去解密哈希值了。

这个加密后的哈希,就是数字签名!

不过,实际使用的数字签名,不会只有一个哈希值,还有其他一些信息,但大体原理类似。

有了数字签名,再也不怕情敌在中间偷换邮件了。

当然,如果这个女生的公钥要是被偷偷换了,那就···

这么一想,要是诸葛丞相有数字签名,北伐就成了呀!

责任编辑:武晓燕 来源: 编程技术宇宙
相关推荐

2009-08-14 13:40:17

数字签名电子签名安全体系结构

2011-08-29 10:27:38

IT技术数字签名数字证书

2010-06-04 09:21:51

身份认证数字签名

2019-04-18 15:00:36

2010-09-17 20:20:14

2010-09-02 21:10:13

2010-10-08 21:14:08

2021-12-28 13:54:52

加密密钥Java

2011-01-19 17:27:21

Sylpheed

2016-11-10 23:51:41

2009-07-19 21:44:39

2009-03-02 16:42:33

2011-06-20 15:12:48

微软木马

2020-08-13 18:40:51

OpenSSL密码学Linux

2022-02-21 09:00:08

数字签名验证

2011-08-30 14:29:31

数字签名数字证书

2021-09-26 05:59:16

数字签名数字证书HTTPS

2010-01-14 10:05:48

Ubuntu数字签名

2009-06-29 13:26:44

Java编程入门加密

2014-02-18 13:40:23

Office 365数字签名
点赞
收藏

51CTO技术栈公众号