一、故事背景

2009年春节前俩天,2009年1月23日,农历腊月廿八。在百度贴吧上演了浪漫的一幕,一男子发帖请求吧友帮助破译一段摩尔斯密码,以获得与其心仪女子的约会机会。通过各路大神的集体智慧,“爱情密码”的答案终于水落石出,也让大家一起感受了一把 《摩尔斯电码里的爱情故事》: 爱情最好的样子,就是我爱你的同时你也爱我。

让我们来回顾下这个故事,并从中一起来学习密码学相关知识,感受下密码学的魅力!

故事开始与,男主人公对他心仪已久的女生告白,女生给了 一串5层加密的莫斯密码以及很少的提示。 对男生讲,只有破译了这个密码,才答应和他约会。

在这里插入图片描述

男生对于这个密码思考了很久,仍然不能将其解开,无奈,在贴吧发起求助。

名字《求救,我已经快想爆了》

发帖人 HighnessC在帖子中说到,

在这里插入图片描述

最近和一个心仪的女生告白,
谁知道她给了一个摩斯密码给我,说解出来了才答应和我约会。
可是我用尽了所有方法都解不开这个密码。。好郁闷阿。只能求教你们了。


****-/*----/----*/****-/****-/*----/---**/*----/****-/*----/-****/***--/****-/*----/----*/**---/-****/**---/**---/***--/--***/****-/


她唯一给我的提示就是这个是5层加密的密码..
也就是说要破解5层密码才是答案..
好郁闷阿..
救救我吧..

二、摩尔斯密码

然后有热心的吧友在6楼答复了他:
在这里插入图片描述

首先要把摩斯密码给解开来.
应该是.
4194418141634192622374.
然后呢?
然后我再想想..

数字的话应该下一步是代入?
或者是哪个啥..

至于这个摩尔斯密码这么破解的呢? 我们就来说一说摩尔斯密码的知识。

2.1 摩尔斯密码的记忆

  1. 也许前段时间你看到过一则新闻,一名学生离校出走好几天,留下一段神奇密码。家长学生一起参与破解,最终找到孩子
    在这里插入图片描述

  2. 也许你看过战争片,有些战争中仍然使用电报传输,电视中的滴答声你是否还记的
    在这里插入图片描述

  3. 也许你听说过这么一段爱情猜谜传奇。一男子向一女子表白,女子却给了一段摩斯密码,以及很少的提示,并表示,破译这个密码,才答应和他约会。男子死活不得求解,又在百度贴吧里将密码贴出以求助网友,最终密码亦被破解。就是本文要讲的故事。

  4. 也许你看过《无间道》电影, 刘建明(刘德华饰)作为黑帮的卧底在一次行动中发现了警察的卧底陈永仁(梁朝伟饰)与黄警督(黄秋生饰)通过摩斯电码进行通讯,经过紧急的群发区域短信 “有内鬼,终止交易” 避免了黑帮头目被抓。

通过下图能看到 黄警督 和 陈永仁 仅通过 手指的敲击 就能完成通讯是不是很神奇?


其实不是的,在电影中 陈永仁 的窗外是有信号传输装置的

在这里插入图片描述
而且要想实现如此流畅的通讯,两人必须对 摩斯码 表和通讯非常的熟悉,而且手速要快。

2.2 摩尔斯电码

摩尔斯电码( 又译为摩斯密码,英语:Morse code)是一种时通时断的信号代码,这种信号代码通过不同的排列顺序来表达不同的英文字母、数字和标点符号。

由美国人摩尔斯(Samuel Finley Breese Morse)于1837年发明,为摩尔斯电报机的发明(1835年)提供了条件。 由点dot(.)、划dash(-)两种符号组成,摩尔斯码在早期无线电上举足轻重,是每个无线电通讯者所须必知的。由于通讯号技术之进步,各国已于1999年停止使用摩尔斯码,但由于它所占的频宽最少,又具一种技术及艺术的特性,在实际生活中有广泛的应用。

摩尔斯电码morse code 它由两种基本信号和不同的间隔时间组成:短促的点信号“·”,读“的”(Di);保持一定时间的长信号“—”,读“答”(Da)

