《密码——智慧长河里的明珠》

古典密码(一)

33
3202
2

古典密码

1.1国外密码的起源

1.1.1古埃及

人类文明刚刚形成的公元前2000年,作为四大文明古国之一的古埃及就有了密码的影子。贵族克努姆霍特普二世的墓碑上有一段不同于我们已知的埃及象形文字的“字符”,根据以往的经验推测,这段“字符”应该是记载了在阿梅连希第二法老王朝供职期间,克努姆霍特普二世所建立的功勋。通过研究发现,这些“字符”实际上是由一位擅长书写的人,将普通的象形文字变形处理之后,铭刻于墓碑上的。经过处理的文字,巧妙地将信息进行了隐藏,所以从本质上来讲,这也是一种“密码”人。们推测,这是为了赋予铭文以庄严和权威,才将文字进行“加密”。可惜的是,这种具体的演化方式已经失传,现如今我们也无法还原当时人们这种巧妙的智慧了。Image title

1.1.2古希腊

scytale密码

公元前400年,斯巴达人发明了“塞塔式密码”。他们把长条纸螺旋形地斜绕在一个多棱棒上,让纸条被多棱棒分割成一个个的类似格子一样的区域,沿着这个区域,将文字沿棒的水平方向从左到右书写,写一个字旋转一下,换一个区域。写完一行再另起一行从左到右写,这样一来,本来是完整通顺的一句话,就被机械地分割开了。将信息写完后,解下来的纸条上的文字消息杂乱无章、无法理解,这就将原来的信息转换成了密文。只把展开后的纸条传递出去,只有解密人将纸条绕在另一个同等尺寸的多棱棒上后,才能看到原始的消息。

这种加密的方式只与加密工具有关,即多棱棒的尺寸决定了译文的准确程度。其实,上述过程中的多棱棒也可用木棍代替:将纸条缠在一根粗细均匀的木棍上,沿着木棍的长径书写文字,这样文字信息便被间隔开了。将纸条解下后,解密人需要找到一根粗细相同的木棍才能破译信息。相比较于“多棱棒”式的加密方式,这种“木棍”式似乎更容易理解。

所谓栅栏密码,就是把要加密的明文分成N个一组,然后把每组的第1个字连起来,形成一段无规律的话。 Image title

例如:YOU ARE BEAUTIFUL 将这么一句话用栅栏密码的方式加密时,首先将三个单词之间的空格去掉,变成:YOUAREBEAUTIFUI。再将这一段话的字母两两分组:YO UA RE BE AU TI FU I。再将每组的第一个字母和第二个字母单独拿出来,变成两组:YURBATFI OAEEUIU。这样一来,加密就完成啦。在解密的时候,需要将这两段字母分开,将前后两段交叉着拼在一起,形似栅栏一般,所以称之为“栅栏密码”。

在最开始的时候,“栅栏密码”仅仅适用于英文字母,而在这种方法传入中国以后,同样“入乡随俗”,应用在了汉语的拼音上。同时,栅栏密码的变换方式还是非常多的。比如,将原来信息的字母分成每三个一组,或是将第二个字母组成的一大组字母放在第一组的前面,这样信息相当于被进一步加密了。

“塞塔式密码”与“栅栏密码”虽然都属于比较简单比较古典的密码,但解密起来也是十分困难的,尤其是对于没有学习过这方面知识的人来说,面对一团杂乱无章的字母,通常都是一头雾水。

1.1.3古罗马

八世纪,罗马教徒为了传播新教,创立了“圣经密码”。

可能有的小伙伴已经听说过“圣经密码”,它其中解密出的好多事件一一被证实,为它戴上了一件恐怖与神秘的面纱。“圣经密码”也因此广为人知。Image title

“圣经密码”的原理是:从圣经第一字母开始,找寻一种可能跳跃序列,从1、2、3 个字母,依序到跳过数千个字母,看能拼出什么字,然后再从第2个字母开始,周而复始。一直到圣经最后一个字母。这种方法看似有些笨拙,但在好多密码被找出后,我们才发觉,圣经中居然隐藏了这么多信息。同时,这些信息居然还能完美地隐藏在一本完整的著作里,更是让人瞠目结舌。随着人们的不断探究,破译《圣经》的历程也在不断推进,众多历史事件被一一验证,不管是巧合还是其他神秘的原因,“圣经密码”是一件值得我们去探究的新领域。

