“加密學(xué)”來自古希臘單詞“krypto”,意思是隱藏或秘密。加密學(xué)是一門保密的藝術(shù)和科學(xué),它對我們?nèi)祟惖臍v史產(chǎn)生了深遠的影響。
加密學(xué)被古埃及人、希伯來人、印第安人和希臘人使用。希羅多德和《愛經(jīng)》中都提到過。幾個世紀以來,世界各地的君主、貴族、軍事將領(lǐng)、精英商人和宗教神職人員都在使用加密學(xué)。盡管我們對加密學(xué)的歷史有相當(dāng)多的了解,但由于加密學(xué)的本質(zhì),我們很難了解關(guān)于加密學(xué)藝術(shù)發(fā)展的全部真相。很恰當(dāng)?shù)卣f,這在很大程度上是個秘密。幸運的是,現(xiàn)在這已經(jīng)不是什么秘密了。
加密學(xué)和加密分析(加密破譯)從它們不起眼的開始就有了長足的發(fā)展。在古代,精英們使用相對簡單的加密來保護他們的通信。早期技術(shù)在古代世界最著名的使用是凱撒加密,以羅馬將軍尤里烏斯·凱撒的名字命名。
據(jù)我們所知,像凱撒加密這樣的加密仍然有效,直到阿拉伯學(xué)者在阿拉伯哈里發(fā)時代發(fā)明了加密分析。他們發(fā)明了一種叫做頻率分析的技術(shù),這種技術(shù)的有效性在于發(fā)現(xiàn)字母,或語言中使用的字符組合,出現(xiàn)在不同的、多少有些可預(yù)測的頻率中。這一事實允許代碼破壞者使用統(tǒng)計分析相當(dāng)容易地破解簡單的替換加密,比如Caesar加密。加密學(xué)的歷史是一場永遠不會結(jié)束的加密制定者和加密破譯者之間的戰(zhàn)斗。
中世紀和早期的現(xiàn)代加密學(xué)家通過創(chuàng)造更復(fù)雜的加密進行調(diào)整。在現(xiàn)代早期,加密被引入歐洲,幾百年都不會被破解。其中兩個加密,Vigenere加密和Great加密,直到19世紀才被破解。在這些加密被破解之后,直到20世紀20年代,當(dāng)?shù)聡_始使用一種叫做Enigma的機器時,編碼人員才有了很大的進步。
破解的謎
在此之前,加密學(xué)很大程度上是由人類用手、紙、原始的智力和原始的加密盤來完成的。20世紀初,德國人使用的恩尼格瑪加密機是繼維吉納加密和 Great加密之后,在保護信息方面取得的第一個重大突破。它也開啟了加密學(xué)的電氣化和機械化。
破解謎機成了盟軍生死存亡的必修課。波蘭、法國和英國的加密破譯人員將加密分析提升到了一個新的水平。謎機和戰(zhàn)爭努力推動了必要的理論和實踐工作的研究和發(fā)展,為現(xiàn)代加密學(xué)、現(xiàn)代計算機和信息時代奠定了基礎(chǔ)。
多虧了瑪麗安·雷朱伊斯基和艾倫·圖靈等天才的努力,盟軍解開了這個謎。許多人把戰(zhàn)爭加速結(jié)束,挽救了數(shù)百萬人的生命歸功于加密的解開。
到目前為止,您所讀過的關(guān)于加密學(xué)的所有內(nèi)容(破解謎)現(xiàn)在都稱為對稱密鑰加密術(shù)。意味著加密和解密密鑰是相同的(對稱的)。
決定任何加密強度的一個關(guān)鍵因素是密鑰的可能數(shù)量??赡苄钥臻g越大,加密越強。如果空間足夠大,找到正確的密鑰對攻擊者來說就變得不切實際。對稱加密學(xué)非常有用,但它的用處有限。
雖然對稱加密學(xué)是有效的,但它會產(chǎn)生所謂的“密鑰分配問題”。如何在您和另一個之間建立一個強密匙,而不以公開密匙的方式進行通信?為了解決這個問題,政府、銀行、軍隊和任何其他使用對稱加密學(xué)的人都必須使用一個可信的中間人,在希望建立安全和私人通信的雙方之間分享秘密。這個中間人不僅效率低下,難以規(guī)?;?,而且還是一個失敗的中心。加密可能是無法破解的,但如果惡意方攔截或賄賂中間人的話,問題就更嚴重了。
公鑰加密(非對稱加密)
在20世紀70年代,研究人員Diffie, Helman和Merkle (DHM)通過消除共享密鑰的需要,解決了密鑰分發(fā)問題。隨著公鑰加密學(xué)的發(fā)現(xiàn),他們發(fā)明了非對稱加密學(xué)。DHM團隊從概念上證明了加密和解密操作可以分為兩個不同的密鑰:公共密鑰和私有密鑰。在DHM的方案中,私鑰是解密密鑰,公鑰是加密密鑰。實際上,DHM顯示通過使用公鑰加密學(xué)促使世界上任何人都可以宣傳他們的公鑰,世界各地的其他用戶可以使用這個公鑰加密消息發(fā)送到公共密鑰的所有者,只有對應(yīng)的私鑰的所有者可以解密這些消息并閱讀其內(nèi)容。
雖然這兩個詞不同,但它們在數(shù)學(xué)上是相關(guān)的。DHM從概念上證明了這一點,但是這組研究人員需要找到一個合適的數(shù)學(xué)函數(shù)來實現(xiàn)公鑰概念。他們需要尋找一個數(shù)學(xué)函數(shù),這個函數(shù)需要能量來執(zhí)行它的運算,并且需要一個數(shù)量級的能量來逆向工程或撤銷運算。
具有這兩個屬性的函數(shù)稱為單向功能。舉個例子,想吃雞蛋,先煮熟就是一個單向功能。它需要一些能量和工作來打破和烹飪,但不烹飪和把雞蛋放回它的殼將需要更多的能量。
盡管DHM在1970年初發(fā)明了公鑰加密學(xué)的概念,但是直到1970年代末,麻省理工學(xué)院的另一組研究人員才找到了解決方案。他們將DHM概念的實現(xiàn)命名為RSA,基于每個研究人員的名字。這些研究人員是第一個為公鑰加密學(xué)的概念找到合適的單向函數(shù)的。這使這個概念有了實際的實施。RSA后來被一些大型機構(gòu)使用,如政府、軍隊和擁有大量商業(yè)和金融利益的組織。直到90年代,只有大型組織才有能力和計算能力創(chuàng)建非對稱密鑰。
然而,隨著個人計算革命開始加速,到80年代末,每天的用戶都有足夠的計算能力在他們的設(shè)備上創(chuàng)建非對稱密鑰對,這是使用公鑰加密學(xué)所必需的。一位名叫菲爾·齊默爾曼的計算機科學(xué)家和軟件工程師知道這一點,他想為大眾開發(fā)非對稱加密學(xué)軟件,從而結(jié)束政府和商業(yè)上對非對稱加密學(xué)的壟斷。
他成功地推出了革命性的PGP(相當(dāng)好的隱私)產(chǎn)品,這是第一個向個人計算機用戶提供非對稱加密的免費開源軟件。普通電腦用戶現(xiàn)在可以使用菲爾·齊默爾曼的PGP產(chǎn)品進行安全、私密的交流,該產(chǎn)品至今仍在使用。PGP是第一個公開使用非對稱加密學(xué),但它不會是最后一個。
下一個大規(guī)模使用的公鑰加密學(xué)實現(xiàn)是TSL(傳輸層安全性),以前稱為SSL(安全套接字層)。數(shù)十億人每天都在使用TSL,卻不知道它可以安全地瀏覽web、發(fā)送安全消息,以及任何其他在internet上完成的、用戶從未見過或與加密密鑰交互的操作。在瀏覽體驗的背景下,TSL結(jié)合使用對稱和非對稱加密技術(shù)為盡可能多的用戶創(chuàng)建安全的互聯(lián)網(wǎng)體驗。
通過在2009年創(chuàng)造比特幣,中本聰不僅創(chuàng)造了一種新貨幣,還使用公鑰加密學(xué)(非對稱密鑰)作為這種新貨幣的基礎(chǔ)之一。
比如,DHM, Satoshi想要移除中間人。公開密鑰加密學(xué)消除了對對稱加密學(xué)所需的中間人的需求,但在比特幣的情況下,中間人并不是一個秘密共享者,而是一個決定交易的有效性和時間順序(支付處理器)以及新單元的供應(yīng)及其供應(yīng)計劃的組織(中央銀行)。Satoshi結(jié)合了公鑰加密學(xué)和加密哈希值函數(shù)(單向函數(shù)),消除了對這類組織或可信第三方的需要。似乎,嵌套在公鑰加密學(xué)和單向函數(shù)是比特幣的本質(zhì)。多虧了DHM、Satoshi和其他無數(shù)人,系統(tǒng)取代了中間人,確保我們的溝通和金錢安全。
“我們將電子代幣定義為數(shù)字簽名鏈”——中本聰
數(shù)字簽名允許某人在不暴露私鑰本身的情況下,從數(shù)學(xué)上證明他們擁有私鑰。在比特幣和所有其他使用公鑰加密的加密貨幣資產(chǎn)的情況下,任何用戶都可以檢查簽名和公鑰之間的適當(dāng)數(shù)學(xué)關(guān)系,并以這種方式驗證每筆交易的有效性。如果確定了適當(dāng)?shù)臄?shù)學(xué)關(guān)系,網(wǎng)絡(luò)上的其他人就知道,傳播交易的人控制了生成適當(dāng)簽名和適當(dāng)公鑰所需的私鑰。同樣,每個人都可以證明他們有某種秘密,而不需要透露它,網(wǎng)絡(luò)上的其他人也可以在沒有第三方幫助的情況下從數(shù)學(xué)上驗證真相。這是非常強大的。
但公鑰加密學(xué)本身不足以產(chǎn)生比特幣。你可以把錢定義為一個數(shù)字簽名鏈,但是誰來決定交易的順序呢?一個單獨的用戶怎么知道付款人沒有花同樣的代幣呢?付款人可能已經(jīng)從數(shù)學(xué)上證明了他們有一個秘密,但他們可能在兩筆不同的交易中,對同一種電子代幣使用了相同的簽名。這就是著名的雙重消費問題。Satoshi認識到,其他基于數(shù)字簽名的貨幣方案依賴第三方監(jiān)控每筆交易的雙倍支出,并監(jiān)控整個網(wǎng)絡(luò)的仿冒品。這種體制的問題在于它完全依賴中央權(quán)威。Satoshi需要一個解決方案來消除對中央集權(quán)的需求。
“我們提出的解決方案從時間戳服務(wù)器開始。時間戳服務(wù)器的工作方式是獲取要進行時間戳項目塊的哈希值,并廣泛地發(fā)布哈希值,比如在報紙或Usenet post[2-5]中。時間戳證明,為了進入哈希值,數(shù)據(jù)必須在當(dāng)時存在。每個時間戳在它的哈希值中包含前一個時間戳,形成一個鏈,每個額外的時間戳加強前一個時間戳。- Satoshi NakamotoIn解釋說“通過使用單向函數(shù)并公開發(fā)布它們(時間戳),我們可以證明數(shù)據(jù)在發(fā)布時一定存在”。并且在每個時間戳中包含“其哈希值中的前一個時間戳,形成一個鏈”。不僅代幣在使用數(shù)字簽名鏈接,交易數(shù)據(jù)塊還使用加密哈希值鏈接。哈希值的時間戳無限地滾動到下一個哈希值的時間戳中,使得網(wǎng)絡(luò)上的每個人都知道交易何時發(fā)生,并且可以用數(shù)學(xué)方法確定這個時間戳,而不需要永遠信任第三方。
現(xiàn)在,Satoshi建立了一個基于鏈接哈希值時間戳證明交易順序的系統(tǒng),他需要一種方法讓網(wǎng)絡(luò)保護數(shù)據(jù)不受稍后更改的影響,并對網(wǎng)絡(luò)已接受的交易塊發(fā)出一致的信號。比特幣的工作量證明系統(tǒng)使用加密哈希只函數(shù)SHA-256來實現(xiàn)這兩個目的:保護存儲在塊中的數(shù)據(jù)的完整性,以及對塊及其包含的交易做出多數(shù)決策。
“要在對等的基礎(chǔ)上實現(xiàn)分布式時間戳服務(wù)器,我們需要使用工作量證明系統(tǒng)”——中本聰
一旦網(wǎng)絡(luò)接受了具有適當(dāng)簽名、哈希值和工作量證明的塊,攻擊者必須重做修改塊中數(shù)據(jù)的工作量證明,并重做他們試圖修改的第一個塊之后生成的每個塊的工作量證明。這是一個非常昂貴的攻擊,不僅包括昂貴的直接成本,而且包括昂貴的機會成本。此外,攻擊的總成本呈指數(shù)增長,你離鏈的頂端越遠,你進行的攻擊就越難。
有了這個設(shè)計,我們已經(jīng)保護了比特幣區(qū)塊鏈數(shù)據(jù)的完整性,但如何證明工作有助于達成共識?
要向比特幣區(qū)塊鏈添加一個交易塊,該協(xié)議需要生成一個哈希值,該哈希值僅在10分鐘內(nèi)由一定數(shù)量的哈希能力生成。生成哈希值所需的能量應(yīng)該大致等于當(dāng)前比特幣網(wǎng)絡(luò)上哈希值的能量。這個哈希值不僅是生成散哈希值的單個礦工的工作量證明,而且還作為整個網(wǎng)絡(luò)工作的證明。由于哈希競賽是一種隨機性的游戲,生成哈希只的難度等于網(wǎng)絡(luò)的集合哈希值能力,因此整個網(wǎng)絡(luò)需要為至少一個哈希集合花費能量,以生成具有適當(dāng)工作量證明的正確哈希只。競爭與團隊合作的結(jié)合讓比特幣夢想成真。每十分鐘重新啟動一次的PoW游戲是一種集體合作競爭,它消除了對中央集權(quán)的需要。
那些從事工作量證明的人,礦工,聚集在最長的加密有效區(qū)塊鏈的頂部,積累了最多的工作量證明。“電子代幣”由數(shù)字簽名連接在一起,塊由時間戳哈希值連接,塊本身受SHA-256保護。
加密學(xué)使這一切成為可能。
Airbitz
Satoshi為比特幣的雙重消費問題提出了一個優(yōu)雅的解決方案,但比特幣的早期用戶界面并不友好。比特幣用戶被提供了一個wallet.dat文件,其中保存了他們的私鑰信息,需要定期備份以防他們的電腦死機。除非他們的文件被正確加密(這通常是一個復(fù)雜而艱苦的過程),否則這個wallet.dat文件通常位于用戶的計算機上,不受普通軟件的保護。此外,用戶在丟失加密加密的情況下無法恢復(fù)。為了減輕這種不確定性,開發(fā)人員開始進一步探索安全性和可用性之間根深蒂固的關(guān)系。
2012年,比特幣開發(fā)商Pieter Wuille發(fā)布了比特幣改進方案(Bitcoin Improvement Proposal, BIP) 32,概述了分層確定性錢包的發(fā)明,該錢包允許用戶擁有一個主私鑰,用于無限多個公共地址。當(dāng)時,這是比特幣用戶體驗基礎(chǔ)設(shè)施的重大改進。您可以將所有這些信息合并到一個文件中,而不必加密和記住每個私鑰。加密和備份這個文件可以保護當(dāng)前資金和您錢包可能收到的任何未來資金。
此后不久,在2013年底,HD錢包又有了進一步的改進,引入了助記種子(BIP39),允許主密鑰由12或24個單詞表示。用戶現(xiàn)在可以通過寫下12-24個單詞并將其放在一個安全的位置來備份他們的錢包。
雖然改進了用戶體驗,但我們的聯(lián)合創(chuàng)始人認為,作為備份的12-24個單詞種子還不夠好,不適合大規(guī)模采用。2013年,我們的聯(lián)合創(chuàng)始人著手打造一個非托管的比特幣錢包,不再需要記錄、加密和備份私人密鑰或隨機的12或24個單詞種子。他們在2014年末成功推出了我們的第一款產(chǎn)品:Airbitz比特幣錢包。
Airbitz(現(xiàn)在的Edge)用戶不需要加密和備份私鑰或12-24個單詞種子,只需提供用戶名和加密,就可以備份和保護他們的比特幣錢包。用戶名用于備份,加密用于保護這些備份。我們的軟件哈希用戶加密,這些哈希加密被用作加密和解密密鑰,以保護和解鎖用戶帳戶。此外,我們的軟件會根據(jù)用戶使用的設(shè)備的功能對加密進行哈希。更強大的CPU將產(chǎn)生更強大的加密哈希值,從而產(chǎn)生更強的加密密鑰。隨著硬件的不斷改進,我們的加密哈希值將隨著這些改進而逐步增強。
為了構(gòu)建Airbitz比特幣錢包,兩位創(chuàng)始人結(jié)合使用對稱和非對稱加密技術(shù),創(chuàng)建了一個安全、私密、易用的比特幣錢包。聯(lián)合創(chuàng)始人使用對稱加密學(xué)保護私鑰免受丟失和盜竊,他們還使用非對稱加密學(xué)使用戶能夠在比特幣等網(wǎng)絡(luò)上進行交易。
Edge
進入2017年,加密貨幣資產(chǎn)領(lǐng)域的深度和廣度自2014年以來顯著擴大,加密貨幣資產(chǎn)總量突破1000億美元,整個生態(tài)系統(tǒng)市值達到數(shù)千億美元。到2017年底,我們能夠擴大我們的錢包和平臺的能力,包括比特幣以外的其他資產(chǎn)。
新的多資產(chǎn)錢包Edge的用戶可以訪問更多的資產(chǎn),這些資產(chǎn)具有與Airbitz相同的安全性、私密性和可用性。隨著Edge錢包的發(fā)布,世界上任何地方的用戶都可以通過一個用戶名和加密,在許多不同的資產(chǎn)上備份大量的價值。Edge像Airbitz和TSL一樣,利用對稱和非對稱加密學(xué),以盡可能多的方式創(chuàng)建一種安全、私有和簡單的方式與貨幣互聯(lián)網(wǎng)交互。
例如,假設(shè)Edge的用戶居住在委內(nèi)瑞拉,并持有分布在BTC、DASH和ETH的2,000美元。這是他和他家人一生的積蓄。這名用戶想要越過邊境進入哥倫比亞,但他知道委內(nèi)瑞拉安全部隊以沒收手機和行李等個人物品、檢查其內(nèi)容以及扣留貴重物品而聞名。這個假想的用戶可以在到達邊境之前刪除他的Edge錢包,通過邊境檢查站,在同一部手機或新手機上下載哥倫比亞的Edge錢包,并輸入用戶名和加密。用戶的手機將從Edge服務(wù)器下拉他的賬戶的加密副本,而他剛剛輸入的加密的哈希值將直接解密他手機上的賬戶。然后用戶將在他離開的地方看到他所有的價值,并將能夠與任何他喜歡的人,在他喜歡的任何時間,私下和安全地進行交易。
加密學(xué)的威脅:量子計算?
Edge、比特幣或任何其他加密資產(chǎn)的加密技術(shù)會被量子計算機破解嗎?好消息是量子計算機的存在并沒有使Edge對對稱加密學(xué)的使用面臨風(fēng)險。量子計算機在破解對稱加密學(xué)方面并不比經(jīng)典計算機強。壞消息是,量子計算機的存在在理論上使某些公鑰加密和數(shù)字簽名系統(tǒng)處于危險之中,比如RSA和ECDSA(比特幣目前使用的)。然而,目前使用的非對稱加密學(xué)的比特幣和其他加密貨幣資產(chǎn)非常強大,其他公開可用的非對稱加密學(xué)可能具有量子抵抗能力。
加密分析(或譯碼器)需要一個巨大的理論或技術(shù)突破,才能將加密貨幣資產(chǎn)的使用置于危險之中。由于因數(shù)分解的性質(zhì)和素數(shù)的性質(zhì),純數(shù)學(xué)理論似乎是一個死胡同。因式分解是困難的、耗時的、耗費精力的,并且包含了許多在數(shù)學(xué)上看來不可協(xié)商的步驟。打破不對稱加密學(xué)的希望和夢想似乎主要在于技術(shù)的進步。加密破解者把量子計算看作是打破非對稱加密體制所需要的技術(shù)突破。
量子計算機是一種威脅,因為它們可以同時計算很多東西。它們的對手是經(jīng)典計算機,比如您現(xiàn)在使用的那個,一次只能計算一個數(shù)字。由于量子計算機可以同時計算很多東西,研究人員認為他們可以打破離散對數(shù)問題的有用性,而離散對數(shù)問題是許多非對稱加密學(xué)的數(shù)學(xué)基礎(chǔ)。但這一事實并不能讓我們得出量子計算破壞了所有公鑰加密的結(jié)論。量子計算機可能能夠破解RSA或ECDSA等特定方案,但也有其他類型的加密系統(tǒng),如基于晶格的加密術(shù)和基于多元二次方程的加密術(shù),據(jù)信可以抵御量子計算攻擊。
盡管使用ECDSA等簽名算法對加密貨幣的理論威脅是真實存在的,但從短期到中期來看,量子計算似乎并不是一個相關(guān)的實際威脅。這為加密貨幣網(wǎng)絡(luò)的用戶和開發(fā)人員在適當(dāng)?shù)臅r候提供了研究、測試、選擇和切換到抗量子加密系統(tǒng)的時間。一些研究人員甚至正在開發(fā)一種協(xié)議,允許用戶安全地將資金從舊的(非抗量子)輸出轉(zhuǎn)移到堅持抗量子數(shù)字簽名方案的資金。研究人員表示,這可以通過比特幣的軟叉來實現(xiàn)。
此外,技術(shù)可以以多種方式使用。一些研究人員和組織將使用量子計算來進行令人費解的加密分析,但他們也可能使用量子計算來發(fā)展面部融合的量子加密術(shù)。事實上,一位年輕的研究人員在1970年提出了一項名為量子貨幣的理論建議,利用量子加密技術(shù)制造出不可偽造的紙幣。他的提議最初被否決,直到1983年才發(fā)表。這種量子貨幣是一個理論構(gòu)想,但它表明,研究人員可以用強大的技術(shù)在許多不同的方向進行研究。量子計算也許能夠打破現(xiàn)有的不對稱加密學(xué),并有助于發(fā)展一種新的量子加密學(xué)范式。
加密學(xué)的歷史是一個永遠不會結(jié)束的戰(zhàn)斗。戰(zhàn)斗一直持續(xù)到今天,而且和以前一樣激烈。
評論
查看更多