刷CTF题的时候碰到了摩斯密码(morse code),由于本科课程中有密码学而且上课也好好听了,但是实在是没有摩斯密码的印象,因此查阅资料后记录下来。
组成
摩尔斯电码只使用零和一两种状态的二进制代码,短促的点信号'・',读“滴”(Dit),在二进制中使用'0'来表示; 保持一定时间的长信号' - ',读“嗒”(Dah),在二进制中用'1'表示。
语法规则
划一般是三个点的长度;字符内部点划之间的间隔是一个点的长度;字符之间的间隔是三个点的长度;单词之间的间隔是七个点的长度。例如,在“morse code“中,m的‘- -‘间隔一个点的长度,m与o之间要间隔三个点的长度,morse与code之间要间隔七个点的长度。
对照表
摩斯密码字母对照表
摩斯密码数字对照表
在数字码中,我们可以看到有长码和短码两种形式,通常使用的是长码,短码常用于中文电码中组成汉字,短码不可与字母码混用(细看短码中的1与字母中的A)。
示例
- 原题:11 111 010 000 0 1010 111 100 0 00 000 000 111 00 10 1 0 010 0 000 1 00 10 110
- 翻译前:-- --- .-. ... . -.-. --- -.. . .. ... ... --- .. -. - . .-. . ... - .. -. --.
- 翻译后:MORSECODEISSOINTERESTING
其他
需要额外记住并使用的三个讯号:
- 通讯前一定要记得使用“开始”讯号“—・—・—”。
- 如果通讯途中发生错误,要先发出表示“错误”的讯号“・・・・・・”,再传递正确的讯号。
- 通讯结束时,一定要记得加上表示“结束”的讯号“・・・—・”。
SOS
- 在电影中,我们经常可以看到SOS这三个字母作为紧急求救信号,但是这并不是任何单词的缩写,而是国际摩尔斯电码救难信号。鉴于当时海难事件频繁发生,往往由于不能及时发出求救信号和最快组织施救,结果造成很大的人员伤亡和财产损失,国际无线电报公约组织于1908年正式将它确定为国际通用海难求救信号。
- 这三个字母组合没有任何实际意义,只是因为它的电码“ ...---...”(三个圆点,三个破折号,然后再加三个圆点)在电报中是发报方最容易发出,接报方最容易辨识的电码。
- 光线发射方法为:短光——长光——短光。
后记
摩斯密码还是很有趣的,虽然现在不怎么用了,也见的很少了,可能有用的就是学生阶段学一学来在考试阶段传答案(禁止行为),或者是给喜欢的人偷偷表白(人家也不一定看得懂)。
,