专业的编程技术博客社区

网站首页 > 博客文章 正文

这是一篇最烧脑的文章,据说解出来的人有千元大奖

baijin 2024-10-05 13:29:34 博客文章 5 ℃ 0 评论

有一种东西,你每天都会用,但又是世界上最神秘的东西,即便你用了,你也参不透它的奥秘,因为脑容量不够大。

你一定在绞尽脑汁想身边的一切东西,手机?电脑?还是某某生理用品?

其实一说出来你就会有种恍然大误的感觉,那便是密码

虽说密码无处不在,但神奇的不是密码本身,那只是种符号,而加密方式才是展示密码魔力的地方,所有的密码都离不开加密方式,是它打开了人们隐私的潘多拉大门。

看过《志明与春娇》的一定记得里面的n 55!w !,反过来的暗文正写就是I miss u。看过《达芬奇密码》的一定会纠结于里面纷烦复杂和奥妙神奇的斐波那契数列;而电影《模仿游戏》里卷福饰演的天才图灵的一生就是从Enigma开启的。

全世界的加密方法数不胜数,极致君就来讲讲那些最基本的方式有哪些?

1、摩尔斯电码——最常见的密码

说到摩斯码肯定是无人不知无人不晓,《无间道》里梁朝伟用手敲击的密码,《风声》里也把摩斯码绣在旗袍上,不仅这两部,几乎所有的特工电影都会用到。

摩斯码于1837年发明,它的代码包括五种:点(Dot)、划(Dash)、点和划之间的停顿、每个字符间短的停顿(在点和划之间)、每个词之间中等的停顿以及句子之间长的停顿。简单来说点就是短波,划就是长波,如果敲击桌面,就靠每个字符之间的长停顿或者短停顿来区别,当然你首先得对摩斯码十分熟悉才能这么做,不然就不知所云。

▲电影《无见道》里的摩尔斯密码

2、凯撒密码——最简单的加密方法

也叫做凯撒位移,是最简单的加密方法之一,据说是古罗马的凯撒大帝用来保护重要军情的加密系统,它是一种替代密码。

加密公式:密文 = (明文 + 位移数) Mod 26

解密公式:明文 = (密文 - 位移数) Mod 26

例如:I love you。

如果A=B,B=C,以此类推

明文:I love you

密文:J Mpwf zpv

这是最简单的位移,复杂一点的还要看位移几位数,如果向后位移三位,那么A=D,B=E,以此类推。

3、栅栏密码——最易被破解的密码

也称栅栏易位,把将要传递的信息中的字母交替排成上下两行,再将下面一行字母排在上面一行的后边,从而形成一段密码,栅栏密码是一种置换密码。

例如:I love you

IOEO

LVYU

上下位置打乱后再排列,变成IOEOLVYU就是密文。复杂的栅栏密码不一定是两行,有可能是多行从而组成一个方阵,一般会提示密码有几栏,但由于变化方式少,还是容易被破解。

如:lyiroonevuclesey

四栏的话就是

Lyir

Oone

Vucl

Esey

从上至下排列就是Love you sincerely

4、维吉尼亚密码——最让人眼花的加密方式

由于频率分析法可以有效的破解单表替换密码,法国密码学家维吉尼亚于1586年提出一种多表替换密码,即维吉尼亚密码。维吉尼亚密码引入了“密钥”的概念,即根据密钥来决定用哪一行的密表来进行替换,以此来对抗字频统计。

加密算法:例如密钥的字母为[d],明文对应的字母[b]。根据字母表的顺序[d]=4,[b]=2,那么密文就是[d]+[b]-1=4+2-1=5=[e],因此加密的结果为[e]。解密即做此逆运算。

加密公式:密文 = (明文 + 密钥) Mod 26 - 1

解密公式:明文 = [26 + (密文 - 密钥)] Mod 26 + 1

这样说可能看不懂,如果有维吉尼亚密码表就很轻松了,除了眼花。

同样是:I love you

如果密钥是:have

那么密钥:h aveh ave

密文:p ljzl yjy

密钥查看横列的H,那么对应的密文是P,明文是i,密钥a对应的密文L还是L,v对应j就是o,e对应z就是v。以此类推,答案就是I love you。

5、希尔密码——最考验数学能力的加密方式

希尔密码就是矩阵乘法密码,运用基本矩阵论原理的替换密码。每个字母当作26进制数字:A=0, B=1, C=2... 一串字母当成n维向量,跟一个n×n的密钥矩阵相乘,再将得出的结果模26。希尔密码的优点是完全隐藏了字符的频率信息,弱点是容易被已知明文攻击击破。

这个密码要利用到线性代数中的矩阵,复杂程度呈几何倍上升,这里就不做介绍了,Playfair密码也是希尔密码的变种,通过矩阵计算,之后会详细介绍。

▲《达芬奇密码》剧照

除了这些最基本的密码还有棋盘密码(利用波利比奥斯方阵)、乘法密码仿射密码等,还可以用手机的九键以及电脑键盘对应的字符进行编码(例如昨天提的第二个问题九键设置的密码,密文中间有个41,意思就是数字4对应的九键GHI的第一个字母G,其它以此类推,答案是“最东西”三个字)。

▲电影《特务迷城》里成龙利用手机九键解密

这么多加密方式足以让人头大,为什么极致君还会对密码产生了浓厚的兴趣,难道是要转行当特工不成,其实这都源于极致君最近读到了一本目前看来最烧脑的书——《忒修斯之船》。读完一遍以后完全被里面的近十种加密方式抓住了心,爱不释卷,吃饭都不忘研究密码怎么破解。

