密碼朋克的死亡聖器:公鑰加密——區塊秘史之三

買賣虛擬貨幣

FENBUSHI DIGITAL × 通證通研究院 聯合出品

文:宋雙傑,CFA;唐皓

特別顧問:沈波;Rin

目錄

1   公鑰加密是什麼——置之死地而後生

2   公鑰加密的誕生——從軍方到極客

2.1  軍方起源——封存

2.2  民間起源——擴散

3   公鑰加密的應用——密碼朋克們的死亡聖器

3.1  PGP——保守派分發的隱形斗篷

3.2  阿薩辛·普利帝克(Assassination Politics)——激進派的老魔杖

3.3  託管加密標準(EES)——大型中心體的復活石

4   公鑰加密——不再是密碼朋克們的專利

正文

1公鑰加密是什麼——置之死地而後生

為了保密,我們放棄了絕對的保密。

公鑰加密又稱非對稱加密,生成的密碼總是配對出現的,即私鑰和公鑰。公鑰加密主要包括商業上使用最為廣泛的RSA公鑰加密演算法;ECC(EllipticCurve Cryptography)橢圓曲線加密演算法,比特幣的私鑰就是透過這一演算法生成的;ElGamal演算法等。在生成公鑰和私鑰時,這些演算法採用的技術可能有所差別,但其核心思想基本是一致的,即——非對稱加密。

公鑰加密的思想始於上個世紀四十年代,隨著網際網路和計算技術的蓬勃發展,將這一思想轉化成實踐的需求和技術基礎逐漸產生。

2公鑰加密的誕生——從軍方到極客

2.1 軍方起源——封存

1973年,公鑰加密誕生於英國政府通訊總部(GCHQ)的實驗室,但他們選擇將其封存。

詹姆斯·亨利·埃利斯(James Henry Ellis)是一位英國密碼學家,1952年就開始供職於GCHQ。1970年,由他起草的GCHQ CESG第3006號研究報告——非秘密數字加密的可能性研究(THE POSSIBILITY OF SECURE NON-SECRET DIGITAL ENCRYPTION)被普遍認為是最早的記錄公鑰加密思想的論文。

二戰結束後,隨著計算機和電信技術的出現,軍事活動中使用無線電變得越來越普遍,於是,金鑰分發中存在的問題變得更加嚴重。保證安全通訊所需所有環節都不出問題儼然成為了軍方面臨的最棘手的問題。1960年以來,詹姆斯·亨利·埃利斯(James Henry Ellis)一直對此憂心忡忡,甚至一度認為這個問題是不可解決的。與當時大多數研究金鑰分發問題者的共識一樣,埃利斯贊同“如果密碼需要在事先被共享,就不可能進行安全的秘密通訊。”的觀點。1970年,埃利斯的這一觀點在他閱讀了GCHQ的一篇內參文獻後產生了動搖,這篇論文題為《C-43專案最終報告》(《Final Report on Project C-43》)。

《C-43專案最終報告》是一篇由英國貝爾實驗室釋出於1944年10月的論文。為了保護電話通訊不受監聽,這篇論文提出了一個有趣而且理論上可行的想法,接聽者Bob給訊號新增噪音,而這個去除這個噪音的方法只有發信人Alice知道。至於竊聽者Eve,她雖然截獲了夾雜著噪音的訊號,但並不知道如何去除噪音。雖然這一理論在當時僅僅停留在思想實驗的層面,但無疑給了埃利斯重要的靈感——收件人也應該積極參與加密過程。至此,埃利斯已經看見了解決金鑰分發問題聖盃的模糊輪廓。

埃利斯隱約意識到,這種噪音的新增和去除方式或許可以透過某種數學方式來實現,但由於他並非數學家,所以一直沒能找到合適的函式的來實現這一操作。在苦思冥想了三年之後,情況終於出現了轉機。

