官术网_书友最值得收藏!

談到Libra(天秤幣),加密貨幣是其最核心的關鍵詞,區塊鏈是其底層關鍵技術。追蹤溯源,Libra的設計思想來自比特幣,只是它沒有同比特幣一樣,缺乏基礎資產支撐且采用原教旨主義的工作量證明機制(Proof of Work,簡寫為PoW),而是做到了100%資產儲備并采用了改良版的拜占庭容錯共識機制(LibraBFT-HotStuff)。實際上,比特幣也不是最早的數字貨幣,它是數字貨幣技術發展到一定階段之后才出現的產物。

早在20世紀70年代末、80年代初就有學者在研究數字貨幣。數字貨幣技術的蓬勃發展與現代密碼學的演進緊密相關,因此要想準確理解以比特幣為代表的虛擬貨幣,以及“去虛擬化”的Libra,我們需要回到40年前,探尋現代密碼學的發展歷程。本章從現代密碼學的演進脈絡追溯數字貨幣的技術起源,剖析數字現金設計的基本原理和創新思路,探討加密貨幣技術的優點、缺點及重點研究方向,并針對以比特幣為代表的虛擬貨幣崛起,討論各國的監管應對,分析當前我國央行數字貨幣的設計理念、技術架構和前沿焦點。

現代密碼學的歷史演進

密碼學是研究編制密碼和破譯密碼的技術科學。它以數學為基礎,在加密和解密、攻擊和防守、矛和盾的對抗過程中交替發展起來。從數學算法的角度看,它包含對稱算法、非對稱算法和雜湊算法。

非對稱算法開啟真正的現代密碼學時代

顧名思義,對稱算法與非對稱算法緊密關聯。何為對稱算法?對稱算法是指加密和解密共用一個密碼,也稱單鑰加密算法。我們經常在諜戰片中看到,敵我雙方為了一個密碼本,你爭我搶。這個密碼本就是對稱加密體系中最重要的對稱加密密鑰。密鑰丟失,就意味著信息隱秘參數或者加密參數出現重大問題,機密將被泄露。要想管理好密鑰很難,因為有人會來偷或搶。在現代通信條件下,更是很難把密鑰管理起來或者分發出去。因為隨著我們與外界的溝通范圍的不斷擴大,我們對事情的把控能力將會變得非常困難。在密鑰的分發過程中,我們無法有效地防止被竊取或者被人攻擊,也不太容易去管理那么多的密鑰。

比如,我和某人約定好一個對稱密鑰:我給他發的每個信號加1才是真正的信號。兩兩之間沒有問題,可是如果我想大規模做這樣的動作,和所有人進行對稱加密傳輸的話,那么我就要和所有的每一個人約定一個特殊的密鑰和特殊的方法。無疑,這是一個很大的挑戰。

現代密碼學的真正起源正是解決對稱算法無法在大規模的信息加密傳輸中普及的問題。1976年,迪菲(Diffie)和赫爾曼(Hellman)Whitefield Diffie and Martin Hellman, New Directions in Cryptography.IEEE Transactions on Information Theory,1976, 22(6):644-654.提出了新的加密方法,他們將原來的一個密鑰一分為二成一對密鑰,一個密鑰用于加密,一個密鑰用于解密。加密密鑰公開,稱為公鑰。解密密鑰不能公開,唯獨本人秘密持有,對別人保密,稱為私鑰。如果別人想給我發信息,他要用我的公鑰對信息進行加密,而只有我的私鑰才能解開,其他任何人都解不開。同樣,我想給別人發信息,要用對方公開的加密密鑰進行加密,而只有他手上有的那把私鑰才能解開加密信息。這樣,我就不用和其他每個人約定對稱密鑰,很好地解決了單密鑰體系下的密鑰大規模分發的問題。由于加密密鑰和解密密鑰是完全不一樣的一對密鑰,所以這一思路被稱為非對稱加密思想。1978年,羅納德·李維斯特(Ronald Rivest)、阿迪·薩莫爾(Adi Shamir)和倫納德·阿德曼(Leonard Adleman)Rivest R, Shamir A, Adleman L M.,a Method for Obtaining Digital Signatures and Publickey Cryptosystems, Communications of the Acm, 1978, 26(2):96-99.首次提出非對稱加密的實現算法,即著名的RSA(三人姓氏開頭字母拼在一起)算法。

非對稱加密思想的提出以及1978年算法的實現,開啟了真正的現代密碼學時代。繼RSA算法之后,各類非對稱算法不斷出現,比如橢圓曲線加密算法等。

非對稱算法的獨特認證功能

非對稱算法帶來了原來對稱算法不具備的功能,那就是非常獨特的認證功能。比如,如果我想給別人發信息,我不僅用別人的公鑰對報文進行加密,同時我還可以用我的私鑰進行簽名,這樣別人就可以用我的公鑰進行驗簽,判定報文是不是我發給他的。認證功能的出現,使信息加密傳輸形式發生革命性的變化:信息既可以加密,也可以簽名,就像支票一樣,使信息的加密傳輸有了主人的感覺。