1.1.4经典西方古典密码举例

中世纪末,西班牙的青年男女为摆脱封建阶级制度的束缚,追求平等自由的恋爱,采取了种种密信的通信方式,产生了各种原始密码;公元8~9世纪,阿拉伯人发明密码分析,以用来破译密码。随着文明的进步,密码在各个地区有了萌芽的态势,由此引发出的一系列加密以及读码的方法也层出不穷。在介绍密码的历史的同时,我更希望能够通过介绍几个著名的典例,来激起大家的学习兴趣。因此,下面是我选出具体讲述的几个经典的原始密码。

1.1.4.1猪舍密码

猪舍密码已流传百年,它将26个英文字母放到固定的格子中,进而以格子的形状来代替字母。这就相当于上面的古埃及密码一般,只是通过了一个具体的规则,将文字变形加密了。实例图如下。

Image title

Image title

从上面的图形来看,“猪舍密码”通过使用一种特定的图形将文字具象化,用图形来代替字母。在加密信息的时候,如果解密人不知道各个图形所代表的意思,读码的时候便会异常困难。

例如,若要表示字母T,便可用“>”表示。上述图二所表达的信息分别是:x marks The spot。这样一来,上面乱七八糟的一串图形,是不是就变得十分明了了呢?

但另一方面,由于这种加密方法太过经典,已经广为人知;而且图形的变化单一,导致加密的程度较浅,这种密码已不常用了。

1.1.4.2棋盘密码

棋盘密码是一种比较古老而且容易应用的一种加密信息的方式。使用棋盘密码进行加密时,首先将26个字母填入一个表格中,再给这个表格添上横列竖列的编号。就如同在一个坐标中一样,给某一个点加上横纵坐标,就可以直接用坐标的数字代替这个点(字母)了。

例如,“a”的编号为“1,1”,则“b”的编号就是“1,2”。如果我们要将以下信息加密:

明文:battle on Sunday

密文:121144443115034330434533141154

其中0代表空格。

1.1.4.3凯撒(Ceasar)密码

据说在罗马帝国时期,凯撒大帝曾经设计过一种简单的位移密码,用于战时通讯。这种加密的方式就是将明文的字母按照字母表的顺序,往后依次地推相同位数的字母,用后来得到的字母代替原来信息中的,就可以得到加密的密文了。而解密的过程正好和加密的过程相反。

例如,将battle on Sunday 中各个字母往后推五个字母,就变成了:wvoogz gi Npivt

由于这种加密方式是将每个字母往后推几个字符,所以这种方式也被成为“凯撒位移”。

1.1.4.4圆盘密码

时代不断发展,人们对凯撒密码进一步改善后发现:将字母按照不同的顺序进行移动就可以提高破解的难度,增加信息的保密程度。这种加密的方式类似于前面提到的“圣经密码”,破解的关键是找出每一个位移之间的规律。比如说,第一个字母要向后推一个字符,第二个字母要向后推两个字符,第三个字母要推三个……,那么它们之间的规律便是n(n代表这个字母在信息中的位置)。

15世纪佛罗伦萨人Alberti发明圆盘密码就是这种典型的利用单表置换的方法加密的方法。其中的“规律”便体现在了两个圆盘之间的半径大小中。

如图在两个同心圆盘上,内盘按不同(杂乱)的顺序填好字母或数字,而外盘按照一定顺序填好字母或数字,转动圆盘就可以找到字母的置换方法,很方便的进行信息的加密与解密。Image title

凯撒密码与圆盘密码本质都是一样的,都属于单表置换。所谓单表即一个明文字母对应的密文字母是确定的,截获者可以分析对字母出现的频率,对密码体制进行有效的攻击。与单表置换相对应的是多表置换。相对单表代换来说,多表代换密码的破译要难得多。多表代换密码又分为非周期多表代换密码和周期多表代换密码。非周期多表代换密码,对每个明文字母都采用不同的代换表(或密钥),称作一次一密密码,这是一种在理论上唯一不可破的密码。这种密码可以完全隐蔽明文的特点,但由于需要的密钥量和明文消息长度相同而难于广泛使用。为了减少密钥量,在实际应用当中多采用周期多表代换密码。

Alberti的圆盘理论是古典密码学的主要代表之一, 在粘土圆盘的表面刻上带有空格的字母, 成为人类最初的加密方式, 这种方式至今还无人能破解。