1973年,22歲的劍橋大學數學系畢業生克里福德·考克斯(Clifford Cocks)加入了GCHQ麾下的間諜機構。工作不到兩個月,考克斯就無意間聽聞了埃利斯的煩惱。這位充滿好奇心的學者靈敏的察覺到,要實現這種功能的關鍵是找到一個單向的,不可逆的函式,而兩個相當大的素數相乘恰好可以滿足這一點。就算兩個素數的位數超過一百位,以當時的計算機運算速度,把它們相乘以獲得其乘積也僅需幾秒鐘時間。然而,若是想透過這個乘積倒推出這兩個原始的素數是什麼,則可能需要幾百萬年的時間。僅用一個午間休息的不到的時間,考克斯就設計完成了這個函式,這一函式使埃利斯的理論變為了現實。這一加密方法是如此的切合軍事通訊的需求,它當即成為了GCHQ最重要的秘密之一。乘積即為公鑰,而生成它的兩個大素數的組合即為私鑰。沿用埃利斯的命名,GCHQ將這一方法稱之為非秘密加密(no-secret encryption)。

美中不足的是,房間大小的電晶體計算機的計算能力還不足以批次地透過執行單向函式將資訊單向轉化為加密資料。事實上,直到後來三位學者重新發明了這個方法並將其公之於眾之前,GCHQ都未能將這一方法轉化為實際產品。

2.2 民間起源——擴散

1976年,公鑰加密第二次獨立起源於舊金山灣區三位學者的公寓中,他們將其公之於眾,開啟了潘多拉的盒子。

與公鑰加密在英國軍方那裡起源的過程類似,公鑰加密在民間的起源同樣分為兩個階段。

1976年11月,在電氣和電子工程師協會雜誌的一篇約稿中,迪福(Diffie)和海爾曼(Hellman)發表了令全世界的軍方和間諜機構都不寒而慄的文章——《密碼學中的新方向》。這篇論文描述了一個能夠使他們習以為常的竊聽再也無法使用的加密手段。在這篇文章指出,在電信通訊火如荼地擴充套件的歷史背景下,新的金鑰分發方式必不可缺,此外,傳統紙質檔案上墨水簽名的替代物,單子文件上的電子簽名也是必要的。在紙質檔案上簽字相當容易,認證是本人的簽字也易如反掌,然而要偽造一個筆跡卻是極其困難的。為了在即將到來的網路時代安全可靠地通訊,人們需要的不僅是用於加密檔案的“信封和火漆”,也需要電子郵件落款上的“簽名”。他們在論文中給出瞭解決方案是:Diffie-Hellman金鑰交換演算法。然而,這套最初的公鑰密碼系統的使用方式比較崎嶇。Diffie-Hellman金鑰交換演算法並不能加密檔案,它只是保證通訊雙方能夠在一個不安全的網路中安全地分發金鑰,然後雙方再用這個金鑰來加密和解密檔案。比起Diffie-Hellman金鑰交換演算法,這篇論文最重要的貢獻在於其將公鑰加密的點子暴露給同樣為網路時代通訊安全頭疼的密碼朋克們。

1977年4月,三位來自麻省理工大學的學者,Ron Rivest,Adi Shamir和Leonard Adleman閱讀了迪福和海爾曼的作品。與二十世紀九十年代的密碼朋克思潮中的保守派類似,他們想要維持紙質郵件時代人們在通訊時的隱私和身份認證。立刻,他們就被公鑰加密的想法迷住了。Rivest意識到,要實現公鑰加密系統,即公鑰加密,私鑰解密需要一種不可逆的函式。陷入沉思之後往往無法意識到時間的流逝,在波士頓燈火輝煌的午夜中,Rivest突然頓悟到了大值素數相乘容易分解難單向性。學術三人組立刻開始行動。Rivest,Shamir和Adleman提出的演算法利用了這種不對稱因式分解的特徵。用於加密的公鑰包含了乘積; 用於解密的私鑰則包含了兩個素數。這樣一來,即使在不安全的渠道上共享公鑰也是安全的,因為暴力破解公鑰極其困難。這種函式很容易執行,但幾乎不可能反推。

