每个人都会有自己的秘密。在人类文明不断向前发展的过程中,每个个体都会越来越注重对自己秘密的守护。从最开始的将物品隐藏,到后来伴随文字发展而出现的密码,再到后来计算机密码的出现与普及,密码的一步步发展像一串活泼的音符跳跃在人类文明的五线谱上,那些里程碑式的著名加密方法与机器,更是散发着先人智慧的光芒。如今,我们的生活已离不开密码,例如与我们个人利益息息相关的银行卡密码、社交账号密码等等。人们使用密码来守护自己的秘密,防止信息被他人利用。但密码的样子可不是只一串小黑点,密码家族成员的形态可谓是千变万化,而当我们了解它们的产生过程后,定会赞叹设计者超人的智慧。
一、密码的由来
据史料记载,最早的密码出现在希腊。公元前404年,斯巴达国(今希腊)的信使为掩敌人耳目,将情报写在皮带上送给了北路军司令莱山得,使自己的部队脱离了险境。公元四世纪,希腊开始出现隐藏书信内容的初级密码;八世纪,罗马教徒为了传播新教,创立了“圣经密码”。中世纪末,西班牙的青年男女为摆脱封建阶级制度的束缚,追求平等自由的恋爱,采取了种种密信的通信方式,产生了各种原始密码。
公元8~9世纪,阿拉伯人发明密码分析,以用来破译密码。19世纪,无线电密码出现,密码通讯已十分发达。时至今日,密码技术更趋完善。
二、代码还是密码
“代码”一词仿佛也经常出现在我们的生活中,可是你有没有思考过,“代码”和“密码”到底有什么不同呢?从广义上来讲,代码和密码都是指“密码”,只是它们对于信息的加工方式不同。代码通常是由其它的词或字母代替原来的词,而密码则是用符号代替单个的字母或声音,也可以改变字母的顺序。下面让我们通过几个例子来具体解释一下。
假如一位特工想向自己的组织发送一份秘密情报,他会怎么做呢?
他可以将要发送的文字隐藏在一大段无关紧要的文字中,再告诉要破译的人阅读这段文字的正确方法;他也可以将这段信息转化为旗语、火光的闪烁等等,以另一种感知形态将信息传递出去。以上的几种方式就是加密的过程,呈现出的信息便是“密码”。
他也可以将要发送的文字用一些其它的词代替,比如,用“毛毛虫”代替“可乐”,“杨柳”代替“二月的风”等等,以特工与组织之前约定好的代替规则来将这些信息“加码”,这样所展现出来的形态便是代码了。
那从破译的角度来说,是不是代码比密码更容易被识破呢?在一般情况下,密码比代码更加隐秘一些,不仔细观察的话难以发觉。代码所展现出来的只是一段杂乱无章的文字,仿佛直接告诉别人:这一段奇怪的文字里面有特殊的信息。但在破译的难度上来讲,如果我们不知道代码的加码方式,即使知道里面有特殊的信息,我们也是无能为力。例如以前土匪了寨间常用的黑话便是代码的一种应用。我们在看这些奇怪的语句时,如果没有熟悉它们的人帮忙做翻译的话,和在听一种国外的语言没什么两样。
三、信息的隐藏
(1)让文字“隐身”:转换信息载体
为避免文字被别人直接看到,人们通常会使用“隐形墨水”来书写信息。隐形墨水的材料非常简单,只是普通的柠檬汁和醋。用这种墨水写出的字在纸张干燥的情况下不易被看到,湿润后则显而易见。
还有一种方法便是将重要的信息隐藏在大量无关的信息中,最常见的便是藏头诗了。比如在小说《水浒传》中,梁山好汉为了拉卢俊义入伙,吴用和宋江便生出一段“吴用智赚玉麒麟”的故事来。他们利用卢俊义为了躲避“血光之灾”的恐慌心理,编了四句卦歌:“芦花丛中一扁舟,俊杰俄从此地游。义士若能知此理,反躬难逃可无忧。”将每一句的第一个字连在一起便是“卢俊义反”四字。依照此例,关键字也可以是每句话的第二、三字。当此种书信不易书写时,也可直接将关键字做标注,比如在关键字下扎一个小孔,读信人迎着太阳光便可知道信息。
(2)给信息加密:那些经典的密码
1.猪舍密码:
猪舍密码已流传百年,它将26个英文字母放到固定的格子中,进而以格子的形状来代替字母。具体实例如插图。
例如,若要表示字母T,便可用“>”表示。上述图二所表达的信息分别是:x marks
The spot
由于太过经典,这种密码已不常用了。
2.将字母重新排序
此种加密的方法即是将我们要传达的信息填到特定的表格中,再按照表格竖行的顺序将字母发出。例如,信息的内容是:I will 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 如此一来我们便完成了对信息的一次加密。
3.关键词存在的加密方式
以medicinal为关键词,则在这个单词中将各个字母按字母表顺序编号:843526917,共九个数字,所以我们列出一个有九列的表格,第一行为关键词的数字,还是将上述信息填入。
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
然而,当我们发送信息时则按照第一行数字的顺序,将各列字母列出:ECOTLLRWNIIPROWUNRNLNAOOSIKAYOMEIOLORENTF 再将这串字母五个一组发出:
ECOTL LRWNI IPROW UNRNL NAOOS IKAYO MEIOL ORENT F即完成加密。
也可在关键词存在的条件下将字母重新排序。例如,我们选择goodtime为关键词,将其列在密码表的开头位置。如关键词中有重复的字母,即次关键词中的o,则将其省略掉其中一个。然后从关键词的最后一个字母开始,完成字母表剩余的部分。具体如下表:
a b c d e f g h i g k l m n o p q r s t u v w x y z
G O D T I M E F H J K L N P Q R S U V W X Y Z A B C
这样我们就完成了一份密码表。需要注意的是,密码表的第二行不能有重复的字母。用此种方法进行加密,虽说关键词使信息被破解的可能性大大降低,但人们通常可以通过一般情况下字母出现的概率来推测密码表的结构。例如统计发现,文章中出现概率最高的字母为“e”,这便是破译的一条线索。但整片文章中不出现字母“e”的可能性也是有的。
4.欺骗译码人
从上面的例子来看,译码人在破译密码时最常用的方法是频率分析法。所以我们在保证信息安全时,可以通过一些手段给译码人制造一些假象,破坏频率分析法。例如,用多个符号来代替常用的字母,还可以加入一些没有意义的符号作为空符。具体的做法是在关键词的后面再加上几个其它的符号,然后将剩下的字母移到常用字母(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”。这就大大提高了破译密码的难度。
虽说此种方式可以在一定程度上扰乱译码人的视听,但是译码人还是可以通过经常出现的且连在一起的两个字母,或是连在一起的重复字母而有所发现。那么,有没有一种方法可以用两个乃至多个字母来代表信息中的字母呢?由此想法,我们的先人们想出了将多个字母表结合到一起进行加密的方法。最著名的一种方法应该算是16世纪后半期出现的维吉那正方形:
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 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
实际上,字母表很简单,就是将26个字母写成一个正方形,依次用了26种凯撒移位。而它的复杂之处就在于每个密码字母都可能代表26个原始字母,所以很难破译。
现在,我们来看一下如何使用这种密码。
首先,我们还是需要一个关键词。还以MEDICINCAL为关键词,I will see you in Lincoln park tomorrow afternoon为信息。我们需要将关键词重复的写在信息的上方:
MEDICINALMEDICINALMEDICINALMEDICINALMEDIC
iwillseeyouinlincolnparktomorrowafternoon
下面我们开始对信息进行加密。信息的第一个字母为i,它所对应的关键词字母是M,那么我们在维吉那正方形中的最左边一列中找到“M”,然后在它所在的横行中找到与“i”对应的字母“V”。所以加密后的第一个字母为“V”。依次类推,将信息中的字母全部替代掉,就可以得到一封完整的密码信了。从加密的方式来看,关键词越长,加密的复杂性越高。同时,如果我们将关键词进行二次加密,则破译难度将会更大。
看过了以上几个典型的加密方式,你是否感到惊叹与神奇?也许在学习了这些方法之后,我们可以轻松的加密自己的信息,可是如果给我们一封杂乱无章的密码信,我们是否又能在千千万万的加密方法中找到正确的那个并且准确的破译呢?想想就会让人头大吧……如果你想要真正掌握这些加密与解密的方法的话,最有效的办法便是注重在实际生活中对这些方法的使用。当你真正可以熟练的运用它们,它们才能算是真正为你所用了。
此外,以上所介绍的几种方法现在也很少有人使用了,一方面是由于方法陈旧、太多人知晓了,另一方面,更多更新鲜实用巧妙的方法在不断的被发明出来,先前的方法被逐渐淘汰。密码的发展展现出了欣欣向荣的前景。
四、保密的机器
用来加密或破译密码的机器可以帮助编码人或译码人减轻工作上的负担。任何机器的发展都是由简单到复杂的,最早的保密机器只是一根木棍。斯巴达人首先将羊皮纸缠在一根木棍上,再沿着木棍写上信息。在羊皮纸上加上其它无用信息后,展开的羊皮纸上杂乱无章,信息就会被隐藏起来。读信人只有用同样粗细的木棍才能将信息再次显示出来。
在15世纪,编码人利昂?巴提斯塔?爱波提,他首先提出了用多字母进行编码,发明的机器也与多字母表编码有关。此机器由两个圆形的铜盘组成,一大一小,小的铜盘可以转动。大圆盘的边缘写着普通的字母,而小盘边缘则写着密码字母表的符号。通过旋转小盘,我们就可以得到26种不同的密码字母表。
18世纪90年代,杰弗逊又发明了一种更为方便的密码轮。这种密码轮由26个转盘组成,每个转盘的边缘都写有全部的26个字母,但是字母的排列顺序是各不相同的。当你要发送信息时,在第一个转盘上依次转动到相应的字母上,在26个转盘上会显示26个不同的字母。此时你只需要选择其中一个转盘上的字母为加密后的信息发送出去,收信者只需用同样的机器便可得出原信息。
随着技术的进步,保密机器经历机械化、电气化,演化出众多十分精巧的形式。我们在影视中常看到的电报便将密码生成的过程大大简化,为情报的传递提供了极大的便利。回到现在,计算机密码则在此基础上有了更大更复杂的发展。计算机可通过ASCII系统将所有的字母转化成二进制的数字,再通过编码软件将其转换成极其复杂的密码。此过程虽然计算量大,但利用计算机极高的计算速度,已成为人们生活中普遍使用的加密方法。
由上述可见,我们印象中的那串黑点是密码文化发展到今日的便捷产物,密码的产生和发展标示着人类智慧的进步,同时也是需要我们去传承的文化遗产。而在我们自小至大的成长过程中,与密码有关的知识我们可能只有在课外科普与侦探小说中才能了解的到,很多人并没有这方面的知识储备。在我看来,青少年了解密码的加密与解密的方法,不仅可以开阔视野,更重要的是在这个学习的过程中,我们可以锻炼自己的思维,锻炼观察与联想的能力,进而在生活的其它方面得到帮助。
总而言之,密码那些事儿里有无穷无尽的奥秘,感兴趣的小伙伴快带着自己的求知心一探究竟吧。