澎湃问吧
世界著名密码史学家戴维·卡恩曾说:“人类使用密码的历史几乎与使用文字的时间一样长”,这意味着人类密码领域的较量已近五千年。提及“密码”一词,大多数人会想到日常所用的手机密码、银行卡密码、二维码等等。其实,这些散见于我们生活中的各类登录密码,严格来说只是验证口令,是密码技术应用的冰山一角。
密码起源可以追溯到何时?在历史长河中,密码在战争、商业、外交和间谍活动中发挥了怎样的作用?有哪些窃密阴谋和风云故事?本期澎湃问吧邀请《破译者:人类密码史》责编李晓凌,聊聊世界密码学领域的故事。
历史上最早的密码
@ donottag:历史上第一个密码长什么样?
李晓凌 :约4000年前,尼罗河如缎带般向前流淌,河畔坐落着一个名为梅内特·库孚的小镇,镇里有一个高明的书写员,他用象形文字记下了他主人的生平,从此开创了有文字记载的密码学史。这可能是较早的有文字记载的记录,没有记载的就无法考证了。
@Chelsea:最早的密码是在什么情境下诞生的?
李晓凌:最早发明密码的人?这个问题相当于问谁是第一个吃螃蟹的人,着实很难考证。不过我可以告诉您很多有名的密码专家,如西方密码学之父莱昂·巴蒂斯塔·阿尔贝蒂,法国密码学之父安托万·罗西尼奥尔,英国密码学之父约翰·沃利斯,美国编码学开创者托马斯·杰弗逊,现代密码学先驱奥古斯特·克尔克霍夫,一战中最伟大的密码分析家乔治·潘万,美国密码破译之父、黑室(密码局)创始人赫伯特·雅德利等等,他们背后都藏着很多精彩的故事。
我认为密码发明的目的是为了保密,不让信息被通信双方之外的第三人知晓。发信人将明文通过密钥加密成密文,传递给收信人,这样除了收信人之外的其他人就无法解读了。但是,越来越多的人想尝试在不知道密钥的情况下破解密码,于是就发生了许许多多的密码破译故事。
@ 西瓜可乐味:密码最初的设定是怎样让其他人能懂得其中规则,并且进行破译呢?
李晓凌:编制密码时,一般有三个要素:明文、密钥和密文。明文是指需要加密的信息,通常用通信双方母语写就;密钥,多数情况下使用单词、短语或数字;通过密钥加密后得出的秘密信息就成了密文。包裹在秘密外衣下传递出去的信息,就叫“密报”、“密信”或“密电”。一般来说,只有收信人才知道密钥,从而解密出信息。但是不排除被密码破译者从半道截获并破开,而破译者是不知道密钥或密码系统的人(第三方或“敌人”)。破译者和编码者的较量一直贯穿在人类历史发展的长河中。
@道远心宽:您见过最离谱的密钥是什么?
李晓凌:一般来说密钥是由数字、字母和符号构成,利用它们出现的频率、顺序等进行加密。在分析字母频率时,作者分享了很有意思的一本书:《盖兹比——5万个无字母E单词写成的故事》(Gadsby, A Story of Over 50,000 words Without Using the Letter E)。这是个令人惊叹的绝活。不相信的读者请试试哪怕是造一个没有e的句子要花多长时间。《盖兹比》的作者欧内斯特·文森特·赖特(Ernest Vincent Wright),一个不屈不挠的白发老者,列举了在这项自找麻烦的工作中遇到的问题。他要避免大部分过去式动词,因为它们以-ed结尾。他永远不能用the或代词he、she、they、we、me和them,并且不得不排除一些似乎不可或缺的动词,如are、have、were、be 和been及一些基本单词如there、these、those、when、then、more、after 和very。也因此不能用6到30间的数字,写成数字也不行,因为它们拼写出来就会出现e。
密码使用的多重场景
@ 澎湃网友niIrqe:怎样读懂摩斯电码?战争中还有哪些常用的密码?
李晓凌:关于莫尔斯电码的一些基本知识:通过点、划、点和划之间的停顿等等来表达不同的意思。戴维·卡恩曾举例:若一个词里出现两个空格错误,结果可能与原文相去甚远,如BANEFUL(有害的)(—••• •— —• • ••—• ••— •—••)可能变成DUTIFUL(尽职的)(—•• ••— — •• ••—• ••— •—••)。想完全读懂莫尔斯电码,恐怕不是一时半会儿就能行的,唯有下功夫多学习研究。战争中使用的密码则种类繁多,如大西洋密码战中的恩尼格玛密码、二战中的紫密等等。
使用中的恩尼格玛密码机 1943年
@oxford: 我国在军事上最早使用密码是在什么时候?有哪些密码类型?
李晓凌:在军事应用中,古代中国11世纪编纂的《武经总要》(Wu-ching tsung-yao)记载了一种真切小巧的代码。按照一张写有40个条目的清单,通信双方用一首诗的前40个字代表各条目,这些条目的内容不等,其中包括请求支援弓和箭、递送捷报等。例如一个副将欲请箭,就把相应的字写在一封普通书信的特定位置,字上盖自己的印。将军可以写下同样的字,盖上自己的印以示批准,或者只盖印不写字表示拒绝。即使书信被人截取,保密内容依然不会被泄露。
在中国古代,还有一些使节和将领主要通过口述传信,信差记住信息然后转达。至于书面函件,中国人往往用极薄的帛或纸写就,卷成球、封入蜡丸。信差把蜡丸藏在身上,或塞进直肠,或吞入腹中。这是隐写术的一种形式。传递消息过程中,如果某人的名字里有“菊”字,通信人会把他说成“黄花”,这是使用了隐语。这些只有发信人和收信人才知晓。
@一只饺子:银行卡密码只有6位数,真的能保障安全么?
李晓凌:我们所谓的银行卡密码,其实是“口令”(password)。暴力破解没有规律的6位数口令平均需要尝试50万次,假设银行每天给你三次尝试机会,破解一则密码需要456年多。
@二炭:李老师,怎样设置密码才安全而又不易被自己忘记?
李晓凌:即使别人知道你的银行卡密码是你家狗狗生日,他也查不到,哈哈。
《破译者:人类密码史》,[美]戴维·卡恩(David Kahn)著,朱鸿飞、张其宏译,金城出版社2021年6月。
责任编辑:鞠文韬
校对:栾梦