虽然摩尔斯发明了电报,但他缺乏相关的专门技术。他与艾尔菲德·维尔签定了一个协议,让他帮自己制造更加实用的设备。艾尔菲德·维尔构思了一个方案, 通过点、划和中间的停顿,可以让每个字元和标点符号彼此独立地发送出去。他们达成一致,同意把这种标识不同符号的方案放到摩尔斯的专利中。这就是现在我们所熟知的美式摩尔斯电码,它被用来传送了世界上第一条电报。

这种代码可以用一种音调平稳时断时续的无线电信号来传送,通常被称做连续波(Continuous Wave),缩写为CW。它可以是电报电线里的电子脉冲,也可以是一种机械的或视觉的信号(比如闪光)。作为一种信息编码标准,摩尔斯电码拥有其他编码方案无法超越的长久的生命。摩尔斯电码在海事通讯中被作为国际标准一直使用到1999年。1997年,当法国海军停止使用摩尔斯电码时,发送的最后一条消息是:“所有人注意,这是我们在永远沉寂之前最后的一声呐喊!”

做为一种实际上已经绝迹的电码,美式摩尔斯电码使用不太一样的点、划和独特地间隔来表示数字、字元和特殊符号。这种摩尔斯电码的设计主要是针对地面报务员通过电报电线传输的,而非通过无线电波。

这种古老的、交错的电码是为了配合报务员接听方式而设计的。可以从扬声器或者耳机中听到电码的音调,你只能从这些最早期的电报机的一个机械发生装置听到嗒嗒的声音,甚至是从发送电键接听:这种电键在不发送信号时被设置为从动模式,负责发声

摩尔斯电码是一种早期的数码化通信形式, 它依靠一系列的 点 和划 来传递编码信息 ,它的代码包括五种:

  1. 点dot( · ):1 (读 “滴” dit ,时间占据1t )
  2. 划dash(—):111 (读 “嗒” dah ,时间占据3t )
  3. 字符内部的停顿(在点和划之间):0 (时间占据1t )
  4. 字符间停顿:000 ( 时间占据3t )
  5. 单词间的停顿:0000000 ( 时间占据7t )
  6. 点的长度(也就是上面的时间长度t)决定了发报的速度

2.2.1 字母

字符电码符号
A.━
B━...
C━ .━.
D━ ..
E
F..━.
G━ ━.
H....
I..
J.━ ━ ━
K━ .━
L.━..
M━ ━
N━.
O━ ━ ━
P.━ ━.
Q━ ━.━
R.━ .
S...
T
U..━
V...━
W.━ ━
X━ ..━
Y━.━ ━
Z━ ━ ..

2.2.2 数字长码

字符电码符号
0━ ━ ━ ━ ━
1.━ ━ ━ ━
2..━ ━ ━
3...━ ━
4....━
5.....
6━....
7━ ━...
8━ ━ ━ ..
9━ ━ ━ ━ .

2.2.3 数字短码

字符电码符号
0
1● —
2● ● —
3● ● ●— —
4● ● ● ● —
5● ● ● ● ●
6— ● ● ● ●
7— —● ● ●
8— ● ●
9— ●

在这里插入图片描述

2.2.4 标点符号

字符电码符号
..━.━ .━
:━ ━ ━...
,━ ━..━ ━
;━.━ .━.
?..━ ━..
=━ ...━
.━ ━ ━ ━ .
/━..━ .
!━.━ .━ ━
━....━
_..━ ━.━
".━ ..━.
(━ .━ ━ .
)━.━ ━.━
$...━ ..━
&....
@.━ ━.━ .
+.━.━.

2.2.5 特殊符号

这是一些有特殊意义的点划组合。它们由二个字母的摩尔斯电码连成一个使用,这样可以省去正常时把它们做为两个字母发送所必须的中间间隔时间。

AR:·—·—·(停止,消息结束)
AS:·—···(等待)
K:—·—(邀请发射信号)(一般跟随AR,表示“该你了”)
SK:···—·—(终止,联络结束)
BT:—···—(分隔符)
···—·(我将重新发送最后一个单词)
·· ··(同样)
········(错误)

