电码,是利用若干个有、无电流脉冲或正负电流脉冲所组成的不同的信号组合,其中每一个信号组合代表一个字母、数字或标点符号。
简介
每个国家都有自己专用的密电码,一套至几套不等(军事)密
电码。二战期间日军的密电码因系统不同,电码各别,其中以陆军密电码为最难破译,整个抗战期间,日军陆军与海军的密电码始终未曾被破译过;空军密电码则比较简单,容易破译。有英文字母的,有数字组成的,也有日文的,其中以英文的为最多。但不论哪种形式,都有一个共同特点,那就是字符之间不留任何空档,一律
紧密连接,不像英文电报每个单词一组,也不像中文电报每四个数字一组。
另外,各种行业也都有通用的国际电码。(航海,航空,救援)等等。
莫尔斯电码
历史背景
最早的莫尔斯电码是一些表示数字的点和划。数字对应单词,需要查找一本代码表才能知道每个词对应的数。用一个
电键可以敲击出点、划以及中间的停顿。
虽然莫尔斯发明了电报,但他缺乏相关的专门技术。他与Alfred Vail签定了一个协议,让他帮自己制造更加实用的设备。Vail构思了一个方案,通过点、划和中间的停顿,可以让每个字符和标点符号彼此独立地发送出去。他们达成一致,同意把这种标识不同符号的方案放到莫尔斯的专利中。这就是现在我们所熟知的美式莫尔斯电码,它被用来传送了世界上第一条电报。
这种代码可以用一种平稳时断时续的无线电信号来传送,通常被称做连续波(Continuous Wave),缩写为CW。它可以是电报电线里的电子脉冲,也可以是一种机械的或视觉的信号(比如闪光)。
一般来说,任何一种能把书面字符用可变长度的信号表示的编码方式都可以称为
莫尔斯电码。但现在这一术语只用来特指两种表示英语字母和符号的莫尔斯电码:美式莫尔斯电码被使用了在有线电报通信系统;今天还在使用的国际莫尔斯电码则只使用点和划(去掉了停顿)。
报务员之间交流通信质量、频率变更、电报编号等信息服务的。
1838年1月8日,Alfred Vail展示了一种使用点和划的电报码,这是
莫尔斯电码前身。
作为一种信息编码标准,莫尔斯电码拥有其他编码方案无法超越的长久的生命。莫尔斯电码在海事通讯中被作为国际标准一直使用到1999年。1997年,当法国海军停止使用莫尔斯电码时,发送的最后一条消息是:“所有人注意,这是我们在永远沉寂之前最后的一声呐喊”!
军事应用
自从无线电和莫尔斯电码问世后,军事通讯进入了一个崭新的时代,但是无线电通讯完全是一个开放的系统,在己方接受电文的同时,对方也可“一览无遗”,因此人类历史上早就伴随战争出现的密码也就立即与无线电结合,出现了无线电密码。直到第一次世界大战结束,所有无线电密码都是使用手工编码,毫无疑问,手工编码效率极其低下,同时由于受到手工编码与解码效率的限制,使得许多复杂的保密性强的加密方法无法在实际中应用,而简单的加密方法又很容易被破译,因此在军事通讯领域,急需一种安全可靠而又简便有效的方法。
电码构成
莫尔斯电码由点(.)、划(-)两种符号组成:
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 .----
2 ..---
3 ...--
4 ....-
5 .....
6 -....
7 --...
8 ---..
9 ----.
0 -----
? ..--..
/ -..-.
() -.--.-
- -....-
. .-.-.-
构成原则
1.一点为一基本信号单位,每一划的时间长度相当于3点的时间长度。
2.在一个字母或数字内,各点、各划之间的间隔应为两点的长度。
3.字母(数字)与字母(数字)之间的间隔为7点的长度。
埃尼格玛密码
产生背景
1918年德国发明家亚瑟·谢尔比乌斯(Arthur Scherbius)和理查德·里特(Richard Ritter)创办了一家新技术应用公司,曾经学习过电气应用的谢尔比乌斯想利用现代化的电气技术来取代手工编码加密方法,发明一种能够自动编码的机器。
工作原理
谢尔比乌斯给自己所发明的电气编码机械取名“埃尼格玛”(ENIGMA,意为
哑谜),乍看是个放满了复杂而精致的元件的盒子,粗看和打字机有几分相似。可以将其简单分为三个部分:键盘、转子和显示器。
键盘一共有26个键,键盘排列和现在广为使用的计算机键盘基本一样,只不过为了使通讯尽量地短和难以破译,空格、数字和标点符号都被取消,而只有字母键。键盘上方就是显示器,这可不是现在意义上的屏幕显示器,只不过是标示了同样字母的26个小灯泡,当键盘上的某个键被按下时,和这个字母被加密后的密文字母所对应的小灯泡就亮了起来,就是这样一种近乎原始的“显示”。在显示器的上方是三个直径6厘米的转子,它们的主要部分隐藏在面板下,转子才是“埃尼格玛”密码机最核心关键的部分。如果转子的作用仅仅是把一个字母换成另一个字母,那就是
密码学中所说的“简单替换密码”,而在公元九世纪,阿拉伯的密码破译专家就已经能够娴熟地运用统计字母出现频率的方法来破译简单替换密码,柯南·道尔在他著名的福尔摩斯探案《跳舞的小人》里就非常详细地叙述了福尔摩斯使用频率统计法破译跳舞人形密码(也就是简单替换密码)的过程。——之所以叫“转子”,因为它会转!这就是关键!当按下键盘上的一个字母键,相应加密后的字母在显示器上通过灯泡闪亮来显示,而转子就自动地转动一个字母的位置。举例来说,当第一次键入A,灯泡B亮,转子转动一格,各字母所对应的密码就改变了。第二次再键入A时,它所对应的字母就可能变成了C;同样地,第三次键入A时,又可能是灯泡D亮了。——这就是“埃尼格玛”难以被破译的关键所在,这不是一种简单替换密码。同一个字母在明文的不同位置时,可以被不同的字母替换,而密文中不同位置的同一个字母,又可以代表明文中的不同字母,字母
频率分析法在这里丝毫无用武之地了。这种加密方式在
密码学上被称为“复式替换密码”。
但是如果连续键入26个字母,转子就会整整转一圈,回到原始的方向上,这时编码就和最初重复了。而在加密过程中,重复的现象就很是最大的破绽,因为这可以使破译密码的人从中发现规律。于是“埃尼格玛”又增加了一个转子,当第一个转子转动整整一圈以后,它上面有一个齿轮拨动第二个转子,使得它的方向转动一个字母的位置。假设第一个转子已经整整转了一圈,按A键时显示器上D灯泡亮;当放开A键时第一个转子上的齿轮也带动第二个转子同时转动一格,于是第二次键入A时,加密的字母可能为E;再次放开键A时,就只有第一个转子转动了,于是第三次键入A时,与之相对应的就是字母就可能是F了。
因此只有在26x26=676个字母后才会重复原来的编码。而事实上“埃尼格玛”有三个转子(二战后期德国海军使用的“埃尼格玛”甚至有四个转子!),那么重复的概率就达到26x26x26=17576个字母之后。在此基础上谢尔比乌斯十分巧妙地在三个转子的一端加上了一个反射器,把键盘和显示器中的相同字母用电线连在一起。反射器和转子一样,把某一个字母连在另一个字母上,但是它并不转动。乍一看这么一个固定的反射器好像没什么用处,它并不增加可以使用的编码数目,但是把它和解码联系起来就会看出这种设计的别具匠心了。当一个键被按下时,信号不是直接从键盘传到显示器,而是首先通过三个转子连成的一条线路,然后经过反射器再回到三个转子,通过另一条线路再到达显示器上,比如说A键被按下时,亮的是D灯泡。如果这时按的不是A键而是D键,那么信号恰好按照上面A键被按下时的相反方向通行,最后到达A灯泡。换句话说,在这种设计下,反射器虽然没有象转子那样增加不重复的方向,但是它可以使解码过程完全重现编码过程。
操作方法
使用“埃尼格玛”通讯时,发信人首先要调节三个转子的方向(而这个转子的初始方向就是密匙,是收发双方必须预先约定好的),然后依次键入明文,并把显示器上灯泡闪亮的字母依次记下来,最后把记录下的闪亮字母按照顺序用正常的电报方式发送出去。收信方收到电文后,只要也使用一台“埃尼格玛”,按照原来的约定,把转子的方向调整到和发信方相同的初始方向上,然后依次键入收到的密文,显示器上自动闪亮的字母就是明文了。加密和解密的过程完全一样,这就是反射器的作用,同时反射器的一个副作用就是一个字母永远也不会被加密成它自己,因为反射器中一个字母总是被连接到另一个不同的字母。
埃尼格玛”加密的关键就在于转子的初始方向。当然如果敌人收到了完整的密文,还是可以通过不断试验转动转子方向来找到这个密匙,特别是如果破译者同时使用许多台机器同时进行这项工作,那么所需要的时间就会大大缩短。对付这样“暴力破译法”(即一个一个尝试所有可能性的方法),可以通过增加转子的数量来对付,因为只要每增加一个转子,就能使试验的数量乘上26倍!不过由于增加转子就会增加机器的体积和成本,而密码机又是需要能够便于携带的,而不是一个带有几十个甚至上百个转子的庞然大物。那么方法也很简单,“埃尼格玛”密码机的三个转子是可以拆卸下来并互相交换位置,这样一来初始方向的可能性一下就增加了六倍。假设三个转子的编号为1、2、3,那么它们可以被放成123-132-213-231-312-321这六种不同位置,当然现在收发密文的双方除了要约定转子自身的初始方向,还要约好这六种排列中的一种。
而除了转子方向和排列位置,“埃尼格玛”还有一道保障安全的关卡,在键盘和第一个转子之间有块连接板。通过这块连接板可以用一根连线把某个字母和另一个字母连接起来,这样这个字母的信号在进入转子之前就会转变为另一个字母的信号。这种连线最多可以有六根(后期的“埃尼格玛”甚至达到十根连线),这样就可以使6对字母的信号两两互换,其他没有插上连线的字母则保持不变。——当然连接板上的连线状况也是收发双方预先约定好的。
就这样转子的初始方向、转子之间的相互位置以及连接板的连线状况就组成了“埃尼格玛”三道牢不可破的保密防线,其中连接板是一个简单替换密码系统,而不停转动的转子,虽然数量不多,但却是点睛之笔,使整个系统变成了复式替换系统。连接板虽然只是简单替换却能使可能性数目大大增加,在转子的复式作用下进一步加强了保密性。让我们来算一算经过这样处理,要想通过“暴力破译法”还原明文,需要试验多少种可能性:
三个转子不同的方向组成了26x26x26=17576种可能性;
三个转子间不同的相对位置为6种可能性;
连接板上两两交换6对字母的可能性则是异常庞大,有100391791500种;
于是一共有17576x6x100391791500,其结果大约为10000000000000000!即一亿亿种可能性!这样庞大的可能性,换言之,即便能动员大量的人力物力,要想靠“暴力破译法”来逐一试验可能性,那几乎是不可能的。而收发双方,则只要按照约定的转子方向、位置和连接板连线状况,就可以非常轻松简单地进行通讯了。这就是“埃尼格玛”密码机的保密原理。
社会反响
1918年谢尔比乌斯为“埃尼格玛”密码机申请了专利,并于1920年开发出了商用的基本型和带打印机的豪华型,但是高昂的价格(折算成今天的货币,约相当于3万美元)却使“埃尼格玛”密码机少人问津。就在谢尔比乌斯研制“埃尼格玛”密码机的同时,还有三个人也有了类似的发明。1919年荷兰人亚历山大·科赫(Alexander Koch)也注册了相似的发明专利“秘密写作机器”,但最终因无法商业化而于1927年转让了这个专利(因此也有说法称谢尔比乌斯是根据科赫的专利研制出了“埃尼格玛”密码机)。瑞典人阿维德·达姆(Arvid Damm)也获得了一个同样原理的专利,但是直到1927年他去世时还只是停留在纸面上。第三个人是美国人爱德华·赫本(Edward Hebern),而他的遭遇最为悲惨,他发明“狮身人面”密码机,并集资三十八万美元开办工厂进行生产销售,结果却只卖出十来台,收入还不到两千美元,1926年遭到股东起诉,被判有罪而入狱。
接到订单
在1923年国际邮政协会大会上,公开亮相的“埃尼格玛”密码机仍旧是购者寥寥。眼看“埃尼格玛”也要无疾而终,却突然柳暗花明——1923年英国政府公布了一战的官方报告,谈到了一战期间英国通过破译德国无线电密码而取得了决定性的优势,这引起了德国的高度重视。随即德国开始大力加强无线电通讯安全性工作,并对“埃尼格玛”密码机进行了严格的安全性和
可靠性试验,认为德国军队必须装备这种密码机来保证通讯安全——接到德国政府和军队的定单,谢尔比乌斯的工厂得以从1925年开始批量生产“埃尼格玛”,1926年德军海军开始正式装备,两年后德国陆军也开始装备。当然这些军用型“埃尼格玛”与原来已经卖出的少量商用型在最核心的转子结构上有所不同,因此即使拥有商用型也并不能知道军用型的具体情况。纳粹党掌握德国政权后也对“埃尼格玛”密码机的使用进行了评估,认为该密码机便于携带,使用简便,更重要的是安全性极高。对于敌方而言,即使拥有了密码机,如果不能同时掌握三道防线所组成的密钥,一样无法破译。德国最高统帅部通信总长埃里希·弗尔吉贝尔上校认为“埃尼格玛”将是为德国国防军闪击战服务的最完美的通信装置。因此上至德军统帅部,下至陆海空三军,都把“埃尼格玛”作为标准的制式密码机广为使用。——德国人完全有理由认为,他们已经掌握了当时世界最先进最安全的通讯加密系统,那是无法破译的
密码系统。然而如此愚蠢地寄信心于机器,最终只会饱尝机器所带来的苦果。
而“埃尼格玛”之父谢尔比乌斯却未能看到“埃尼格玛”被广泛使用并对
第二次世界大战所产生的重大影响,他于1929年5月因骑马时发生意外伤重而死。
量子密码术
加密是保障信息安全的重要手段之一。当前最常用的加密技术是用复杂的数学算法来改变原始信息。这种方法虽然安全性较高,但存在被破译的可能,并非绝对可靠。而
量子密码术是一种截然不同的加密方法,主要利用量子状态来作为信息加密和解密的密钥。任何想测算和破译密钥的人,都会因改变量子状态而得到无意义的信息,而信息合法接收者也可以从
量子态的改变而知道密钥曾被截获过。从理论上来说,用量子密码加密的通信不可能被窃听,安全程度极高。世界上第一个量子密码通信网络2004年6月3日在美国马萨诸塞州剑桥城正式投入运行。
维吉尼亚密码
人们在单一恺撒密码的基础上扩展出多表密码,称为“
维吉尼亚密码”。它是由16世纪法国亨利三世王朝的布莱瑟·维吉尼亚发明的,其特点是将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
A 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
B 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
C 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
D 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
E 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
F 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
G 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
H 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
I 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
J 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
K 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
L 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
M 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
N 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
O 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
P 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
Q 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
R 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
S 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
T 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
U 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
V 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
W 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
X 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
Y 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
Z 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
维吉尼亚密码引入了“密钥”的概念,即根据密钥来决定用哪一行的密表来进行替换,以此来对抗字频统计。假如以上面第一行代表明文字母,左面第一列代表密钥字母,对如下明文加密:
TO BE OR NOT TO BE THAT IS THE QUESTION
当选定RELATIONS作为密钥时,加密过程是:明文一个字母为T,第一个密钥字母为R,因此可以找到在R行中代替T的为K,依此类推,得出对应关系如下:
密钥:RELAT IONSR ELATI ONSRE LATIO NSREL
明文:TOBEO RNOTT OBETH ATIST HEQUE STION
密文:KSMEH ZBBLK SMEMP OGAJX SEJCS FLZSY
历史上以维吉尼亚密表为基础又演变出很多种加密方法,其基本元素无非是密表与密钥,并一直沿用到二战以后的初级电子密码机上。
栅栏密码
所谓栅栏密码,就是把要加密的明文分成N个一组,然后把每组的第i个字连起来,形成一段无规律的话。
一般比较常见的是2栏的棚栏密码。
加密
比如明文:THERE IS A CIPHER
去掉空格后变为:THEREISACIPHER
两个一组,得到:TH ER EI SA CI PH ER
先取出第一个字母:TEESCPE
再取出第二个字母:HRIAIHR
连在一起就是:TEESCPEHRIAIHR
这样就得到我们需要的密码了。
解密
而解密的时候,我们先把密文从中间分开,变为两行:
T E E S C P E
H R I A I H R
再按上下上下的顺序组合起来:
THEREISACIPHER
分出空格,就可以得到原文了:
THERE IS A CIPHER
但是有些人就偏不把密码作出2栏,比如:
明文:THERE IS A CIPHER
七个一组:THEREIS ACIPHER
抽取字母:TA HC EI RP EH IE SR
组合得到密码:TAHCEIRPEHIESR
那么这时候就无法再按照2栏的方法来解了...
不过棚栏密码本身有一个潜规则,就是组成棚栏的字母一般不会太多。(一般不超过30个,也就是一、两句话)
这样,我们可以通过分析密码的字母数来解出密码...
比如:TAHCEIRPEHIESR
一共有14个字母,可能是2栏或者7栏...
尝试2栏——失败
尝试7栏——成功
然而当棚栏和拼音相结合后,诞生出一种令人痛恨的新思路...
比如在正道学院网络版的开篇flash中出现过这样一个棚栏:
QGBKSYSHJIEUEIIIIAN
总共19个字母~貌似不符合棚栏的规则...其实是因为出现了一个叫做捆绑的东西:
Q G B K S Y SH J
I E U E I I I IAN
上面是声母,下面是韵母...
声母中的sh和韵母中的ian都是被作者当为一个字符使用...