微课视频3-1
密码简史
【案例3-1】
我国古代很早就有密码技术的研究与应用了。
相传我国周朝的军事著作《六韬》中的《龙韬·阴符》和《龙韬·阴书》讲述了国君在战争中与在外征战的将领进行保密通信的两种重要方法—“阴符”和“阴书”。
所谓阴符,就是事先制作一些长度不同的竹片,然后约定好每个长度的竹片代表的内容,比如,三寸表示溃败,四寸表示将领阵亡,五寸表示请求增援,六寸表示坚守……一尺表示全歼敌军等,如图3-2所示。这种“阴符”无文字、无图案,只有前方少数将领和后方指挥人员了解含义,即使传令兵被俘或叛变,敌人也搞不懂长短不一的竹片到底代表了什么。
阴符在当时具有较好的保密性,不过能传达的信息也有限,要是战场有超出事先预料的情况,阴符也就无法表达了。为了弥补这个缺点,又出现了“阴书”(见图 3-3),即把信息以明文写在竹简或木简上,然后将竹简或木简随机分为 3份,由 3名传令兵各执一份分别送达。收件人收齐后,再把 3份“阴书”拼合起来,完整内容就出现了。这种“阴书”能传递更为复杂的信息,即使某一信使被敌方抓住,敌方也得不到完整的情报。但也有其缺陷,由于原文被分成了3份,所以一旦丢失一份,接收者也无法了解其原意。“阴书”兼顾了保密性和灵活性,但也同时为了灵活性而降低了保密性,因为如果其中一份落入敌手,虽然信息不全,但敌人也可能猜到一二,总归是有隐患。
图3-2 阴符
图3-3 阴书
到了宋代,为了避免这种情况,出现了升级版的阴符—字验。这种方法见于宋代军事著作《武经总要》,大致过程是这样的:先收集军事中常用的 40个短语,然后给每个短语分别编码,比如:1.请弓;2.请箭;3.请刀;4.请甲……35.战大捷;36.将士投降;37.将士叛;38.士卒病;39.都将病;40.战小胜。将领带兵出发前,后方指挥机关同这位将领约定用一首 40字的五言律诗作为密钥,并发给将领一本有40个短语编码顺序的密码本,编码顺序可变化,不同的编码顺序可形成若干不同的密码本。
北宋还出现了密写的先进技术。据《三朝北盟汇编》记载,公元1126年,开封被金军围困之时,宋钦宗“以矾书为诏”。因为“以矾书帛,入水方见”,只有把布帛浸入水中,隐藏其上的字迹才会显露出来,金人不知道此技术,也就无从知道情报的内容了。除此之外,还有将情报写于丝绸或纸张上,然后搓成圆球用蜡裹住藏在信使身上或将其吞入腹中传递,这种保密性传递方法一直沿用至清朝。
古代的欧洲文明中,也同样很早就有保密技术的应用了。
大约在公元前 700年,古希腊的斯巴达人军队使用一种叫作Scytale的棍子(又叫斯巴达棒)来进行保密通信,如图3-4所示。发信人先绕棍子卷一张羊皮纸条,然后把要保密的信息写在上面,例如图中羊皮纸上书写的是“KILL KING TOMORROW MIDNIGHT”,接着解下纸条送给收信人,此时顺序读取纸条上的内容是“KTMIOI……”,如果不使用同样宽度的棍子,是很难看懂其中的内容的。在这个例子中,用Scytale棍子卷纸条可以理解成是一种加密算法,如果暴露了这根棍子,也就没有秘密可言了。
图3-4 Scytale棍子
古罗马时期发明了恺撒密码,这是一种简单的移位密码,就是把明文中的各个字母错开一定间隔置换成另一个字母,如将字母A换作字母D,将字母B换作字母E。
再介绍一个战争中近现代密码技术及应用的案例。
第二次世界大战期间,在太平洋战场上,日军总能破译美军的密电码,这令美军在战场上吃尽了苦头。为了改变这种局面,29名印第安纳瓦霍族人被征召入伍,人称“风语者”(Wind Talkers)。
风语者的使命是创造一种日军无法破解的密码。他们从自然界中寻求灵感,设计了由 211个密码组成的纳瓦霍密码本。例如,猫头鹰代表侦察机,鲨鱼代表驱逐舰,八字胡须则代表希特勒等。密码设计完成后,美海军情报机构的军官们花了 3周的时间力图破译一条用这种密码编写的信息,终告失败。就这样,被美军称为“无敌密码”的纳瓦霍密码终于诞生。密码本完成后,这 29名风语者被锁在房间内长达 13周,每个人必须背会密码本上的所有密码,然后将密码本全部销毁,以免落入敌人手中。
在接下来的战斗中,美军使用“人体密码机”造就了无敌密码的神话:风语者编译和解译密码的速度比密码机要快;因为他们的语言没有外族人能够听懂,他们开发的密码一直未被日军破获。
风语者从事的这项工作,一直被认为是美军的最高机密之一。直到 1968年,这群风语者的故事才被解密。华裔导演吴宇森于 2000年拍摄的电影《风语者》以这段鲜为人知的往事为背景,让世人了解到了纳瓦霍密码和这群神奇的“人体密码机”,图3-5为电影《风语者》海报。
图3-5 电影《风语者》海报
【案例3-1思考】
● 战场上对于信息的传递有哪些安全需求?
● 本案例中介绍的战争中应用的密码技术主要是采用什么基本方法保护信息的机密性的?
● 在当前计算机及网络通信技术广泛应用的信息时代,大量信息以数字形式存放在计算机系统里,并通过公共信道传输。数据在存储、传输和处理中面临哪些安全问题?
● 计算机系统和公共信道在不设防的情况下是很脆弱的,面临极大的安全问题,如何保护数据的保密性、完整性、不可否认性和可认证性?