CTF MISC-密码学入门知识
一、几种常见密码形式:
1、栅栏易位法
即把将要传递的信息中的字母交替排成上下两行,再将下面一行字母排在上面一行的后边,
从而形成一段密码。
举例:
TEOGSDYUTAENNHLNETAMSHVAED
解:
将字母分截开排成两行,如下
T E O G S D Y U T A E N N
H L N E T A M S H V A E D
再将第二行字母分别放入第一行中,得到以下结果
THE LONGEST DAY MUST HAVE AN END.
课后小题:请破解以下密码
Teieeemrynwetemryhyeoetewshwsnvraradhnhyartebcmohrie
2、恺撒移位密码。
也就是一种最简单的错位法,将字母表前移或者后错几位,例如:
明码表:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
密码表:
DEFGHIJKLMNOPQRSTUVWXYZABC
这就形成了一个简单的密码表,如果我想写
frzy
(即明文),那么对照上面密码表编成密码
也就是
iucb
(即密文)了。密码表可以自己选择移几位,移动的位数也就是密钥。
课后小题:请破解以下密码
dtzwkzyzwjijujsixtsdtzwiwjfrx
3、进制转换密码。
比如给你一堆数字,乍一看头晕晕的,你可以观察数字的规律,将其转换为
10
进制数字,
然后按照每个数字在字母表中的排列顺序,
拼出正确字母。
举例:
110 10010 11010 11001
解:
很明显,这些数字都是由
1
和
0
组成,那么你很快联想到什么?二进制数,是不是?嗯,那
么就试着把这些数字转换成十进制试试,得到数字
6 18 26 25
,对应字母表,破解出明文为
frzy
,呵呵
~
课后小题:请破解以下密码
11 14 17 26 5 25
4、摩尔斯密码。
翻译不同,有时也叫摩尔密码。
*
表示滴,
-
表示哒,如下表所示比如滴滴哒就表示字母
U
,
滴滴滴滴滴就表示数字
5
。另外请大家不要被滴哒的形式所困,我们实际出密码的时候,有
可能转换为很多种形式,例如用
0
和
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 --**
数字
0 ----- 1 *---- 2 **--- 3 ***-- 4 ****-
5 ***** 6 -**** 7 --*** 8 ---** 9 ----*
常用标点
句号
*-*-*-
逗号
--**--
问号
**--**
长破折号
-***-
连字符
-****-
分数线
-**-*
5、字母频率密码。
关于词频问题的密码,我在这里提供英文字母的出现频率给大家,其中数字全部是出现的百
分比:
a 8.2 b 1.5 c 2.8 d 4.3
e 12.7 f 2.2 g 2.0 h 6.1
i 7.0 j 0.2 k 0.8 l 4.0
m 2.4 n 6.7 o 7.5 p 1.9
q 0.1 r 6.0 s 6.3 t 9.1
u 2.8 v 1.0 w 2.4 x 0.2
y 2.0 z 0.1
词频法其实就是计算各个字母在文章中的出现频率,然后大概猜测出明码表,最后验证自己
的推算是否正确。这种方法由于要统计字母出现频率,需要花费时间较长,本人在此不举例
和出题了,有兴趣的话,参考《跳舞的小人》和《金甲虫》。
6
、维热纳尔方阵。
上面所说的频率分析,很容易破解较长篇幅的密文,于是维热纳尔继承前人的经验,创造出
了这个维热纳尔方阵,从而克服了词频分析轻易能够破解密码的弊端,成为一种较为强大的
密码编译形式。
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
1 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 A
2 C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
3 D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
4 E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
5 F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
6 G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
7 H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
8 I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
9 J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
10 K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
11 L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
12 M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
13 N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
14 O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
15 P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
16 Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
17 R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
18 S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
19 T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
20 U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
21 V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
22 W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
23 X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
24 Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
25 Z 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
26 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
以上就是维热纳尔方阵,它由明码表(第一行的字母)、密码表(下面
26
行)和密钥组成,
下面我举个例子说明。
举例:
密钥:
frzy
密码:
qfuc
解:第一个字母,看以
f
开头第五行,对应明码表查找
q
字母所标示的字母为
l
。以此类推
找出后面字母。所得明文为
love
。
这个也不出小题了,只要有密钥,再复杂的密码也能查出来,就是个查表的问题
~
二、一些新兴的密码形式:
1、利用键盘
无论是计算机键盘,还是收集键盘,都是出密码的好工具哦,可以用错位、或者排列形状等。
使用手机键盘和这个同理。另外手机键盘还可以在键盘的字母上做文章,例如你可以用
51
表示字母
j
,用
73
表示字母
r
等。
举例:
r4a6
这个密码利用计算机键盘,将明文字母分别向上移动一个位置,得到密文。破解结果为
frzy
。
852 74123 741236987 426978974123456 7412369
这排数字是不是很晕?其实很简单,对照小键盘,依次打这些字母,看组成的形状就行了。
答案是
I L O V E U
。
课后小题:请破解以下密码
18 29 19 34 13 17
2、字母形状
本人曾经收到过这样一个密码短信,不幸被破解,导致发短信人被我非常严肃地奚落了一
番
!
前面我不记得了,只记得后面是
hep poo6
。这个你可以从手机里打出来,然后把手机倒过来
看,形成了密码的明文,
good day~~~
课后小题:请破解以下密码
AnnAW T2UL
THpin boop YA2
T99W2 A 9VAH
MA37b
二、密码印象
前言:本文是一篇人文性质的文章,并非技术文章。对密码学感兴趣的读者,可以去图书馆
查阅相关的书籍,或者去报考我校密码学权威
——
杨义先教授的研究生。本篇重在宣扬人文
理念,主要讲述了我这些年对密码方面的一些了解和随想,古典的味道比较浓。好了,诸位
看官,我们开始。
Case 1 达·芬奇密码
13-3-2-21-1-1-8-5
O Draconian devil !
(啊,严酷的魔王!)
Oh Lame Saint !
(噢,瘸腿的圣徒!)
这是畅销小说《达
·
芬奇密码》里面出现的第一段密码。在故事中,卢浮宫博物馆馆长被人杀
害,临死前用隐写笔在地上写下了这样一段令人费解的文字,其中隐藏了重要的信息。
主角是如何破译这段密码的呢?他通过分析发现开头的
“13-3-2-21-1-1-8-5”
是解密的关键所
在。将这一串数字从小到大重新排列,得到
“1-1-2-3-5-8-13-21”
,恰好是数学中著名的斐波那
契数列。这就暗示着,谜题中的文字也是经过乱序排列的。于是,经过对文字的重新排序,
主角得到了明文:
Leonardo da Vinci !
(莱昂纳多
·
达
·
芬奇!)
The Mona Lisa !
(蒙娜丽莎!)
故事在这里终于出现了转机,读者从此开始了惊心动魄的密码之旅。真是给人一种茅塞顿开
的感觉。
当然,这只是浩如烟海的密码世界的一个比较典型的例子。下面,就让我们切入正题。
Case 2 密码释义
使用电脑多了的人,听到
“
密码
”
一词总会想到
password
。其实在英语中,主要有两种对密码
的解释。一个就是
password
,还有一个是
code
。后者比较不常用一点,不过程序员(
coder
)
对这个词还是有着比较深的感情的(笑)。
其实
password
和
code
在含义上是有着本质的区别的。对于
password
,我觉得称它为
“
口令
”
似乎更贴切一些。比如
Windows
的开机密码,比如
FTP
的登陆口令,等等。其特征是把输
入的一个字符串与标准答案进行比对,根据其结果来决定是否授予通过的权限。这个比对的
工作是一次性的,而且原理简单。而
code
就不同。对于
code
,主要体现的是
“
翻译
”
的过程,
牵涉到对信息的编码和译码。比如凯撒密钥,比如
RSA
算法,等等。这里面牵涉到很多数学
的东西,比如对字符的分解和重组等。当然,从广义的角度讲,
code
的编码和译码也可以往
数学以外的方面延伸,这又涉及到很多典故,在此按下不表。
本文主要讲述的,基本上是关于
code
的内容。
Case 3 初见密码
20.8.1.14.11/25.15.21/
9/12.15.22.5/25.15.21/
这是我小学二年级第一次接触密码这种事物时,所遇到的一段
code
。当时脑筋急转弯之类
的东西还没有引进到大陆,我是在一本香港出版的智力游戏书籍中发现这个密码的。原文我
忘了,在这里我用相同的加密方式写了一段话。
解密的方法很简单,只要把
a=1
,
b=2
,
… z=26
代入
code
,就可以非常容易地得到明文:
Thank you , I love you .
怎么样,是不是很容易?不过如果将四则运算加入译码(比如让
a=2
等),破译时就有一定
的难度了。
这是一种很典型的古典密码。
Case 4 凯撒密钥
提到古典密码,就不能不提到著名的凯撒密钥。基本上每一本密码学方面的基础教材在提到
古典密码时,都会举出凯撒密钥的例子。凯撒密钥的加密公式是:
c≡ m + k mod 26
凯撒密钥又称为单表代替法。其中
m
为明文的数据,
c
为加密后的数据,而
k
是密钥。
当年凯撒指导军团作战,使用的就是这套密码体系。比如让
a=d
,
b=e
,
c=f……
依此类推。
这在密码史上产生了重要的影响,不能不说是一个经典。
Case 5 珍珠港
还记得电影《珍珠港》中的战火和硝烟么?在日本偷袭珍珠港之前,美国的情报部门破译了
日本的外交电报密码,但是由于当局没有重视,最后还是没能阻止悲剧的发生。
1942
年
4
月和
5
月期间,在美军截获的日军通讯中,有一个
“AF”
名称出现的频率和次数明
显增多,罗奇福特少校领导的情报小组绞尽脑汁,终于在堆积如山的侦抄电文中找到一份日
军偷袭珍珠港时的电报,电文曾提到
“AF”
,说一架日军水上飞机需要在
“AF”
附近的一个小珊
瑚岛上加油。因此罗奇福特推断,
“AF”
只能是指中途岛。为进一步证实这一推断的准确性,
驻中途岛上美军奉命用浅显的明码拍发了一份作为诱饵的无线电报,谎称中途岛上的淡水设
备发生了故障。果然不久,美军截获一份日军密电,电文中说:
AF
可能缺少淡水。一切立时
真相大白了。罗奇福特小组以此为突破口,一下子破译了反映日军舰队作战计划的所有通讯。
这样,尼米兹不仅清楚掌握了日军夺取中途岛的战略企图,而且还查明了其参战兵力、数量、
进攻路线和作战时间,甚至连对方各舰长的名子都了如指掌。(注:这段文字摘自网络)
日军当时使用的密码体系代号为
JN25
,比较复杂。但是美军破译这个密码的手法却是一种
非常经典的解密技术。其基本方法是,直接分析密文,根据字符出现的频率分布逆推出密码
表。比如研究证明,英语文章里面
26
个字母的出现频率总是固定的,于是我们就可以根据
统计得来的数据解析出原始的密码表。因此,单纯以字母替换为基础的密码体系是非常脆弱
的,可以说是形同虚设。
Case 6 电影中的密码
与间谍或侦探有关的电影中,总会出现各种各样的密码。随着电影的发展,以电脑叛客为题
材的科幻电影就更是将这一点发挥到了极致。
在电影中,似乎
password
的出现次数比
code
要多得多。在警匪片中,经常会有敌方的黑客
在笔记本电脑上开着算号器破解密码的场面出现。比如《对抗性游戏》里,罪犯甚至可以通
过破解旅馆电脑系统的密码来锁住所有房间的门。需要指出的是,电影里黑客所使用电脑的
界面往往都非常的人性化,要么是画面华丽精美,要么可以识别自然语言。不知导演是怎么
想的。嗬嗬,这是题外话
:-p
。
至于电影中的
code
,给我印象比较深的是《神秘拼图》等。这里面的
code
与通常的
code
不
同。因为要考虑到观众的理解能力,电影中的
code
的密钥往往与一些典故有关,比如在一
本书里(比如圣经),或者在一幅画中。这些因素总是使得悬疑的情节散发出浓厚的人文气
息。有时候,电影中的
code
干脆就以字谜或画谜的形式出现,这就是我在前面提到的,在
数学以外领域的延伸,本质上是一种隐喻。
当然,不仅仅是电影,在小说、游戏等其他艺术领域,密码也经常出现,并且总是能成为推
动情节发展的关键动力。比如《达
·
芬奇密码》,比如福尔摩斯的一些探案故事。
Case 7 The RING
如果提到恐怖小说,不能不提到《午夜凶铃》。这也是我唯一完整读完的长篇恐怖小说。《午
夜凶铃》是日本著名小说家铃木光司的作品,共有四部。其情节我就不再赘述了。需要指出
的是,在小说的第二部《凶铃再现》中,作者以相当的篇幅描写了一种基于
DNA
的极度匪
夷所思的密码。
大致的情节是:午夜凶铃的受害者由于受到怨念的影响,体内的基因产生突变。经过染色体
的变异,四个碱基
A
,
G
,
T
,
C
(腺嘌呤、鸟嘌呤、胸腺嘧啶、胞嘧啶)经过组合竟然表达
出了非同一般的信息。这种以染色体碱基序列作为加密载体的方式,我还真是闻所未闻。不
禁对铃木光司那天马行空般的想象力感到深深的佩服。
Case 8 生命之歌
中国著名科幻小说作家王晋康曾经写过一部非常经典的小说《生命之歌》,也是关于
DNA
密
码的。当时曾经引发了科幻界的大讨论,给我印象很深刻。
故事提出的假设是,既然
DNA
包含了生命的密码,那么机器如果洞悉了其中的奥秘,会不
会发展成足以和人类竞争的生命形式呢?小说里面还加入了音乐的要素,即把
DNA
的序列
编制成了旋律,即生命之歌。这个是有一定科学依据的。因为历史上确实有过把
DNA
序列
谱写成音乐的先例(好像是个日本的演奏家,具体的我给忘了)。
这似乎又是一个隐喻。抑或是,讽刺?
Case 9 密写术
这个话题似乎跟密码没什么关系。但是因为实在很有趣,我就写下来了。
所谓密写,就是用特殊的方式写信息,然后只能用特殊的方式才能看到。记得中学语文里有
一篇关于鲁迅的课文,提到一种用米汤进行的密写方式。即用毛笔或手指蘸着米汤写字,只
有纸张浸水后才能看到。后来看了一些影视作品,经常出现的场面是一张羊皮纸在熊熊的火
中现出字迹。最夸张的是漫画《城市猎人》中有一节,居然是在镜子的背面进行密写,然后
将镜子反光在墙上投影,从中就会显现出字样。
下面介绍一种非常简单的密写方法。首先,准备两张白纸和一盆水。将其中的一张白纸在盆
内浸湿,铺开在桌面,摊平。将另外一张干燥的白纸覆盖在湿的那张纸上,然后在其上书写
文字。写完后,将干燥的纸张拿走,毁掉,然后把那张浸湿的纸晒干。好了,晒干后的那张
纸看上去将仍然是一张白纸,可是一旦浸湿,就会显现出字样。密写成功。
这个方法我在初中玩过多次,屡试不爽。
Case 10 矩阵博士
差点忘了,谈论密码就不能不提到一位美国人,大名鼎鼎的矩阵博士。他的真名我忘了,不
过他在美国应该是家喻户晓。《科学美国人》杂志曾经对他做过长期的采访。矩阵博士的职
业是
“
数学巫师
”
,就是通过数学来搞一些玄学的东西,比如算命等等。此人数学天赋极高,
可惜没有用在正道上。《科学美国人》对他的专访也是揭露了很多他的骗术。比如,他使用
一个环形的字母表来给人测字,或是对人梦中出现的数字给予玄妙的解释(举例:有个人梦
中经常出现
7734
这个数,矩阵博士给它倒过来写,结果变成了
hell
,即地狱)。他可以通过
一美元纸币的隐喻预测肯尼迪的被刺。他甚至宣称开发出了可以写诗的电脑程序。他还曾因
为非法变造美元货币(通过特殊的裁剪粘贴使得
14
张
20
美元纸币变为
15
张)而遭到通缉。
最后他的数学
“
天才
”
终于引起了当局的注意,被招安到了中央情报局,从事密码方面的研
究。
《科学美国人》的专栏作家马丁
·
加德纳为此曾经专门写过一本书,介绍阵图博士的把戏。我
看的是
80
年代的中译本,取名居然叫《科学算命之谜》,现在的译本改为《矩阵博士的魔法
数》,有兴趣的读者不妨找来一读。
Case 11 圣经密码
上个世纪在西方世界闹得沸沸扬扬的一本书《圣经密码》,将密码的故事推演到了极致。此
书可能是因为意识形态的原因在大陆没有出版,因此我只能读到盗版的台译本。
90
年代,美国《华盛顿邮报》记者德罗斯宁出版了一本叫作《圣经密码》的书,记述了有关
圣经密码的破译方法,及密码对过去一些重大历史事件的印证和对未来世界的耸人听闻的预
测。圣经密码的发现者在
1994
年预测拉宾遇刺,结果
1995
年悲剧果然发生了。当时在全世
界引发了轰动,也引发了科学界与宗教界的激烈辩论。所谓圣经密码,就是采取均衡间字法可以发现圣经中隐藏的信息,即“
上帝的启示
”
。研究人 员首先将原版希伯莱文的《圣经》旧约输入计算机,去掉所有的标点,使之成为一整篇由 344805 个希伯莱文字母组成的文字,然后运用均衡间字法对整篇经文进行搜寻,结果获得
惊人的发现。神奇的圣经密码不仅印证了许多重大的历史事件,甚至似乎还可以预测未来世
界。比如,使用计算机对圣经密码进行分析,搜索
“
第二次世界大战
”
,可以找到
“
希特勒
”
的
名字,而且周围还环绕着诸如
“
纳粹
”
、
“
屠杀
”
等字眼。让人感觉十分的匪夷所思。 这真的是来自上帝的启示吗?《圣经密码》一出版就招致了各方面的异议和指责,至今仍然是科学界与宗教界备受争议的话题。不过历史最后必将作出公正的判断。 今年年初,《圣经密码 2
》终于出版,我不由期待中文版的面世。当然,大陆的正版看来是没有指望了(笑)。
Case 12 一道题目
12.6.7.9.19.23.9.12/9.20/3.16.17.15/
9.21/9.20/20.9.22.23.12/
文章的结尾给大家出一道题目。请破译上面的两行密码。这是前面提到的古典密码的一个强
化版本,有兴趣的朋友可以试试身手。由于密码的原理很简单,我就不给提示了。
摩尔斯电码定义了包括:英文字母
A-Z
(无大小写区分)十进制数字
0-9
,以及
“
?
”“/”“
()
”“
-
”“
.
”
很适合英语的通信。至今仍有很多地方在使用。在业余无线电通信中,
他是全世界运用统一的电码。下面列出的是基本码表:
字母
数字
标点符号
非英文字符
特殊符号
在推理小说中,密码是非常常见的东西,其中经常使用的、也是最为简单的就是摩斯密码了,
这里提供一些相关资料,希望有所帮助。
电报通信的语言是由电码符号组成的。电报通信最早是由美国的摩尔斯在 1844年
发明的,所以电码符号也被叫做摩尔斯电码(
Morse code
)。电码 符号由两种基本信号和不
同的间隔时间组成:短促的点信号
“
.
”
,读
“
的
”
(
Di
);保持一定时间的长信号
“─”
,读
“
答
─”
(
Da
)。
在早期战时电报通信中应用广泛,相信大家在很多战争片中都看到过吧?通讯员对着发
报机按个不停,其实是根据一定的规则将发报机的“撞针”与“针板”(这两个都是形象用
词)进行接触,从而产生或长或短的电信号。接受方的发报机会将这种电信号翻译成为声音
信号比如上面的
DIDA
。而操作员根据声音转换成密码图形,对照密码表在翻译成文字。而
发报者所进行的就是反操作。由于一定程度上属于一种密码,所以如果不知道摩尔斯电码表
的人是不能明白其中的意思的。
其他介绍:
摩尔斯电码(英语:
Morse code
)是一种时通时断的信号代码,通过不同的排列顺序来
表达不同的英文字母、数字和标点符号。是由美国人艾尔菲德
·
维尔(
Alfred Lewis Vail
)与萨
缪尔
·
摩尔斯(
Samuel Finley Breese Morse
)在
1836
年发明。
摩尔斯电码是一种早期的数字化通信形式,但是它不同于现代只使用
0
和
1
两种状态的二
进制代码,它的代码包括五种:
1.
点(
.
)
2.
划(
-
)
3.
每个字符间短的停顿(在点和划之间的停顿)
4.
每个词之间中等的停顿
5.
以及句子之间长的停顿
摩尔斯电码字母与数字对应表:
例如:
原文本:
I LOVE YOU TOO
加密后:
../.-../---/...-/./-.--/---/..-/-/---/---