以學術三人組的名字首字母命名的RSA加密演算法被公佈在了《科學美國人》雜誌上,這篇論文將GCHQ苦心封存的史上最強加密演算法公之於眾。這意味著所有人,包括敵對勢力以及本國的人民都有可能利用RSA加密演算法在軍方和政府麾下的間諜組織的眼皮子底下秘密地通訊。可想而知,NSA和GCHQ此時是何等的如坐針氈。

二十世紀九十年代的密碼朋克運動以及加密安納其主義思潮證明,NSA和GCHQ的擔憂並非風聲鶴唳。

3公鑰加密的應用——密碼朋克們的死亡聖器

1977年,Rivest等三人發明了RSA演算法後,為了阻止公鑰加密等密碼學知識的公開傳播,NSA用盡了立法、威脅學術出版商、直接警告這三位密碼學家等手段。對此,NSA官方的說法是:“不加以限制的公開討論密碼學將會引發具有現實性和致命性的危險,它將嚴重的削弱政府傳輸情報的能力,也會嚴重削弱政府從敵對團體的覬覦下保護涉及國家安全的資訊的能力。”大洋彼岸的GCHQ甚至根據國際武器貿易條例將加密技術分類為高精尖武器,只為阻止加密技術的研究和擴散。

在接下來的近二十年中,英美的政府和軍方無時無刻不在嘗試控制民間對於密碼學的研究和應用。而這些努力和1972年剛剛過去的水門竊聽事件一起,使得民眾心中對大型中心體的不信任逐漸生根發芽。

1993年,密碼朋克運動的創始人之一埃裡克·休斯在密碼朋克運動綱領性檔案《密碼朋克宣言》中寫道“在電子時代,對於開放的社會來說,隱私必不可少。隱私不同於秘密。隱私是某人不想公之於眾的東西。而秘密,是他不想讓任何人知道的東西。隱私是一種權力。它讓某人有權決定公開什麼,不公開什麼。” 正式宣告了密碼朋克透過密碼學的手段保護個人網路隱私權運動的開始。正如戰士以槍械為武器,文學家以筆桿為武器一樣,公鑰加密演算法是密碼朋克們最重要的武器。在從大型中心體手中為公眾爭奪隱私權的過程中,密碼朋克們將公鑰加密的力量發揮得淋漓盡致。

3.1  PGP——保守派分發的隱形斗篷

密碼朋克中的保守派只是想在網路時代保持紙質郵件時代的原狀而已。在PGP的保護下,一個人可以在任何大型中心體面前完全隱形。

PGP(Pretty Good Privacy)是第一款面向公眾發行的開源郵件加密軟體,其採用的公鑰加密系統即使現在的技術也幾乎不可能暴力破解。

1991年,最早的一批密碼朋克之一,Philip R. Zimmermann在網際網路上免費釋出了一款名為PGP的郵件加密軟體。在開發PGP前幾年,在二十世紀80年代的科羅拉多,軟體工程師Philip以一個全職軍事政策分析員的身份在核武器凍結計劃中工作。那時的世界局勢與現在不同。里根還在白宮, 勃列日涅夫還在克里姆林宮, FEMA(聯邦應急管理局)告訴市民隨時做好撤退的準備, 無數的人們恐懼著世界將陷入殘酷的核戰爭。百萬的民眾走到中央公園為和平而遊行。在組織國內和平運動的過程中,因為反對軍備競賽和冷戰,要求政府關閉核試驗場,1984年,Philip在內華達州核武器試驗場被捕。法庭上,他驚異地發現自己的郵件往來和通話記錄在國家機器面前暴露無遺。於是在獄中,他下定決心,為所有網際網路的使用者開發一款免費而且開源的郵件加密軟體。出獄後,他立刻在家中開發起了PGP,與大部分密碼朋克一樣,在開發PGP的途中,他沒有用於支援生活的資金來源,也沒有任何一個助手的幫助。在1991年, PGP的第一個版本被公開發布,政府隨即規定:出口或是公開金鑰演算法的產品被視為與私自出口或買賣軍火同罪。Philip也非等閒之輩,利用美國憲法規定的言論自由,他透過書籍將PGP的原始碼出口至世界各地。此舉讓美國政府相當不滿,遂展開了對Philip長達三年的刑事調查,指控Philip違反了美國密碼出口法律。最終,在眾多開源團體和使用者對Philip的堅決維護下,1996年,美國政府不得不撤銷指控。