1.1.4.5将字母重新排序

此种加密的方法即是将我们要传达的信息填到特定的表格中,再按照表格竖行的顺序将字母发出。首先,将要表达的信息写出来,去掉每个单词间的空格,这时候一句话就变成了一串字母;接下来,将这些字母依次填到一个设定好了的表格中,例如下表(5*9)的表格;然后,将含有信息的那串数字从表格的第一行开始从左到右填入,这样信息就会变得杂乱无章了;当然,我们在发送信息的时候绝对不能将表格直接发出去,因为此时加密的程度实在太小,而且稍微仔细研究就能发现信息。怎么办呢?这种方法的关键就是利用一个规则的表格,将信息“不规则化”。经过表格信息的填入,我们不难发现每一列里的字母都会有一定的排列了。此时,我们再将表格中的字母按照列的顺序抄下来,排成一组组杂乱无章的字母,再将这几组字母发出去,便完成了信息的加密。

例如,信息的内容是:Iwill see you in Lincoln park tomorrow afternoon将这段文字输入下面的表格

I

W

I

L

L

S

E

E

Y

O

U

I

N

L

I

N

C

O

L

N

P

A

R

K

T

O

M

O

R

R

O

W

A

F

T

E

R

N

O

O

N

那么下一步发送出去的内容即变成了 ISUNP OOENW EICAM WRIEN OROAN LYLLK RFOLO INTRT O 看到这串密文,不知道你是什么感想呢?是不是和原来的信息相比,如同脱胎换骨了一般呢?接收信息的人在收到这串密文之后,只需画出一个一样规格的表格,再将密文竖着填进去,再横向读出来,便可以轻而易举地得到信息了;而对于不知道表格规格的人来说,这封密文便像天书一般。从这个小小的加密方式中我们就可以深刻地体会先人们的智慧了。

1.1.4.6关键词存在的加密方式

关键词,是加密和解密过程中至关重要的一个部分。

什么是关键词?关键词就如同1.1.4.2中加密时所用的表格规规格。所有的解密过程都是围绕关键词展开、或是由关键词开启的。它可能是解密的依据(如同上述表格),也可能是解密的规则(如下所述)。

还是1.1.4.5的加密方式,但是我们这次引入了一个关键词:medicinal。接下来,我们为这个单词中各个字母按字母表顺序进行编号:843526917(例如,a这个字母在26英文字母表中排在第一位上,那么它的标号就为1,b的编号为2,c的编号为3…以此类推,如果有重复的就以第一个保留,后面的舍弃),共九个数字。所以我们列出一个有九列的表格,第一行为关键词转译过来的编号,将上述信息从第二行开始从左至右依次填入。得到如下表格:

8

4

3

5

2

6

9

1

7

I

W

I

L

L

S

E

E

Y

O

U

I

N

L

I

N

C

O

L

N

P

A

R

K

T

O

M

O

R

R

O

W

A

F

T

E

R

N

O

O

N

接下来就是体现关键词作用的步骤了。按照第一行数字的顺序(1.2.3.4.5.6.7.8.9),将一列一列的字母写出。例如上表中,编号1下方一列的字母为ECOT,编号2下方的字母为LLRWN……这样再将所有的字母写出,便会得到一串更加混乱的字母:ECOTLLRWNIIPROWUNRNLNAOOSIKAYOMEIOLORENTF 再将这串字母五个一组发出:

ECOTL LRWNI IPROW UNRNL NAOOS IKAYO MEIOL ORENT F

便完成了这次加密。

这样的加密方式看起来更加保险,因为在表格的基础上,从左到右的读码顺序又被关键词进一步加密了。关键词的不确定性将此种方法的加密程度又推上了一个台阶。但随之而来还有一个新的问题:关键词如何被传递到信息接收者的手里?这个问题的出现就可能引出:关键词被加密,将关键词解密后还要经过第二次解密的过程才能得到信息的情况。

1.1.4.7反破译的加密方式

译码人在破译密码时最常用的方法是频率分析法。所谓频率分析法,便是指译码人在看到一串加密后的文字时,首先会根据一些字符出现的频率,来推测其在加密前代表的含义。例如,我们在加密后用“1”这个数字代表了“a”,用“5”这个数字代表了“e”,那么按照英文中各个字母出现的频率,“e”是频率最高的字母,所以密文中“5”的出现频率也是最高的。这时译码人可能就会将“5”代表“e”这一条信息猜出,甚至进而得出所有信息的加密方式。这便是频率分析法。

