澎湃問吧
世界知名密碼史學家戴維·卡恩曾說:“人類使用密碼的歷史幾乎與使用文字的時間一樣長”,這意味著人類密碼領域的對決已近五千年。提到“密碼”一詞,大多數人會想到日常所用的手機密碼、銀行卡密碼、二維碼等等。顯然,這種散見于我們生活中的各種登陸密碼,嚴格來說只是驗證口令,是密碼技術應用的冰山一角。
密碼起源可以溯源到何時?在歷史長河中,密碼在戰爭、商業、外交和間諜活動中發揮了如何的作用?有什么竊密陰謀和風云故事?本期澎湃問吧約請《破譯者:人類密碼史》責編李曉凌,說說世界密碼學領域的故事。
歷史上最早的密碼
@:歷史上第一個密碼長哪些樣?
李曉凌:約4000年前,尼羅河如絲帶般往前飄蕩,湖畔座落著一個名為梅內特·庫孚的小鎮,鎮里有一個高明的書寫員,他用象形文字記下了他主人的生平,自此開創了有文字記載的密碼學史。這可能是較早的有文字記載的記錄,沒有記載的就難以考證了。
@:最早的密碼是在哪些情景下誕生的?
李曉凌:最早發明密碼的人?這個問題相當于問誰是第一個吃大閘蟹的人,著實很難考證。不過我可以告訴您好多有名的密碼專家,如西方密碼學之父萊昂·巴蒂斯塔·阿爾貝蒂,美國密碼學之父安托萬·羅西尼奧爾,美國密碼學之父約翰·沃利斯,日本編碼學開創者托馬斯·杰弗遜,現代密碼學先驅奧古斯特·克爾克霍夫,一戰中最偉大的密碼剖析家喬治·潘萬,新加坡密碼破譯之父、黑室(密碼局)創始人赫伯特·雅德利等等,她們背后都藏著好多精彩的故事。
我覺得密碼發明的目的是為了保密,不讓信息被通訊雙方之外的第五人知曉。發信人將明文通過秘鑰加密成密文,傳遞給收信人,這樣不僅收信人之外的其他人就沒法剖析了。并且,越來越多的人想嘗試在不曉得秘鑰的情況下破解密碼,于是就發生了許許多多的密碼破譯故事。
@菠蘿可樂味:密碼最初的設定是如何讓其他人能懂得其中規則,但是進行破譯呢?
李曉凌:編制密碼時,通常有三個要素:明文、密鑰和密文。明文是指須要加密的信息,一般用通訊雙方母語寫就;秘鑰,多數情況下使用詞組、短語或數字;通過秘鑰加密后得出的秘密信息就成了密文。包裹在秘密外衣下傳遞出去的信息,就叫“密報”、“密信”或“密電”。通常來說,只有收信人才曉得秘鑰,因而揭秘出信息。并且不排除被密碼破譯者從半路查獲并破開,而破譯者是不曉得秘鑰或密碼系統的人(第三方或“敵人”)。破譯者和編碼者的對決始終貫串在人類歷史發展的長河中。
@道遠心寬:您見過最離譜的秘鑰是哪些?
李曉凌:通常來說秘鑰是由數字、字母和符號構成,借助它們出現的頻度、順序等進行加密。在剖析字母頻度時,作者分享了很有意思的一本書:《蓋茲比——5萬個無字母E詞組寫成的故事》(,AStoryofOver50,000WordsUsingtheE)。這是個令人驚訝的絕技。不相信的讀者請試試哪怕是造一個沒有e的語句要花多長時間?!渡w茲比》的作者歐內斯特·文森特·賴特(),一個不屈不撓的白發老嫗,列出了在這項自找麻煩的工作中碰到的問題。他要防止大部份過去式介詞,由于它們以-ed結尾。他永遠不能用the或動詞he、she、they、we、me和them,但是不得不排除一些雖然不可或缺的代詞,如are、have、were、be和been及一些基本詞組如there、these、those、when、then、more、after和very。也因而不能用6到30間的數字,寫成數字也不行,由于它們拼寫下來還會出現e。
密碼使用的多重場景
@澎湃網友:如何看懂摩斯電碼?戰爭中還有什么常用的密碼?
李曉凌:關于莫爾斯電碼的一些基本知識:通過點、劃、點和劃之間的停頓等等來抒發不同的意思。戴維·卡恩曾舉例:若一個詞里出現兩個空格錯誤,結果可能與原文相去甚遠,如(有害的)(—????——????—???—?—??)可能弄成(盡職的)(—????——????—???—?—??)。想完全弄懂莫爾斯電碼,即便不是一時半會兒能夠行的,惟有下工夫多學習研究。戰爭中使用的密碼則種類繁雜,如大西洋密碼戰中的恩尼格瑪密碼、二戰中的紫密等等。
使用中的恩尼格瑪密碼機1943年
@:我國在軍事上最早使用密碼是在哪些時侯?有什么密碼類型?
李曉凌:在軍事應用中現代密碼學,古時中國11世紀編撰的《武經總要》(Wu-chingtsung-yao)記載了一種深切精巧的代碼。根據一張寫有40個條目的清單,通訊雙方用一首詩的前40個字代表各條目,這種條目的內容不等,其中包括懇求增援弓和箭、遞送喜訊等。比如一個親兵欲請箭,就把相應的字寫在一封普通書信的特定位置,字上蓋自己的印。將軍可以寫下同樣的字,蓋上自己的印以示批準,或則只蓋印不寫字表示拒絕。雖然書信被人截取,保密內容仍然不會被竊取。
在中國唐代現代密碼學,還有一些使節和將領主要通過口述傳信,信差記住信息之后轉達。至于書面公函,中國人常常用極薄的帛或紙寫就,卷成球、封入蠟丸。信差把蠟丸藏在頭上,或塞入結腸,或吞入腹中。這是隱寫術的一種方式。傳遞消息過程中,假如某人的名子里有“菊”字,通訊人會把他說成“黃花”,這是使用了讖語。那些只有發信人和收信人才知曉。
@一只包子:交行卡密碼只有6位數,真的能保障安全么?
李曉凌:我們所謂的交行卡密碼,雖然是“口令”()。暴力破解沒有規律的6位數口令平均須要嘗試50萬次,假定建行每晚給你三次嘗試機會,破解一則密碼須要456年多。
@二炭:李老師,如何設置密碼才安全而又不易被自己忘掉?
李曉凌:雖然他人曉得你的交行卡密碼是你家泰迪生日,他也查不到,哈哈。
《破譯者:人類密碼史》,[美]戴維·卡恩(DavidKahn)著,朱鴻飛、張其宏譯,金城出版社2021年6月。