PGP採用了RSA公鑰加密演算法,雖然技術上沒有較大的創新,但它是第一個將公鑰加密演算法帶到普通人的生活中去的軟體。有了PGP,即使是地球上最強大的國家機器,破解一個十幾歲的孩子傳送給同學加密郵件也無異於無法實現的夢想。

遺憾的是,使用PGP的人雖然至今依舊遍佈全球,但佔網際網路使用者的比例卻始終非常稀少。一方面是PGP注重的是從政府手中保護網路使用者的隱私權,一定程度上忽略了製作使用者友好的UI;另一方面是很多網路使用者並未意識到他們的隱私權時刻處於大型中心體的覬覦之下,他們普遍持有著一個錯誤的想法:“既然我登陸我的QQ郵箱要密碼,那我發的郵件不就是加密的嗎?”

3.2  阿薩辛·普利帝克(Assassination Politics)——激進派的老魔杖

密碼朋克中的激進派想讓網路提供的自由擴充套件到日常生活中,其手段可能是致命的。

阿薩辛·普利帝克(Assassination Politics),是吉姆·貝爾建立的一個利用了公鑰加密技術的阿薩辛市場,從技術上講,沒有人給出賞金。事實上,它以“預言”的名義,使得成功執行任務的阿薩辛能夠領到不菲的回報。

1992年8月,麻省理工大學的畢業生貝爾提出了一個讓密碼朋克之父迪姆森·梅(Timothy May)都覺得略顯過分的可怕想法。貝爾提出了阿薩辛市場的概念,這是一個可以頒發現金獎勵的組織,該現金獎勵的獲得者將是正確“預言”特定人員死亡的人。

貝爾認為,面對強大的大型中心體的侵犯,普通人幾乎已經無計可施,所以在這種情況下,阿薩辛是一種合法的自衛方式。從這點上講,公鑰加密確實如同武器一般。若這套系統按貝爾想象的那樣成功執行,網路中的由公鑰加密保證的自由將延伸到日常生活中。屆時,大型中心體中尸位素餐,貪汙腐敗的僱員將人人自危,苛捐雜稅,橫徵暴斂的大型中心體將極大程度地收斂他們對公民自由侵犯的行為。戰爭也將不復存在,社會將在自治中穩步而自由地發展,世界將開啟嶄新而美麗的新篇章。

貝爾的阿薩辛·普利帝克系統的核心是一個願望名單,這個願望名單包含兩個欄目。其中一欄是捐贈者希望看到的死訊的人的姓名,另一欄是這個姓名下已經累積的“捐款”。這個系統的參與者也有兩類,一類是普通的捐贈者,他們將把“捐款”投放在他們願意看到死訊的人的姓名下;另一類是“預言”者,他們會去“預言”姓名欄下的人死訊發出的日期,如果“預言”被證實,那麼他將得到所有該目標名下所有的“捐款”。此外,為了防止“預言”者實際上並沒有“預言”的能力,而是寄希望於猜對這個日期,“預言”者必須支付一定數量的“匿名支付型通證”,這一數額必須使得隨機猜測變得不經濟。

