編碼寶典

《密碼寶典》是美國作家尼爾·斯蒂芬森於1999年創作，以密碼學和計算機科學為題材的科幻小說。全書共分為兩個篇章，第一部分講述了第二次世界大戰時，同盟國和軸心國之間的情報戰。其中登場的人物有同盟國的密碼學家，他們在英國布萊切利園的政府密碼學校破譯了納粹德國的恩尼格瑪密碼，軸心國軍事、情報官員也有出場，他們已認清了現實，而對戰局喪失信心；而第二部分的故事設定在1990年代末期，戰爭五十多年之後。新的人物在書中出場，其中一些是前篇人物的子孫後代。他們潛心研究計算機、網際網路和密碼學技術，開發出了基於電子貨幣的匿名網上銀行系統，還在書中虛構的基納庫塔蘇丹國這一島嶼國家建設了一個地下資料避風港，並加密了所有的網路流量。他們的目的是在大屠殺再次來臨時，讓遭遇種族滅絕的民族有能力與政府進行對抗。與斯蒂芬森的其他代表作《雪崩》和《鑽石時代》對比，與其說本書是一本科幻小說，實際更接近歷史小說和科技驚悚小說。書中對許多歷史人物都進行了演繹，如艾倫·圖靈、阿爾伯特·愛因斯坦、道格拉斯·麥克阿瑟、溫斯頓·丘吉爾、山本五十六、卡爾·鄧尼茨、赫爾曼·戈林、羅納德·里根等。同時，本書也以極高的技術性著稱，其中詳細介紹了建立在資訊理論、模算數和素數分解基礎上的現代密碼學原理，也提到了UNIX作業系統等計算機安全領域的其他主題。為了配合劇情需要，斯蒂芬森甚至讓著名密碼學家布魯斯·施奈爾幫忙設計了一個真實的加密演算法，還在書後附錄中給出了完整的論文和Perl程式程式碼。非計算機背景的讀者可能難以理解書中的技術細節，但是本書依然獲得了許多科幻讀者和文學評論家的好評。評論家傑克·克萊頓，將二戰和網際網路兩個相隔五十年的時代聯絡了起來，是一本「極客的終極小說」。此外，小說中也產生了社會影響，影響或是預言了密碼貨幣和資料避風港的出現。1999年PayPal公司成立，其聯合創始人彼得·蒂爾當時就希望PayPal最終成為一種私人貨幣，打破政府對貨幣的壟斷，還將本書列為團隊成員必讀；2008年，以比特幣為代表的密碼貨幣被開發出現，而一位比特幣的早期投資人也是本書讀者；2000年，避風港有限公司成立，該公司在西蘭公國這個坐落在英格蘭東海岸的私人國家安裝了伺服器和網際網路，開始運營資料避風港業務。《連線》雜誌指出，儘管公司CEO說他的想法來自一個密碼技術會議，而不是本書，但是這個資料避風港與小說中的劇情幾乎如出一轍。命名.斯蒂芬森談到，本小說的書名是一個文字遊戲，來自恐怖小說作家洛夫克拉夫特筆下的《死者之書》：我希望用一個聽上去好像17世紀學者的書名命名此書，這便是《密碼寶典》這個名字在我耳邊迴盪，雖然我實際上並沒有讀過洛夫克拉夫特的書，但是這個名字就是與它類比而來的。小說中的《密碼寶典》是一本虛構的書籍，記載了美國學術界關於密碼學和密碼分析的全部知識，被稱為「密碼學家的聖經」。據說這本書的作者是約翰·威爾金斯，隨後又由威廉姆·弗裡德曼等人修訂。評論家凱瑟琳·海耶斯說，本小說中的《密碼寶典》有點類似於卡巴拉這樣的秘密學說，在橫跨數個世紀的時間，地下兄弟會的密碼學家不斷的傳承並編寫它。知道了本書的內容，就好比從艾洛伊人變成了莫洛克人，而有能力為本書貢獻內容的人則是精英中的精英。故事情節.全書共分為兩個篇章，第一部分的時間是第二次世界大戰，第二部分則是網際網路泡沫和亞洲金融危機期間。1942年，美國海軍的年輕數學天才、密碼破譯專家，勞倫斯·普里查德·沃特豪斯也在列其中。1997 年前後，勞倫斯·沃特豪斯之孫，蘭迪·沃特豪斯進行，負責人是後藤之孫。隨著這些過去的“幽靈”因淘金或復仇而逐漸重新浮現出來，事情也開始變得混亂起來。人物介紹.第二次世界大戰.虛構人物.羅伯特·“鮑比”·沙夫託美國海軍陸戰隊士官長，愛好俳句。勞倫斯·普里查德·沃特豪斯美國海軍軍官、數學家、密碼學家。儘管他在海軍服役，但在條件需要時也會穿陸軍軍裝出場。金特·比舍夫納粹德國海軍上尉、U型潛艇船長。起初指揮一艘普通U型潛艇；隨後被派遣到一艘過氧化氫為氧化劑，實現不依賴空氣推進技術的新型U型潛艇上繼續擔任船長。魯道夫·“魯迪”·馮·哈克爾德國數學家、密碼學家，但並非納粹。曾在普林斯頓大學從事研究，在此與艾倫·圖靈曾有戀情，並認識了沃特豪斯與之成為好友。厄爾·科姆斯托克電機出納公司的前行政高管，美國陸軍軍官，最終參與了美國國家安全域性是書中的虛構公司，縮寫為ETC，相當於現實中的IBM。格洛伊·阿爾塔米拉菲律賓的護理學學生，在日佔時期參與。鮑比·沙夫託的情人，道格拉斯·沙夫託之母。朱麗葉·基維斯蒂克芬蘭女性，曾在書中幾位二戰人物受困於瑞典時伸出援手。後來生下一男嬰，父親不明。奧托·基維斯蒂克“大叔”基維斯蒂克的叔叔，在二戰時以中立國瑞典為立足點，建立了奔走於瑞典、芬蘭與蘇聯之間的一個相當成功的走私團伙。瑪麗·斯凱米西德塔格姆人，居住在澳大利亞的庫格蘭姆移民社群。在沃特豪斯於布里斯班停泊補給時，斯凱米西德引起了他的注意。瑪麗的姓氏為“cCmndhd”，讀作斯凱米西德，它位於大不列顛島的西北部，位置接近現實中的赫布里底群島。歷史人物.書中對許多歷史人物進行了演繹。艾倫·圖靈美國計算機科學家、密碼學家，是沃特豪斯的同事與好友，曾是魯迪·馮·哈克爾的戀人。道格拉斯·麥克阿瑟美國陸軍著名軍官，在書中第二次世界大戰的故事即將結束時，扮演了關鍵角色。卡爾·鄧尼茨納粹德國海軍元帥。鄧尼茨並沒有直接在故事中出現，但一直在向U艇部隊發出命令，其中一艘就是比舍夫駕駛的潛艇。鄧尼茨最終命令潛艇自沉，比舍夫拒不執行命令，以公開的藏匿點相威脅，要求鄧尼茨撤銷命令。赫爾曼·戈林納粹德國政軍領袖，在魯迪·馮·哈克爾的回憶錄中多次出現。魯迪回憶稱，戈林曾千方百計想將他招募進納粹，用密碼學知識為納粹服務。魯迪最終為納粹提供了一套安全性被故意削弱的系統，其完整版本則預留給尋找黃金的秘密行動。羅納德·里根未來的美國總統，此時正於美國陸軍航空隊電影小組服役，製作軍事訓練和教育用的影片。里根試圖採訪仍在醫院進行康復治療，以麻醉藥度日的鮑比·沙夫託。但沙夫託故意破壞了里根的採訪，聲稱自己遭到了一隻巨大蜥蜴的攻擊，並尖銳批評麥克阿瑟。山本五十六日本帝國海軍聯合艦隊司令長官。本書用了一章的篇幅講述山本五十六之死：1943年4月14日，美國海軍截獲了山本五十六視察前線的詳細電文，並制定了代號為「復仇行動」的暗殺計劃，並於4月18日在山本前往前線時，即刻擊落了山本五十六的座機。山本在臨終時刻仔細思索，才突然意識到日軍的通訊密碼早已全部被美軍破譯，而這正是他「坐在幾噸熊熊燃燒的廢鐵裡的椅子上，以每小時100英里的速度墜入叢林」而喪命的原因。阿爾伯特·愛因斯坦美國物理學家。故事中，勞倫斯·沃特豪斯早年在普林斯頓大學就讀時，常常在普林斯頓高等研究院的大堂漫步。一見到有數學家經過，他就去詢問各種十分複雜的計算難題。一次，他遇到了愛因斯坦，結果愛因斯坦二話不說就把沃特豪斯打發走了。沃特豪斯後來也正是這樣認識圖靈的。技術內容.本書以極高的技術性著稱，使用大量的筆墨詳細介紹了建立在資訊理論、模算數和素數分解基礎上的現代密碼學原理技術的講解。非技術背景的讀者可能不容易理解這些技術細節。Finux作業系統.本書中，出現了一個名叫Finux的作業系統。它的原型是現實中的Linux核心，其開發者林納斯·託瓦茲來自芬蘭，故此得名。斯蒂芬森表示，他為了讓創作不被侷限在Linux的技術細節中，因此有意改動了這個名字。一次性密碼本.一次性密碼本是一種無法被破解的加密方式，然而這金鑰的長度必須至少和明文等長，因此在實踐中使用困難。在本書情節中，幾位人物加密通訊時看似使用了一次性密碼本。但在故事中，這也遭到了試圖破解者的懷疑：預共享的金鑰事實上可能並不存在，密碼本有可能是使用固定的演算法生成的。大祭司加密演算法.故事中有這樣一段劇情：避免引起懷疑，主人公無法使用計算機進行加解密，而必須手工進行演算。為了配合這一劇情需要，斯蒂芬森向著名密碼學家布魯斯·施奈爾尋求幫助。施奈爾為此專門設計了一個真實的加密演算法，名為「紙牌」的名義登場。在小說的附錄中，收錄了布魯斯·施奈爾本人的論文，介紹了「紙牌」的全部細節。同時，斯蒂芬森還請了另一位著名密碼學家將「紙牌」演算法實現為了一段Perl程式，並將以下程式原始碼附在書後。$f=$d?-1:1;$D=pack('C*'.33..86);$p=shift;$p=~y/a-z/A-Z/;$U='$D=~s/(.*)U$/U$1/;$D=~s/U(.)/$1U/;';($V=$U)=~s/U/V/g;$p=~s/[A-Z]/$k=ord($&amp;)-64,&amp;e/eg;$k=0;while(){y/a-z/A-Z/;y/A-Z//dc;$o.=$_}$o.='X'while length ($o)%5&amp;&amp;!$d;$o=~s/./chr(($f*&amp;e+ord($&amp;)-l3)%26+65)/eg;$o=~s/X*$// if $d;$o=~s/.{5}/$&amp; /g;print"$o\n";sub v{$v=ord(substr($D,$_[0]))-32;sub e{eval"$U$V$V";$D=~s/(.*)([UV].*[UV])(.*)/$3$2$l/;小說出版後，斯蒂芬森對這段程式指令碼進行了幾次修訂。第一次修訂更正了程式碼中的一處筆誤，該筆誤是出版前排版時出現的，讓程式無法正常執行。第二次修訂時，在每一處Perl語句的結尾加入了分號斷句，以方便不熟悉Perl的讀者也能順利錄入並執行該程式。該程式還有一個帶註釋的詳解版，可以從布魯斯·施奈爾的網站下載。其他作品的提及.英國音樂記者薩拉·尚皮永於1998年出版了《》，這是一本以公元2000年之前的文化為主題的文集，收錄了不少知名科幻作家的作品，其中就包括了尚未完成的《密碼寶典》節選。斯蒂芬森之後又發表了本書的後續作品《巴洛克迴圈》，將時間設定於17世紀到18世紀早期，對《密碼寶典》的背景進行了補充說明。斯蒂芬森在《巴洛克迴圈》中渲染了一個充滿秘密結社與陰謀色彩的地下世界。這些秘密結社往往以家庭和團體為單位，書中的一些登場人物正是《密碼寶典》中人物的祖先。《巴洛克迴圈》中人物的所作所為影響了歷史的發展，為《密碼寶典》奠定了基礎。在隨後出版的《密碼寶典》大眾普及平裝版中，收錄了《巴洛克迴圈》的文字節選作為故事的補充說明。PayPal的聯合創始人彼得·蒂爾在他的自傳《從0到1》中提到，本書是早年PayPal員工的必讀書。文學評論.非計算機背景的讀者可能難以理解書中的技術細節，但是本書依然獲得了科幻讀者和文學評論家的好評。評論家傑克·克萊頓，將二戰和網際網路兩個相隔五十年的時代聯絡了起來，是一本「極客的終極小說」。