因此,我们在保证信息安全时,可以通过一些手段给译码人制造一些假象,破坏频率分析法。例如,可以用多个符号来代替常用的字母,还可以加入一些没有意义的符号作为空符。具体的做法是在关键词的后面再加上几个其它的符号,然后将剩下的字母移到常用字母(a,e,o,t)的下一行对应处。例如下表中,第一行是26英文字母表中各个字母的顺序,第二行以GODTIME作为关键词将其依次填入前7个格子中;因为a、e、o、t是四个字母,所以GODTIME后面加入1.2.3.4四个数字作为补充。填完这些后,第二行剩余的空格以F开头(GODTIME的最后一个字母是E,E的后面一个字母是F),按照英文字母表的顺序填完剩余的空格(注意将关键词中出现的字母去掉,第二行不要出现重复的字母)。第二行完成以后,因为其中填入了四个数字所以便剩余Z、A、B、C四个字母没被填过,所以便将它们放在第三行中分别对应第一行a、e、o、t的地方。

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

G

O

D

T

I

M

E

1

2

3

4

F

H

J

K

L

N

P

Q

R

S

U

V

W

X

Y

Z

A

B

C

这样一来,常用词的对应密码变成了两个,例如我们在表达“THE”这个单词时就可以有四种表现方式了“R1I”、“R1A”、“C1I”、“C1A”。这就大大提高了破译密码的难度。

虽说此种方式可以在一定程度上扰乱译码人的视听,但是译码人还是可以通过经常出现的且连在一起的两个字母,或是连在一起的重复字母而有所发现。那么,有没有一种方法可以用两个乃至多个字母来代表信息中的字母呢?由此想法,我们的先人们想出了将多个字母表结合到一起进行加密的方法。

1.1.4.8维吉尼亚密码

为了提高密码的破译的难度,人们发明了一种多表置换的密码,像上面1.1.4.4里面所提到的那样,多表置换使加密的程度更加复杂,即一个明文字母可以表示为多个密文字母。多表密码加密算法结果将使得对单表置换用的简单频率分析方法失效,其中维吉尼亚密码就是一种典型的加密方法。

人们在单一凯撒密码的基础上扩展出多表密码,称为“维吉尼亚”密码。该方法最早记录在吉奥万?巴蒂斯塔?贝拉索吉奥万( Giovan Battista Bellaso)于1553年所著的书《吉奥万·巴蒂斯塔·贝拉索先生的密码》里。

维吉尼亚密码是使用一个词组(语句)作为密钥(关键词又称密钥),词组中每一个字母都作为移位替换密码密钥确定一个替换表。维吉尼亚密码循环的使用每一个替换表完成明文字母到密文字母的变换,最后所得到的密文字母序列即为加密得到的密文。

下图便是维吉那正方形:

K

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

A

B

C

D

E

F

G

H

I

G

K

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

M

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

A

B

C

D

E

F

G

H

I

J

评委点评 评语汇总
匿名 2018-01-25 15:13

非常有意思的一篇科普文章,图文并茂,让人清楚的了解了密码的前世今生。而且行文非常流畅,文字内容易懂,非常有意思,没有枯燥乏味之感。把科普的内容传达到了,很不错。

匿名 2018-01-08 22:20

本文非常全面、系统地介绍了古今中外密码发展的历程,许多内容写得生动有趣,特别是采用比喻手法来写,读起来趣味盎然,引人入胜。由于过于追求全面系统,内容显得庞杂,主线不够清晰,在一定程度上影响阅读和记忆的效果。

匿名 2018-01-08 19:47

密码一文,洋洋洒洒,古今中外,涉猎深广,生活工作,无不存在,小小密码,学问真大!

匿名 2018-01-08 19:29

作者掌握了很多这方面的知识,表达也是通畅有余,考虑到密码及其解释很不易,所以这一点很难得。也让我长了不少知识。可以进一步提升的是:如能在思想性和逻辑关联性上能再强一点,就更好。因为加密和破译是一对永恒的矛盾,永远在此消彼长中提升和进步中。

目录(共6章)

投票需在微信中进行!

请在微信中访问本页面!