在貝爾看來,透過他設計的機制,絕對無法被攻破的公鑰加密技術使得事實上的“僱傭阿薩辛”完全合法化。

“預測者”參與這個系統的過程分為兩個部分。首先,“預測”者向組織傳送一封郵件,整個郵件透過組織公開的公鑰進行加密,也就是說只有擁有私鑰的組織可以解密它。不過,在這個階段,組織只能解密一部分內容——這個郵件中包含的匿名支付型通證,這些匿名支付型通證將被視作“預言”者並非胡亂猜測的誠意金。至於郵件中的另一個部分,其內容為“預言”的細節,即目標的姓名的死期,由“預測”者的公鑰所加密,只有透過“預測”者的私鑰才能解密,而目前組織並不知道“預測”者的公鑰。透過這種方式,組織可以解密外部信封並找到匿名支付型通證,但他們不知道在最裡面的信封中預測了什麼,無論是名稱還是日期。

在整個過程的第二個階段,此時,某位大人物的死訊應該已經透過各種媒體釋出了出來。即,“預測”者的“預言”成為了現實。預測者會向組織傳送另一個加密的“信封”,其中包含先前“預測”信封的私鑰和公鑰,以及一個用於加密用作獎勵的匿名支付型通證的新的公鑰(為了側重展示“預言”的實現前後的操作流程,示意圖中省略加密獎勵的過程)。組織將用新獲得的私鑰解密“預測”者的“預言”內容,當組織確認其日期和目標“預測”正確時,“預測者”即有權獲得獎勵。

在貝爾的十篇關於阿薩辛·普利帝克論文中,在每個‘predictor’字眼上,都加上了引號。畢竟,“要使一項預言成真,最好的方式就是去執行它”。據貝爾稱,這一系統至少比傳統的僱兇殺人有三點優勢。

首先,它完全隱藏了“預測”者的身份,這使得任何潛在的“預測”者都不必透露他的名字或位置。其次,它允許“預測”者進行“預測”而不會洩露“預測”的實際內容,這一點保證了他的“目標”不可能得到他的意圖的早期警告(並且失敗的“預測”永遠不需要透露)。事實上,除非他想要獲獎,否則他永遠無需透露他的預測。第三,它允許“預測”者匿名地將他的獎勵授予他選擇的任何其他人,因為他可以將此匿名支付型通證提供給任何人而不用擔心它將被追蹤。至始至終,即使邏輯上很有可能,“預測”者和兇手都不會因為這個系統的原因在物理上被聯絡起來。

隨著匿名支付型通證的應用,貝爾瘋狂的想法甚至已經成為了現實。由一名加密安那齊主義者在2013年創立了第一個實踐化的阿薩辛·普利帝克系統。它利用貝爾的理論來接受捐贈併為“預測”成功的人傳送獎勵,它利用了密碼朋克迪姆森·梅創立的暗網來隱藏自己的物理位置,並且利用了中本聰發明的BTC作為匿名的電子現金維持其激勵體系。在該網站能夠訪問的期間,在其願望清單上列出了美國前總統奧巴馬,經濟學家伯南克等著名公眾人物。其原暗網網址為assmkedzgorodn7o.onion,不過在2015年後,即使藉助Tor瀏覽器,我們也無法對其進行訪問。但是可以肯定的是,繼承著貝爾的思想開展著死亡“預言”服務的網站依然在暗網的某處存在著。

3.3   託管加密標準(EES)——大型中心體的復活石

既然無法阻止公鑰加密的傳播,那麼不如去嘗試主導它。——白宮1993.4

哈利波特系列中死亡聖器之一復活石擁有復活死者的力量,只不過,使用者在使用了復活石之後,死者將以介於靈魂和實體的形態,以違背使用者願望地方式復活,使用者在復活了死者之後反而會受到精神上的折磨。