这本号称要读六遍才能读懂的巨著不仅有着新颖的阅读形式(这种阅读方式让电子书望而却步),还有着完美的装帧,尤其是23个附件,分别夹在各自对应的位置,做旧的书页,优美的书写笔记,让人拿在手上就觉得是件艺术品。

忒修斯其实是普鲁塔克记载的一个古希蜡的哲学悖论,忒修斯与雅典的年轻人们自克里特岛归还时所搭的30桨船被雅典的人留下来做为纪念碑。随着时间过去,木材也逐渐腐朽,而雅典的人便会更换新的木头来替代,最后,该船的每根木头都被剃换过了。因此,古希腊的哲学家们就开始问:“这艘船还是原本的那艘忒修斯之船吗?如果是,但它已经没有最初的任何一根木头了;如果不是,那它是从什么时候不是的?”

不过这些都只是书的外在,真正的内在在于需要高智商才能解答的密码和难题,J·J·艾布拉姆斯和道格·道斯特几乎在每一章都设置了密码,让读者一步一步堕入密码的漩涡。

举个大大的栗子,第二章漂移的双生子就用到了上文提到的普莱费尔(Playfair)加密法,这种方法会将明文中的字母组合作为一个单元对待,并将这些单元转换为密文双字母组合。

------------前方高能,脑容量不够自行绕道------------

Playfair加密法破解这一章的密码分为三步:

第一步,Playfair密码基于一个5*5字母矩阵,该矩阵用一个关键字(这里用章名双子座作为密钥:GEMINI。注:章名本来是the drifting twins,珍在这里用了星座Gemini,见P46,那边:天鹅座。那边:双子座)来构造。

构造的方法是:从左至右,从上至下依次填入关键词的字母(记得要去除重复的字母,即GEMIN,去掉最后一个i),然后再以字母表的顺序依次填入其他字母。很多情况下,字母I和J被算为一个字母(即J被当作I处理),不过也有时候会将频率出现最低的字母之一Q略掉(密码是需要不断试错的),因为矩阵是5*5的只有25个位置(字母有26个),而Q最不常用,必须去掉一个的话,只有它。所以得出:

G E M I N

A B C D F

H J K L O

P R S T U

V W X Y Z

第二步,将密文分组,将密文字符串(即那些名字的首字母)按两个字母一组(双生子)进行分组:(名字可见书P42注释,如第一个Oskar Heilemann,即为OH)

OH HU BW HA MG SY

第三步解密方法(加密方法与之方向相反)

假设一组里第一个密文是P1,第2个是P2 ,则有三个应用法则:

(1)若P1、P2在同一行时,则对应的明文C1和C2分别是紧靠P1、P2左端的字母(加密时就是右)。其中最后一列被视为在第一列的左方(加密时相反)。

(2)若P1、P2在同一列时,则对应的密文C1和C2分别是紧靠P1、P2上方的字母(加密时相反)。其中最后一行视为在第一行的上方(加密时相反)。

(3)若P1、P2不在同一行,也不在同一列时,则C1和C2是由P1和 P2确定的矩形的其他两角的字母,并且C1和P1、C2和P2同行(加密时处理方法相同)。

所以,

第一组OH,同行,应用法则(1),取O和H左端的字母,L O

第二组HU,对角,应用法则(3),取H和U对角的字母,O P

第三组BW,同列,应用法则(2),取B和W上端的字母,E R

第四组HA,同列,应用法则(2),取H和A上端的字母,A G

第五组MG,同行,应用法则(1),取M和G左端的字母,E N

第六组SY,对角,应用法则(3),取S和Y对角的字母,T X

这个方法只能玩偶数成对的字母,如果不成对怎么办?规定:如果明文字母数为奇数,就要在明文的末端添加某个事先约定的字母作为填充,这里就是X,所以去掉填充字母,得到:

LOOPERAGENT

所以,书中解出的答案也是looper agent

看到这里,你是不是已经蒙圈了,整本书里不止普莱费尔密码,还充斥着利用波利比奥斯棋盘制作矩阵的虚无密码,和维吉尼亚密码很相似的连续金钥加密法以及最基本的栅栏密码,同时在书末还有厄特沃什之轮所对应的经纬度来查找相应的地理位置。

关于其它的密码,碍于篇幅,这里就不多解释了,如果你想挑站一下高智商和解密的快感,那么可以亲自去尝试一下。即便看不懂,摆在家里,也是逼格满满。

▲读这本书时一般都会要做大量的笔记,否则信息量太大,脑子不好使

-----------------我是密码题的分割线-----------------

最后极致君想再跟最友玩个密码游戏,从文章中找了一些对应的字眼,组成了六个汉字的支付宝口令,只有一个获奖名额,如果破解出来,还有千元大奖等着这位脑神哦,如果领奖了,记得截个图回来炫一炫,让我们都来膜拜一下。

密 码

第一步:

密码:0001010 0000011 0000001 0011100 0011111 0010100 0000100 0000000

密钥:Remember

TIPS:可以考虑二进制方面的密码和跟圣经有关的密码

第二步:

如果解答出来到了这一步,那么恭喜你,已经完成了一半。答案转换一下就是明文,但还不完全是,第二个密钥是Christ。根据这个再联系之前的明文,说不定就能找到最终的答案哦。

TIPS:用到了前文提过的最基本的五种密码中的一种。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表