阿里云双十一红包密码问题解答

本文作者为江苏先安科技有限公司赵统一, 转载时请保留原作者.

由于时差问题,一觉醒来已经北京时间下午4点,看到QQ群里大家发了阿里云双十一红包趣味题,就化了点时间来挑战下。

aliyunbonus密码破解分为心理分析与数据分析

一、心理分析

阿里云面向社会的红包趣味问题,一定不难,要不然大家都拿不到不行,其次需要有点技术门槛,大家都拿到也不行。从数据来看,内容由26字母,还有逗号,句号之类,没有二进制之类,放心的大半,非常有希望。从数据组成来看应该就是经典密码,可能是caesar密码,或者是单表替换,或者多表替换,或者Playfair之类或者变种,从心理分析来看不可能是变种,这样难度比较大,最有可能的是单表替换和多表替换。如果真是两种基本上问题都不大,毕竟是经典密码。

二、数据分析

首先:把数据采集出来
Of zit kggd zitkt qkt ygxk ortfzoeqs wqlat zwqssl qfr zvg ortfzoeqs yggzwqssl.
Fgv oy ngx vqfz zg hxz zitd of gft soft,
piv dgfn lgsxzogfl qkt zitkt ?
Zohl:hstqlt eiqfut zit ygkd gy zit fxdwtk ngx utz.
Zit Hkgukqddtkl!

通过简单测试穷尽,就可以排除caesar, 然后从简单的单表替换入手,单表破解最常用的工具就是频率分析,自己就不烦了,先找个工具,常用的小巧的cryptotool.于是得出单字母频率。

Picture3图一、单字母频率统计结果

Picture2图二、英文字母使用频率表

从此频率与英文字母的使用频率比较,可以得出结论,

频率递减非常明显,很大可能排除多表替换。先假设它就是单表替换,密文中的t 很可能对应的明文e, 但不能确定t,还是g, z ,f 是e,因为样品数太少,密文的{ t ,g ,z, f, q ,k, o, s ,i ,d x } 有可能是明文的{ e, t , a , o , i , n, s, h ,r }相对应。

我们接下来观察双子母频率,

Picture1图三、双子母频率

双子母,最常用的是th,我们可以猜测,it,zi, gf,都有可能对应的是th。

我们开始观察原文数据,发现zit出现频率很高,于是我们猜测zit为the,这也符合单字母频率和双字母频率的分布特征,我们先确认zit为the, 出现zitkt ,我们认为the_e,可能k 为r, qkt是re,我们可以暂时认为q为a,

Picture5

虽然我们只确认5个字母,通过观察比较我们很快就能得出所有结论。

Picture4图四、明文与密文对照表

这里有个疑问其中第三行,依照对照表来说,答案是
piv dgfn lgsxzogfl gkt zitkt?
_hw mony solutions are there?

但是这明显不符合语言习惯,我大胆猜测可能题目是否有些问题(个人观点),应该是
igv dqfn lgsxzogfl gkt zitkt.
how many solutions are there?
如果有错误,请指教。

于是得出改正后的明文:
In the room there are four identical basketballs and two identical footballs,
Now if you want to put them in one line,
How many solutions are there?
tips: please change the form of the number you get.
the programmers!