2.2.6 摩尔斯密码如何记忆?

在这里插入图片描述
图中的点代表短音di,线代表长音dah。26个字母用下图表示更清晰。

  • 摩尔斯密码树记忆
    在这里插入图片描述
  • 字母笔画记忆(按正常笔画顺序)
    在这里插入图片描述

在这里插入图片描述

2.2.7 SOS是怎么来的?

SOS并不是任何求救英文的缩写,而是因为在摩尔斯电码中,

S 为 . . .
O 为 _ _ _

所以SOS对于发报方是最容易发出的信号,对于接收方是最容易识别的信号
因此国际无线电报公约组织于1908年正式将它确定为国际通用海难求救信号。

求救信号 SOS(···---···
在这里插入图片描述
1912年,著名的泰坦尼克号游轮首航遇险时,发送的是CQD(英国马可尼无线电公司决定用CQD作为 船舶遇难信号),但因 D(—··)易于其他字母混淆,周围船只并未意识到是求救信号,没有快速救援,在快沉没时才使用的 新求救信号SOS(···———···) 发报。泰坦尼克号沉没后,SOS才被广泛接受和使用

事实上,虽然SOS信号在1906年即已制订,但英国的无线电操作员很少使用SOS信号,他们更喜欢老式的CQD遇难信号。

泰坦尼克号的无线电首席官员约翰·乔治·菲利普一直在发送CQD遇难信号,直到下级无线电操作员哈罗德·布莱德建议他:“发送SOS吧,这是新的调用信号,这也可能是你最后的机会来发送它了!”然后菲利普在传统的CQD求救信号中夹杂SOS信号。

求救信号直到第二天早上才被加州人号收到,因为她并没有24小时都监听无线电 。

三、 破解爱情密码的第一层:摩尔斯密码

前面介绍了摩尔斯密码的基本知识,现在回到故事,继续!

前面说女主人公给男主人公的5层加密摩尔斯密码如下所示:

****-/*----/----*/****-/****-/*----/---**/*----/****-/*----/-****/***--/****-/*----/----*/**---/-****/**---/**---/***--/--***/****-/

我们按照上面介绍的摩尔斯电码,可以把它破译为:4194418141634192622374

在这里插入图片描述

当然,我们也可以在网站:中文摩斯密码在线加密解密中直接破译。
在这里插入图片描述

通过上面的努力,我们破解了第一层结果: 4194418141634192622374

但是破解出了数字,我们还是无法继续把这一串数字和最终女主人公想表达的意思联系起来。咋办呢?

在这里插入图片描述

在这里插入图片描述

四、 破解爱情密码的第二层:替代密码之手机键盘

4.1 贴吧事件回顾

这时,有热心的吧友,在11楼有给出如下所示的提示:

在这里插入图片描述

你目标是她跟你约会吧?而不是破解这个密码吧?
密码可以交给专业一些的来考虑。
你自己可以“旁敲侧击”多收集一些关于密码的提示

这个吧友的提示确实有用,楼主在拼命破解的过程中,还是通过其他的手段得到了提示。

在这里插入图片描述

楼主讲出了女主人公的身份
在这里插入图片描述

他还在给自己打气
在这里插入图片描述

对阿.
我不能认输.
即使不是我亲手解出来的.
也要我亲口告诉她.
而不是她告诉我..

在这里插入图片描述

4194418141634192622374
毫无规律……
daiddahadafcdaibfbbcgd
仍然不对……
d4/a1/i9/d4/d4/……
……不对
对了,先来考虑考虑替换密码。
楼主顺便看看能不能套出每一层密码的提示。这个很重要

后来楼主终于弄到一点有意义的资料:
在这里插入图片描述

经过昨天一晚的奋斗。
我还是破解不了。
不过今天我死磨她,叫她给提示的后,她说途中有一个步骤是 "替代密码" 而密码表则是我们人类每天都可能用到的东西.
我会再套多点讯息的..
希望大大帮忙解答阿..
毕竟我也希望不要她亲口说出来这个密码的答案..

就在不久的楼层,有一个大神出现,他发现如果将数字两两一组,

41 94 41 84 41 63 41 92 62 23 74

数字有偶数个,且注意到41组合出现了数次,并且个数位一直在1-4之间。
在这里插入图片描述

在这里插入图片描述

然后把数字点到过来,这样的数字就会出现不超过52。52是26个英文字母的2倍。前26个英文标注为大写,后26个英文标注为小写。
在这里插入图片描述
14 49 14 18 14
36 14 29 26 32 47

用英文字母对照,前26个英文标注为大写,后26个英文标注为小写。

然后得到的破译密码为:NwNRNjNcZfu

又是一串毫无意义的字母,看来穷举换位也没有结果。

这个吧友的破译方向虽然没有给出正确答案,不过确将破译方向确定。
下面就是大神的出场。大神【片翌天使】出现!

她从上面那位吧友那得到灵感,

在这里插入图片描述

38楼给我的提示。还是让我想到了手机。
你们看解码出来分组后的数字分别是,
41 94 41 81 41 63 41 92 62 23 74 
并且每个组合个位数都不超过4。
特别是除了十位数是7和9这两个数字后面有4以外其他的都没有4。
看图。
手机的键盘上7和9的字母也是4个的,其他的都不超过4个字母。
那么,按照上面的组合解码可得。
G Z G T G O G X N C S 
解码后我们发现每一组数字都能解释出来。
目前我只能解码到这里的。
虽然很不通顺,但我相信这里应该是个突破点。

LZ还是快点去套多点提示给我们吧。

4.2 总结第二步骤破解

我们通过上面第一步,破解了第一层结果: 4194418141634192622374,解码出来分组后的数字是41 94 41 81 41 63 41 92 62 23 74

观察该数字系列发现,每个组合个位数都不超过4,除了十位数是7和9这两个数字后面有4之外,其他的都小于4。
同时还发现:手机键盘上数字“7”和数字“9”键上的字母是4个,其他的都不超过3个。

考虑到发帖事件是2009年,应该智能机还未完全普及,大多数如下所示的NOKIA键盘。
在这里插入图片描述
由此,

我们假设两位一组的数组 前一个代表手机键盘上的数字键,后一个代表该键上的字母的序号。如

  • 41表示手机键盘上数字4键上对应的第1个字母:G
  • 94表示手机键盘上数字9键上对应的第4个字母:Z
  • 81表示手机键盘上数字8键上对应的第1个字母:T
  • 63表示手机键盘上数字6键上对应的第3个字母:O
  • 92表示手机键盘上数字9键上对应的第2个字母:X
  • 62表示手机键盘上数字6键上对应的第2个字母:N
  • 23表示手机键盘上数字2键上对应的第3个字母:C
  • 74表示手机键盘上数字7键上对应的第4个字母:S

按照这样的方法,那么上面的数字组合41 94 41 81 41 63 41 92 62 23 74 解码结果可得 G Z G T G O G X N C S (第二层结果)

  • 41 94 41 81 41 63 41 92 62 23 74 (第一层结果)
  • G Z G T G O G X N C S (第二层结果)

至此,我们破解拿到了第二层的结果 G Z G T G O G X N C S

五、 破解爱情密码的第三层:替代密码之计算机键盘

5.1 贴吧事件回顾

终于在158楼,还是大神【片翌天使】出现了。

在这里插入图片描述

我已经完全解出来了。不过我觉得还蛮有意思的。楼主委屈一下你。把这个作为题目让大家先做做吧。
另外补充一句。楼主你好幸福哦。

我迟点告诉你们答案。
我可以给你们提示的是。
确实有代替法。
而密码表确实是我们人类每天都可能用到的东西。

确实有代替法。而密码表确实是我们人类每天都可能用到的东西。

这句话彻底把大家点燃了,大家也知道她已经破解出来了!

不过好奇心驱使,让大家好奇这个答案到底是什么?

所以在大家的强烈要求下,她会在二十点整公布答案。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

时间一到207楼,
在这里插入图片描述

在这里插入图片描述

我重新整合了这个解密步骤。
如下。

38楼给我的提示。还是让我想到了手机。 
你们看解码出来分组后的数字分别是, 
41 94 41 81 41 63 41 92 62 23 74 
并且每个组合个位数都不超过4。 
特别是除了十位数是7和9这两个数字后面有4以外其他的都没有4。 
看图。 
手机的键盘上7和9的字母也是4个的,其他的都不超过4个字母。 
那么,按照上面的组合解码可得。 
G Z G T G O G X N C S 
解码后我们发现每一组数字都能解释出来。 
目前我只能解码到这里的。 
虽然很不通顺,但我相信这里应该是个突破点。


93楼的键盘代入也给了我很大的提示。
包括楼主的“她说途中有一个步骤是"替代密码"而密码表则是我们人类每天都可能用到的东西”
那么很可能就是电脑键盘。
因为QWE的格式是被世人所认可的,也就有可能成为密码的码表。
码表 QWE=ABC依次类推。
那么解码G Z G T G O G X N C S 
就是G=O Z=T G=O T=E G=O O=I G=O X=U N=Y C=V S=L
翻译过来就是 O T O E O I O U Y V L
其实到这里就已经大概知道答案是什么了。
按照逻辑来整理,只要你重组这些字母的时候你就看到了。
虽然重组有很多种例如,LV IOU ET OOO
可是这些没有语言性质。因为楼主说过最终答案是英语。
所以唯一一个符合逻辑的答案应该是I LOVE YOU TOO.
可是我还不确定。
因为这里我才解了第3层就已经看出答案了。


所以我决定用O T O E O I O U Y V L
进行再次解码。
我用了很多种解码方法。
凯撒,乘法等等。。
最后我发现了只有栅栏才能读得通。
分成两排
O T O E O I
O U Y V L
重组后,OOTUOYEVOLI。
然后倒序,ILOVEYOUTOO.
I LOVE YOU TOO.就自然而然的出来了。
最后我才肯定密码就是I LOVE YOU TOO.
最后的最后,我敢肯定楼主有一个非触摸屏的手机,并且键盘一定是标准格式的。
而且应该有一台笔记本或者你经常接触电脑。
另外楼主和楼主的女人关系应该是认识很久的那种,而不是一见钟情。
而且楼主告白的时候应该有用到I LOVE YOU 或者我爱你之类的字眼。
对不对阿?

呼.
好累啊..

祝楼主幸福咯.
因为她是爱你的..

5.2 总结第三步骤破解

根据提示:

楼主的“她说途中有一个步骤是"替代密码"而密码表则是我们人类每天都可能用到的东西”
那么很可能就是电脑键盘。
因为QWE的格式是被世人所认可的,也就有可能成为密码的码表。

在这里插入图片描述
根据计算机键盘的字母排列顺序情形,假设该密码的替代方案如下所示:

键盘第一排:QWERTYUIO 映射关系如下

密文明文
QA
WB
EC
RD
TE
YF
UG
IH
OI
PJ

键盘第二排:ASDFGHJKL 映射关系如下

密文明文
AK
SL
DM
FN
GO
HP
JQ
KR
LS

键盘第三排:ZXCVBNM 映射关系如下

密文明文
ZT
XU
CV
VW
BX
NY
MZ

按照这样的方法,那么G Z G T G O G X N C S (第二层结果) 得到对应的字符为O T O E O I O U Y V L(第三层结果)

在这里插入图片描述

  • 41 94 41 81 41 63 41 92 62 23 74 (第一层结果)
  • G Z G T G O G X N C S (第二层结果)
  • O T O E O I O U Y V L(第三层结果)

至此,我们破解拿到了第二层的结果 O T O E O I O U Y V L(第三层结果)

六、破解爱情密码的第四层:栅栏

翻译过来就是 O T O E O I O U Y V L
其实到这里就已经大概知道答案是什么了。
按照逻辑来整理,只要你重组这些字母的时候你就看到了。
虽然重组有很多种例如,LV IOU ET OOO
可是这些没有语言性质。因为楼主说过最终答案是英语。
所以唯一一个符合逻辑的答案应该是I LOVE YOU TOO.
可是我还不确定。
因为这里我才解了第3层就已经看出答案了。

所以我决定用O T O E O I O U Y V L
进行再次解码。
我用了很多种解码方法。
凯撒,乘法等等。。
最后我发现了只有栅栏才能读得通。
分成两排
O T O E O I
O U Y V L
重组后,OOTUOYEVOLI。
然后倒序,ILOVEYOUTOO.
I LOVE YOU TOO.就自然而然的出来了。
最后我才肯定密码就是I LOVE YOU TOO.

最后的最后,我敢肯定楼主有一个非触摸屏的手机,并且键盘一定是标准格式的。
而且应该有一台笔记本或者你经常接触电脑。
另外楼主和楼主的女人关系应该是认识很久的那种,而不是一见钟情。
而且楼主告白的时候应该有用到I LOVE YOU 或者我爱你之类的字眼。
对不对阿?

呼.
好累啊..

祝楼主幸福咯.
因为她是爱你的..

用O T O E O I O U Y V L进行再次解码。
分成两排

OTOEOI
OUYVL

在这里插入图片描述

接着按列从左到右,从上到下重组后,得到结果为: OOTUOYEVOLI。

在这里插入图片描述

  • 41 94 41 81 41 63 41 92 62 23 74 (第一层结果)
  • G Z G T G O G X N C S (第二层结果)
  • O T O E O I O U Y V L(第三层结果)
  • O O T U O Y E V O L I (第四层结果)

至此,我们破解拿到了第二层的结果O O T U O Y E V O L I (第四层结果)

六、破解爱情密码的第五层:倒序

最后,我们将第四层的结果倒序,得到结果:ILOVEYOUTOO

  • 41 94 41 81 41 63 41 92 62 23 74 (第一层结果)
  • G Z G T G O G X N C S (第二层结果)
  • O T O E O I O U Y V L(第三层结果)
  • O O T U O Y E V O L I (第四层结果)
  • I L O V E Y O U T O O (第五层结果)
    至此,我们破解拿到了最终的答案I LOVE YOU TOO(第五层结果)

在这里插入图片描述

七、回顾破解过程

  1. 通过摩尔斯密码,破解
****-/*----/----*/****-/****-/*----/---**/*----/****-/*----/-****/***--/****-/*----/----*/**---/-****/**---/**---/***--/--***/****-/

得到第一层结果 41 94 41 81 41 63 41 92 62 23 74

  1. 通过对第一层结果分组进行替代密码之手机键盘

两位一组的数组 前一个代表手机键盘上的数字键,后一个代表该键上的字母的序号。

最终得到第二层结果 G Z G T G O G X N C S

3.通过对第二层结果分组进行替代密码之计算机键盘

计算机键盘是代替密码的密码表,对计算机键盘字母重新排序,

最终得到第三层结果O T O E O I O U Y V L

  1. 对第三层结果进行换位变换(栅栏),重组
    最终得到第四层结果 O O T U O Y E V O L I

  2. 对第四层结果,进行倒序排列
    最终得到第五层结果I L O V E Y O U T O O

八、最后

看完【片翌天使】的回复后,楼主回复到:

谢过天使了,我有被你感动到。最后的最后你的推理也完全正确。我真的,太感谢你了。
在这里插入图片描述
你们猜天使是我的??
应该不是,因为我喜欢的人不可能知道我会在这里发贴不是么?
呵呵。
在这里插入图片描述

密码到这里就全部解密了,这个帖子确火爆了起来。整个帖子都沸腾了,好多人还留贴祝福楼主,祝福和探讨的回帖盖到了4万多楼。

然而最终的方向还是乱了,在【片翌天使】破解了密码之后,大家最开始都在祝福楼主,然后突然有一个人提出,这个【片翌天使】会不会就是女主人公。

所以网友大军的结论变成了:女主等不及了自己开马甲回答的,不过这样也没什么不好,反倒觉得很浪漫不是吗?

自己出题自己等不及,自己回答自己表白!

这就是当年火爆了贴吧的《摩尔斯电码里的爱情故事》: 爱情最好的样子,就是我爱你的同时你也爱我!

原来密码与爱情是如此紧密相连的!原来密码学是如此有魅力的!

参考链接

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