那些不可思议的古典密码学

作者 | PlatON技能筹备组 Silas

配图来源 | Unsplash

暗码学(Cryptography),是一门将信息进行加密处理与传递,以及剖析加密信息的学科。根据以 RSA 为代表的公钥加密体系的呈现,可以将暗码学的发展进程分为古典暗码学与现代暗码学两部分。古典暗码学以「置换法」与「替换法」为根底,多运用于军事与情报领域;现代暗码学则建立在数学、核算机与通讯科学的根底上,除了加密信息之外,数字签名、数据完整性、身份认证等也是现代暗码学的研究课题。

古典暗码学(Classic cryptography)和现代暗码学(Modern cryptography)的首要不同在于核算机的运用,一般来说,古典暗码学是根据字符的,而现代暗码学是根据二进制位的。

暗码学的概念与人们平常登录网站、运用银行账户的「暗码」并不相同。这些用于身份认证的「暗码」,更精确的翻译是通行词(password),它是现代暗码学的许多运用之一。

一般来说,古典暗码学首要包含两类,即替换和置换。

置换法依照必定的规矩,改动原始信息中的字母摆放顺序;替换法将原始信息中的字母依照必定的规矩替换成其他字母。置换法与替换法的安全性较差,古阿拉伯的学者们开创了破译加密信息的科学 — — 暗码剖析学,经过频率剖析的办法破解替换式加密法。

代换

代换暗码是将明文中的字符代替成其他字符,即代替转换,若整个加密进程中每个字符选用同一张表代替,则为单表代换暗码,相似的,若整个加密进程中每个字符选用不同的表代替,则为多表代换暗码,典型的单表代换暗码有凯撒暗码、培根暗码等,多表代换暗码有维吉尼亚暗码等。

凯撒暗码

那些不可思议的古典密码学

凯撒暗码(Caesar cipher)便是将明文中的一切字母都在字母表上向后(或向前)依照一个固定数目进行偏移后被替换成密文。例如,当偏移量为3时,一切的字母A将被替换成D,B变成E,以此类推。明文Hello World的加密进程如下:

  • 取偏移量为3

  • 核算H的后3位为K

  • 以此类推

  • 密文为:Khoor Zruog

相似的,解密进程如下:

  • 核算K的前3位为H

  • 以此类推

  • 明文为:Hello World

注意:当偏移量为13时,这种凯撒暗码的特例又被称为ROT13(反转13位)加密,ROT13加密是一种对等加密(Reciprocal cipher),对等加密是对称加密的一个特例,即该类暗码的加密算法是它自己本身的逆反函数,换言之,要对其解密,只需对其密文再次套用加密算法即可。当偏移量未知时,可选用穷举法一个个试,偏移量必定小于26。

培根暗码

培根暗码(Bacon’s cipher)加密时,明文中的每个字母都会转换成一组5个英文字母。其转换依靠下表:

那些不可思议的古典密码学

依照上表,明文hello的密文为AABBBAABAAABABBABABBABBBA,显然,密文的长度是明文长度的5倍。除了上表用来加密小写明文外,还有一张用来加密大写明文的表。

那些不可思议的古典密码学

同理,明文HELLO的密文为aabbbaabaaababbababbabbba。注意:虽然表中呈现了A B两种字符,但培根暗码的实质是二进制,即用两种不同的特征来加密明文,可所以字母的大小写或字体的款式等等。例如选用字母的大小写加密hello为GOod gOOd STUdY, dAY dAy UP, haHa,其中大写代表A,小写代表B;相似的,也可以用粗体代表A,正常代表B,以字体的款式加密hello。显然,培根暗码所包含的信息可以和用于承载其的文章彻底无关。

维吉尼亚暗码

维吉尼亚暗码是运用一系列凯撒暗码组成暗码字母表的加密算法,

这一表格包含了26行字母表,每一行都由前一行向左偏移1位得到。行为明文行,列为密钥列,密文坐落表格内。 明文HELLOWORLD的加密成果如下:

  • 选择某一关键词作为密钥,如SECRET

  • 关于明文第1个字母H,对应密钥的第1个字母S,于是运用表格中S行字母表进行加密,得到密文第一个字母Z

  • 以此类推,若密钥长度小于明文长度,则转到密钥第1个字母继续循环,终究得到密文ZINCSPGVNU

相似的,解密进程如下:

  • 根据密钥第1个字母S所对应的S行字母表,发现密文第1个字母Z坐落H列,因此明文第1个字母为H

  • 顺次类推

清楚明了,维吉尼亚暗码相关于本文介绍的其他古典暗码,很难运用穷举法破解。

置换

置换暗码是将明文中的字母重新摆放,字母本身不变,但其方位改动,即方位转换,典型的有栅门暗码等。

栅门暗码

那些不可思议的古典密码学

栅门暗码(Rail fence cipher),又称篱笆暗码,便是把要加密的明文分成n个一组,然后把每组的第一个字连起来,紧接着把每组的第二个字连起来,以此类推,构成一段无规律的话。明文Hello World的加密进程如下:

  • 去掉空格:HelloWorld

  • 5个一组:Hello,World

  • 取出每组第1个字母:HW

  • 取出每组第2个字母:eo

  • 以此类推

  • 连在一起:HWeolrllod

  • 加上恰当空格:HWeol rllod

相似的,解密进程如下:

  • 去掉空格:HWeolrllod

  • 分成5栏:HW、eo、lr、ll、od

  • 取出每栏第1个字母:Hello

  • 顺次类推

  • 连在一起:HelloWorld

  • 加上恰当空格:Hello World

注意:这儿栅门的栏数取决于n的取值,一般而言,n要整除字母数,n不可能大于或等于字母数,当不知道n为多少时,可选用穷举法一个个试。

