影片《达·芬奇密码》根据美国作家丹·布朗的同名悬疑小说改编。哈佛大学的符号学专家罗伯特·兰登(汤姆·汉克斯 饰)在法国巴黎出差期间的一个午夜接到一个紧急电话,得知卢浮宫博物馆年迈的馆长被人杀害在卢浮宫的博物馆里,人们在他的尸体旁边发现了一个难以捉摸的密码。兰登与法国一位颇有天分的密码破译专家索菲·奈芙(奥黛丽·塔图 饰),在对一大堆怪异的密码进行整理的过程当中,居然发现一连串的线索就隐藏在达·芬奇的艺术作品当中。这些线索,大家都清楚可见,然而却被画家巧妙地隐藏起来。
兰登无意中非常震惊地发现,已故的博物馆馆长(也就是奈芙的祖父)竟然是峋山隐修会(Priory of Sion)的重要成员。峋山隐修会是一个真实存在的秘密组织,其成员包括牛顿、维克多·雨果与达·芬奇等多位历史名人。兰登的直觉告诉他,他和奈芙是在找寻一个石破天惊的历史秘密……
比尔密码是在1885年出版的一本小册子中提到的三份密码;根据被破解的第二份密码,第一份密码说明了财宝的位置,第二份密码则说明了财宝的内容,第三份密码则列出了财宝所有者的姓名;财宝的价值达6500万美元。
然而,至今仍然未有人破解到其余两份密码或者找到第二份密码中所指明的财宝。
1820年1月,一位自称托马斯·J·比尔(Thomas J. Beale)入住林奇堡的华盛顿旅馆(Washington Hotel),据旅馆主人罗伯特·莫里斯(Robert Morriss)的回忆,他“身高约6英尺,黑色眼睛和头发,深色皮肤,长相英俊,且受人欢迎”;比尔在3月突然离去。
1822年1月,比尔重返华盛顿旅馆,与上次一样在春天时离去,并给莫里斯一个上锁的盒子。5月9日莫里斯收到比尔从圣路易斯市发出的一封邮件,邮件声称盒子中含有对比尔和他的合伙人相当重要的文件,要求莫里斯保管盒子10年,若比尔或其他取得他同意的人没有在此期间取回此盒子,莫里斯可以打开此盒子。
比尔在信中称“盒子中除了给你的说明,其他文件是难以破解的。我将解读此文件的密钥留在一位朋友手中,他会在1832年6月将密钥邮寄给你”。
1832年,原定于当年6月寄到的密钥始终没有出现,但莫里斯直到1845年才打开盒子。盒中有三份密码和给莫里斯的两封信。
维吉尼亚加密法。
讲到概率论出现之后,传统的移位法就不好使了。
维吉尼亚加密法,就是为了对抗频率分析出现的——使用这套加密方法之后,字母的频率特征会消失。
一般认为,做出这套加密法的是法国外交官布莱斯·德·维吉尼亚。
但这个结论有很多争议,在他之前40多年的德国炼金术士约翰尼斯发明的表格法,也包含其中关键部分;在他之前80多年,意大利诗人莱昂也提出过这种方法的关键部分。
一个发明到底归属谁有必要考据细节吗?
当然没有。我主要是想指出一个规律——凡是出现了一个发明权一堆人抢的情况,就说明那个领域已经形成了成熟的行业。
密码学也是如此。我们暂且认为维吉尼亚就是发明人吧。问题来了,他一个外交官怎么会对密码学研究那么深呢?有两个原因:
在18世纪初,欧洲各国都有隶属于情报机构,专门负责加密解密的部门,叫“黑房厅”。它是和邮政系统配合运行的。
每天有大批信件本来是从各地寄到邮局,再从邮局分发出去。黑房厅出现后,一部分信就不是从邮局直接递给收信人了,而是要先经过黑房厅,再送到收信人手里。
哪部分信件要绕这么一道弯儿呢?
其实就是所有寄给当地大使馆的信件,会受到这种特殊待遇。因为这里很可能有机密信息。
虽然我直接把内幕说出来了,但黑房厅在当年运作的时候是完全保密的,人不知鬼不觉。信件不能因为破译需要时间,而让对方使领馆人员察觉到递送超时。
以当时最著名的维也纳黑房厅来说,每天早上7点,信件先抵达黑房厅,工作人员小心翼翼的融开封口,由专门的速记员把信件誊写抄录,如果是很偏门的语言,就由专家出马誊写。然后马上把信封好口,在三小时内送回邮局,邮局再按正常流程递送出去。
那时各国都在重要信件上使用了加密法,最初普遍采用替代法和移位法的混合,但对掌握频率分析法的黑房厅来说,总是可以破译。
奥地利除了自己偷看信,还暗中把消息卖给其他国家的情报部门。没过几年,很多国家察觉到自己的加密可能失效了,于是就催生出下一代加密法。
为了弄懂后面新的加密法,我们有必要先来回顾一下第二代加密法存在哪些漏洞。
讲了替代法的破解原理,因为每个字母实际使用的频率是有固定值的,所以不论那些字母被什么符号替代了,都可以从频率上找出它的真身。
玛丽女王就生活在加密法打不过解密法的年代。其实在她被砍头的40年前,新的加密法已经出现了,它是替代法的改进版,叫“多套符号加密法”。
为了掩盖字母使用中暴露的频率特征,解决办法就是用多套符号代替原来的文字,比如原文的字母是A,从前只把它替换成F,现在把它替换成F或者G这两个。那什么时候用F什么时候用G呢?可以自行规定,比如说,字母在奇数位时用F代替,字母在偶数位时用G代替。
从前单套符号替代的时候,凡是文字中频率为7.63%的符号,差不多就代表A了。但现在A由F和G混合在一起,7.63%的特征不再出现,哪个符号代表A就没人知道了,于是频率分析法暂时失效。
而且,多套符号加密法并没满足于2-3套,后来典型使用的是26套。
这个用了26套字符的方法,就是第三代密码“维吉尼亚加密法”。就是它,成功压制了解密一方的频率分析法。
它是一个表格,第一行代表原文的字母,下面每一横行代表原文分别由哪些字母代替,每一竖列代表我们要用第几套字符来替换原文。一共26个字母,一共26套代替法,所以这个表是一个26×26的表。
维吉尼亚密码表
它具体是怎么加密呢?
假设我要给“hello”加密,现在的思路和单套的加密方法不一样了。单套的时候,我们可以指定这个表里任意一横行,比如指定第8行的意思就是说,原文中的字母都往后移8位,只使用这一行的规则,“hello”就变成了PMTTW。
但现在我们的思路是用多套密码,不能只用第8行第8套。于是我们就这样指定:
你说这听着怎么这么乱啊?具体每个字母移动多少位竟然要单独指定,太麻烦了吧?
如果原文只是hello这种词还好,要是一封信的话,一个字母一个字母的规定用哪套替代,不但加密费劲,解读也费劲。只能单独再写一本说明书出来,照着它一个字母一个字母的还原,费时费力、容易出错不说,连加密的初衷都实现不了。
因为这份说明书的文字量比原文还要多得多,而且这个说明书还必须以谁都可以看懂的方式书写。想让收信方看明白,必须要送一本加密说明书给对方,如果说明书被截获,内容也就白加密了。
这个问题是这么解决的:
第三代的维吉尼亚加密法在真实使用时,人们事先规定每个字母用了哪套移位法时,并不是毫无规律的瞎指定,而是要约定一个规则,这个规则就叫作 “ 钥匙 ”。
钥匙最初只是一个单词,比如,像钥匙是yes,那怎么加密呢?
你看,yes的y是第25个字母,就代表加密时把原文第一个字母往后移25位;yes的第二个字母e是字母表中第5个字母,就代表把原文的第二个字母往后移5位;yes的第三个字母s在字母表中是第19个字母,就代表把原文第3个字母后移19位。这样原文的前三个字母,就分别用了第25套、第5套、第19套替代法。
那原文第4个、第5个、第6个字母怎么解决呢?好办,就按刚刚的规则循环就好。
这样“hello”在钥匙是yes的情况下,就被加密成了FIDJS。
这样的好处是,原文里同一个字母会被加密成不同字符,hello中的两个“l”分别变成了D和J。而且密文中同样的字符也可能代表不同的原文,谁和谁都不对应。
1586年,维吉尼亚把这个想法写在了《密码论》中发表。
而上节课我们说的玛丽女王是在1587年被砍的头,如果她和反叛军能用到这本书里的加密方法,也许会是另一种命运。
维吉尼亚法相比从前的加密法,破解难度上了一个新的台阶,按理说应该倍受青睐吧?结果恰恰相反——它在出现后的200年里,几乎没有人使用。
原因很简单,太麻烦了。咱们第一节课就讲到,真正好用的密码,是在安全性和效率上找到了平衡点。
你想,用单套密码的时候,当年玛丽女王稍作训练,在监狱里就可以抛开字典直接用密文回信,但是如果用维吉尼亚密码的话,估计她老得翻字典。
而且大家也可以设身处地的想想,加密法可是一套26×26的表格,而且还有长短不一的钥匙。每加密一个字母,都要在表格里找来找去,就算是在熟练操作的情况下,加密一个字母也得要3秒钟的时间。写完一篇500字的短文,要3个多小时的高强度工作。慢还不说,这样来回来去的查和写,还容易出错。
所以在它诞生后的200多年时间里,几乎没有人用。既然没人使用,自然200多年也就没有人破解。
直到1861年到1865年美国南北战争时期,维吉尼亚加密法才被广泛使用。
为什么会这样?是因为人们脑子变聪明了,手更快了吗?
不是的,而是因为随着科学技术的发展,那时候加密解密的工作已经可以由机械来完成。1860年代,不但已经有了蒸汽机,也有了电动机,这种有规律的体力活儿机器是最擅长干的,既不会抱怨累,也不太会出错。
从维吉尼亚法推迟200多年才得到实际使用,我们能明白一个道理——
基础学科的发展是工程领域发展的根基,新理论的发明要比产品的发明重要得多。
就算是只限于密码学领域,这个规律也反复出现了多次,而且大都集中在维吉尼亚密码法诞生之后。
因为16世纪初,现代科学已经在欧洲出现了。科学理论用得好就能生出新技术,新技术解决一个个困难,让人类更愿意把精力投入到科学中,于是又产生出更多的技术,形成了一个正反馈。
在这样一个新环境里,出现了一个有意思的情况:
维吉尼亚加密法是这样,维吉尼亚加密法的破解也一样是这样。
这并不是偶然,而是现代科学出现后的常态,在任何领域都是如此。
知道了这个规律,我们就会少一分对伟大发明家的崇拜,多一分对背后科学原理的敬畏。
根据《中华人民共和国立法法》、《中华人民共和国密码法》和《规章制定程序条例》等法律法规,国家密码管理局研究制定了《国家密码管理局规章制定程序规定》(国家密码管理局令第1号)(以下简称《规定》),现就《规定》的有关内容解读如下:
一、制定的必要性
《密码法》第四十二条明确规定:“国家密码管理部门依照法律、行政法规的规定,制定密码管理规章。”随着《密码法》的颁布实施,特别是新修订的《商用密码管理条例》即将出台,亟需依照《密码法》等法律、行政法规,针对密码生产、销售、服务、进出口、检测认证等环节,制定公布一系列密码管理规章,及时补充、细化法律、行政法规的相关规定,增强密码法律法规的可操作性。制定出台《规定》,对于进一步贯彻落实《密码法》等法律法规规定,理顺规章制定工作流程,明晰工作职责,确保立法项目高质高效推进十分必要。
二、总体思路
《规定》的制定按照《规章制定程序条例》要求,研究借鉴国务院有关部门规章制定程序规定,结合工作实际,注重合法性、兼容性和可操作性,力求做到内容完备、程序周密。主要体现了以下三方面思路:一是坚持党管密码。制定规章应当坚持中国共产党对密码工作的领导,规章制定过程中的重大事项应当及时向中央密码工作领导小组请示报告。二是坚持依法立法。全面落实《规章制定程序条例》各项制度要求,建立健全规章制定过程中的制度性、程序性规定,并结合密码管理工作实际,做到原则性与灵活性相统一。三是坚持问题导向。总结立法工作的经验做法,把握立法工作规律,坚持科学立法、民主立法,巩固有益做法,解决突出问题,切实提高规章质量。
三、主要内容
《规定》共24条,主要内容包括:
(一)总体要求。一是坚持党管密码原则,明确制定规章涉及重大事项的,应当事先报中央密码工作领导小组同意。重要规章公布前,应当报中央密码工作领导小组批准。二是明确规章制定的原则和权限,突出对行政相对人权利的保护和对密码管理部门权力的限制。三是明确规章制定规范,对规章名称、章节结构、用语表述、条文内容等提出具体要求。
(二)立项。一是明确立项主体,主要包括国家密码管理局内设机构和省、自治区、直辖市密码管理部门,此外还可以向社会公开征集规章制定项目建议。二是明确立项流程,由国家密码管理局政策法规机构对规章立项申请和制定项目建议进行评估论证,拟订年度规章制定工作计划,并向社会公布。
(三)起草。一是明确起草主体,规章原则上由国家密码管理局业务主管机构或者政策法规机构负责起草,专业性较强的规章可以委托专家学者、教学科研单位等第三方机构起草。二是明确起草流程,起草单位应当广泛听取有关部门、方面意见,并将向社会公开征求意见作为规章起草的必经环节,涉及重大利益调整的,应当按照规定进行论证咨询或者听证。
(四)审查。一是明确起草单位形成规章送审稿后应当向政策法规机构报送的有关材料。二是明确政策法规机构审查的主要内容。三是规定审查中缓办或者退回的具体情形。四是规定政策法规机构征求意见、论证咨询以及对争议较大的重要立法事项的协调、评估等内容。
(五)审议和公布。一是明确规章草案经局务会议审议通过后,由局长签署国家密码管理局令予以公布,规定了部门联合规章的公布方式。二是要求规章公布后及时在国务院公报及相关网站上刊载。三是规定规章的施行日期。
(六)其他事项。一是明确规章的解释和备案程序。二是规定规章的修改、废止、清理以及立法后评估等事项。三是明确法律、行政法规草案的起草参照本规定执行。四是明确本规定的施行日期。