為了恢復自身監聽公民通訊的特權,聯邦政府頒佈了託管加密標準(EES),該標準涵蓋了市面上所有統稱為“Clipper晶片”的加密處理器。它旨在實現加密電信,特別是手機上的語音傳輸。這個標準的核心功能並非保護民眾的通訊安全,而在於內建於晶片中的竊聽後門。

EES系統的基本功能在理論上很簡單:當兩個裝置建立安全連線時,執法機構仍然可以掌握用於解密加密資料的金鑰。通訊雖然受到保護,但FBI依然可以在他們想要這麼做的時候去閱讀這些加密的郵件或者收聽通訊者的通話。

為了進行安全的電話呼叫,兩個電話將首先建立所謂的會話金鑰以加密對話。會話金鑰可以解鎖密文並顯示明文。這個金鑰是事先給定的。因此,NSA只需要找到一種方法,使“後門金鑰”可供執法部門使用,而不會影響手機的安全性。為此他們保留了會話金鑰的副本。會話金鑰將使用燒錄在加密晶片上的金鑰來進行加密,這個金鑰被稱為“單元金鑰”。“Clipper晶片”在被製造出來的時候,單元金鑰就被燒錄到晶片上,無法更改。單元金鑰由聯邦調查局和NSA共同保管,這樣一來,當兩個機構都認為有調查某一樁通訊的必要時,它們就有能夠呼叫可以破解加密資訊的備用金鑰。在白宮看來,ESS不僅為美國人提供了安全的電信服務,也讓執法機構在必要的時候能夠輕鬆地進行竊聽。

密碼朋克們對於一個政府被允許持有所有金鑰副本感到非常憤怒。“是不是說,有了這個晶片,希特勒和希姆萊就可以利用‘單元金鑰’來確定猶太人與誰交流,從而確保他們就可以被趕盡殺絕?”密碼朋克之父迪姆森·梅提出了質問。

1994年,密碼朋克布賴茨(Blaze)對EES發出了一記死咒。布賴茨供職於 “Clipper晶片”的一家供應商,AT&T。借職務之便,他發現“Clipper晶片”上存在一些缺陷,這些缺陷導致“單元金鑰”相當容易受到篡改。他在1994年8月的一篇著名的論文中發表了他的研究結果。這樣一來,密碼朋克們只要重寫“單元金鑰”,“卡密破”就只有加密通話的功能了,執法部門拿著失效的“單元金鑰”對於那些加密了的通訊只能望洋興嘆。EES對聯邦政府監聽特權的復活並沒有持續太久,整個專案沒能撐到1994年的聖誕節就被砍掉了。不僅如此,EES事件還留下了別的惡果。

聯邦政府重新復活監聽民眾隱私權利的努力無異於投向密碼朋克圈子的一枚重磅炸彈。事後回顧這段歷史時,我們甚至可以認為EES是密碼朋克運動一直以來等待的一個重要的契機,它成為了密碼朋克運動的重要催化劑,加深了社會各界對大型中心體的不信任,無異於聯邦政府用於自裁的利刃。

4公鑰加密的應用——密碼朋克們的死亡聖器

與密碼朋克們的其他許多天才建立一樣,公鑰加密技術已經深入了我們的日常生活。

應用發行商在釋出程式時,一定會對其發行的應用程式進行數字簽名。這樣一來,使用者在利用手機或電腦安裝這個程式時,裝置會自動檢測這個程式是否真的是該應用發行商發行的。這樣就可以防止某些別有用心的人在程式安裝包中植入惡意程式碼。

開發者在支付寶旗下的螞蟻金服平臺上建立生活號時也必須透過RSA演算法生成私鑰和公鑰以保證賬號的安全。當使用者在使用這些服務時,其實已經享受到了公鑰加密演算法帶來的安全保障。

附註:

因一些原因,本文中的一些名詞標註並不是十分精準,主要如:通證、數字通證、數字currency、貨幣、token、Crowdsale等,讀者如有疑問,可來電來函共同探討。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;