其他

当铺暗码

精确来说,当铺暗码不是一种加密方法而是一种编码方法,它是将中文和数字进行转化的算法,详细为:当前汉字有多少笔画出面,就转化成数字几。如王夫 井工 夫口 由中人即为67 84 70 123。

猪圈暗码

那些不可思议的古典密码学

猪圈暗码(Pigpen cipher),又称共济会暗码(Masonic cipher),是一种以格子为根底的简略代换式暗码。下图为猪圈暗码中所用符号与26个英语字母之间的对应关系:

那些不可思议的古典密码学

明文X MARKS THE SPOT的加密成果如下:

那些不可思议的古典密码学

在长达一千多年的时间里,古典暗码学以置换法与替换法为根底不断演进。以维吉尼亚暗码为代表的多字母表替换式加密法轮番运用多个不同的替换式暗码表,顺次对明文中的字母进行加密。第二次国际大战时德军运用的「恩尼格玛」是一种根据复杂的多表替换加密原理的机械式暗码机,但终究由于自身加密算法的缺陷,被图灵设计的「炸弹」攻克。

休·怀特摩尔创造的戏曲“破译暗码”的内容为艾伦·图灵的生活,艾伦·图灵是在二战中帮助英国破译恩尼格玛暗码机的暗码的最大功臣。

英国畅销书作家罗伯特·哈里斯于1996年出版的小说“恩尼格玛”叙述的是布莱切利园的暗码学家们破译恩尼格玛的进程。2001年这本小说被拍成了电影“恩尼格玛”。

由乔纳森·莫斯托拍照并于2000年上映的电影U-571讲的是一群美国潜艇兵为缉获一台恩尼格玛暗码机而抢了一艘德国潜艇后的故事。电影中的恩尼格玛暗码机是一个收藏家手里的真品。这部电影的情节并没有严格地依照历史发展,英国皇家水兵在1941年打败德军潜艇U-110号最早获得德国水兵暗码机,也是猎杀U-571电影的实在版本,美国只是在1944年诺曼底登陆之前缉获了一艘U型潜艇。

2014年上映的电影《模仿游戏》叙述了艾伦·图灵等英国的数学家、逻辑学家协助军方破译恩尼格玛暗码机的进程。

2019年网易推出的非对称对抗悬疑手游《第五人格》中求生者阵营需要破译五台暗码机让大门通电输入暗码逃生所需破译的五台暗码机便是恩尼格玛暗码机。

置换式与替换式加密法的缺点在于没能彻底消除密文中有关明文的某些特征,保留了明文中的某些信息。奥古斯特·柯克霍夫在 19 世纪提出的柯克霍夫原则(Kerckhoff’s Principle)概括性地总结了加密算法应遵循的设计原则:即便加密体系的各个环节都是公开常识(Public knowledge),只要密钥未被走漏,加密体系都应该是安全的。

加密算法的安全性问题实质在于:怎么下降攻击者在了解加密算法,并拥有足够长的密文片段的前提下,猜测出正确密钥的可能性?

1948 年,香农创立了信息论,并在次年的一篇论文中从数学的角度讨论了加密体系,人们开端从科学的角度探求暗码学的奥妙。

欢迎参加PlatON Network技能研究社区

Discord开发者社群 

https://discord.com/invite/jAjFzJ3Cff

Reference:

[1] https://howiezhao.github.io/2018/08/10/classical-crypto/

[2] https://www.chainnews.com/articles/577594859080.htm

[3] The Code Book, Simon Singh (1999)

[4] The Code Breakers, David Kahn (1996)

[5] https://en.wikipedia.org/wiki/Enigma_machine

视野开拓

在股市下跌时什么消息对投资者最重要?答案还是一样,既不是经济消息,也不是政治新闻,影响最深的就是价格变化自身。债券股票价格前期下跌的影响比媒体上任何其他新闻的影响都要大得多。 高度团结的群体很容易形成可怕的群体决策。这有许多原因,包括以下两个:一是人们愿意接受与他朝夕相处的同事的意见(“适应态度”);二是人们对于自己难以理解的事物,愿意将他人的行为作为信息来源(“社会比较”)。 平民百姓很容易受影响,当需要行动时通常很难做出决定。他们发现情况不同于他们的预期——尤其是在受到他人影响时更加如此。即使那些已经制订计划的人,看见出现新情况,也很快对自己以前的判断表示怀疑。坚定的自信是应付任何外界压力的最有效武器。 看内部人交易记录比看1000家机构的赢利预测还管用。 群体思维的一些表现是: • 说服效应。我们更容易被一个可信的消息来源所说服,而不是可信的论据。 • 自负行为。我们过高估计自己做出正确决策的能力,因此对各种可能性的分析不够全面,不能正确判断风险和不确定性。 • 适应态度。我们容易形成和我们认识的人相同的态度。 • 社会比较。我们对某些事情拿不准的时候,借鉴别人的行为作为自己的信息来源。 • 选择性暴露。我们只是试图接触那些确认自己行为和态度的信息。 • 选择性知觉。我们总是按照对自己行为和态度有利的方式来解释信息。 最难以理解的态度就是所谓“自我防御”。它是由人的强烈协调欲望产生的,这种协调欲望要求在两方面做到和谐统一:一方面,他所知的和他所信的;另一方面,他所说的和他所做的。由于股票交易是一种社会过程,他有可能告诉他的朋友、妻子或经纪人:股市要涨。因此,他的态度是市场很快就会有一次获利机会。 设想不久股市开始下跌。观察一段时间后,他逐渐丧失了短期获取利润的信心。现在,他所说的和做的与他所相信的之间不再协调一致,他必须改变自己的态度:...-《金融心理学》

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注