基于加密簽名的認證功能,我們可以構造出一個非常嚴密的信息傳輸體系。以郵件的加密傳輸流程為例。首先,我們都有一把對外公開的公鑰,將其托管到一個服務器上,既然對外公開,那么所有人都可以從服務器中得到別人的公鑰,這樣就建立起非對稱公鑰密碼體系,或稱公鑰基礎設施。然后,當進行加密郵件傳輸時,我們分別從公鑰的服務器取出對方的公鑰,我用對方的公鑰對郵件加密,同時用自己的私鑰對郵件簽名。對方從托管服務器上拿到我的公鑰,對我的私鑰進行驗簽,以此證明收到的郵件是我發出去的郵件,同時他用自己的私鑰對郵件的公鑰進行解密閱讀郵件。而其他人雖然可以驗證這是我發出去的郵件,但無法解密閱讀郵件。

對稱加密和非對稱加密在實踐中的混合使用

在對稱加密體制,由于加密、解密使用同一個密碼,所以加密速度比較快,保密程度也較高,但如前所述,它最突出的問題是如何把密鑰安全地送到收信方。如果有N個合作者,就需要有N個不同的密鑰,整個密鑰的分發和管理非常復雜,而且對稱加密體制不具備簽名的功能。

非對稱加密的特點則在于,公鑰是公開的,可以托管出去,但私鑰是絕對不能泄露的,否則,什么秘密都沒有了。公鑰與私鑰之間存在一個數學關系:從私鑰很容易推導出公鑰,但想從公鑰推出私鑰,則被認為是不可能的。當然,不是說絕對不可能,而是說從計算的復雜性看,很難去暴力破解,即便用世界上最強大的計算器去破解它,也可能需要100年、200年,這對于攻擊者而言,破解的時間成本和資源成本是不可承受的,相當于無法破解。所以相對來說,非對稱加密是安全的。

由于這是依靠計算的復雜性來阻擋攻擊者對信息的破解,所以有人擔心,假設有了量子計算機,計算的能力大大加強,是否會威脅非對稱加密體制的安全。其實不用擔心,密碼學是在加密和解密、攻擊和防守、矛和盾中不斷演化的技術,不是說量子計算機出來以后就沒有對抗了,攻擊和破解能力強了,防守能力自然也會跟上,有量子計算,就會有抗量子密碼。目前,很多國家都在研究抗量子密碼,等到量子計算機出現的那一天,自然會有全新的應對方案。

在現實生活中,對稱加密和非對稱加密并不相互排斥,而是混合使用。以網銀的應用為例,我們的私鑰存在銀行發給我們的U盾里,當我們把U盾插到電腦時,U盾就會與銀行的服務器進行交互,身份驗證后,代表你身份的數字身份上線,驗明正身很容易,就是前述私鑰的簽名和驗證。在隨后交易的過程中,雙方會約定一個交易會話的密鑰,這個密鑰則是對稱加密密鑰。為什么用對稱加密密鑰?因為它計算位數短、資源開銷小、效率高,但為了保密,每次交易會話的密鑰不一樣,并采用非對稱加密的方式進行傳遞,相當于密鑰雙方事先通過一個加密郵件,溝通一下使用什么對稱密鑰,然后無論匯款,還是買理財產品,都采用事先通過非對稱加密方式傳輸的對稱密鑰來完成,這就是兩種傳輸方式混合使用的很好例子。

哈希算法

哈希算法也叫“安全散列函數”,又稱信息摘要。眾所周知,文章摘要是對文章內容的概況總結。看了文章摘要,我們就能理解文章的大部分意思。哈希算法也有這樣的功能,它可以把任意的信息集,用非常簡單的信息予以描述。它是一個特別的數學函數:給定輸入很容易得到輸出,但是從輸出計算回輸入不可行。這就像從全文得出摘要很容易,但要根據摘要把全文再重寫一遍就不容易了。此外,哈希算法還有一個有意思的特性,只要信息發生稍微變化,摘要就變得完全不一樣,這一特性非常有用。

在早期,通信傳輸經常發生丟包和錯包,信道要么不安全,要么出現各種信息散亂。那么接收方怎么判斷接收到的信息與發送方傳送的信息完整一致呢?一種辦法是一遍一遍地發,一遍一遍地試,一次不行多發幾次,但這樣效率很低。而利用哈希函數則可以很好地解決這一難題。發送方發送信息時對原始報文做一個哈希運算,將運算出來的值一同放在原始報文后面,用來校驗。接收方收到信息包后,也對原始報文做同樣的哈希運算。根據哈希算法的特性,如果兩個運算值是一樣的,那么說明接收的信息和傳送的信息完整一致,否則,說明信息包丟失,那么只要重發丟掉的信息包即可,無須重復發送整條信息。

與對稱加密和非對稱加密不同,哈希函數是一種快速收斂的算法,從輸入到輸出的計算非常快,迅速收斂數值,無須耗費巨大的計算資源,而從輸出倒推輸入又幾乎不可行。基于這樣優秀的特性,哈希函數得到廣泛的應用,我們習以為常的人民幣冠字號碼就是由哈希算法產生的。在數字貨幣領域,哈希算法更是得到廣泛的應用。

主站蜘蛛池模板: 连城县| 漳浦县| 盐亭县| 贵定县| 海门市| 青海省| 甘洛县| 淅川县| 伽师县| 湛江市| 东明县| 磐石市| 贞丰县| 永吉县| 扶余县| 雅江县| 富阳市| 祁阳县| 乌鲁木齐市| 伽师县| 鹤峰县| 承德县| 孙吴县| 登封市| 宿松县| 永新县| 神农架林区| 綦江县| 锦屏县| 永修县| 菏泽市| 依安县| 灵寿县| 辽阳市| 肇源县| 油尖旺区| 那曲县| 乐山市| 婺源县| 古交市| 白山市|