由 MDUKEY 加密方式引申開:關於區塊鏈中常見的非對稱加密演算法

買賣虛擬貨幣


一、背景:

一直以來,使用者隱私資料的安全都是 mdukey 的重中之重。作為最優先順序的事項,mdukey 儲存服務使用代理重加密、多層加密(應用層、閘道器層、檔案系統層)等技術保護使用者隱私資料,並對使用者資料資料進行最小拆分,分散式儲存,減少資料大面積洩露 的風險,同時保證服務的高可用性。

而在資料安全的基礎上,mdukey 使用對稱加密與非對稱加密技術結合的加密方式,以及專業的加解密硬體,提高加解密的速率,保證服務的高吞吐量。

其中,非對稱加密作為區塊鏈領域中的基石,雖然被很多人聽說過,但並不被具體瞭解。

因此,本文將從加密方式引申開,深入淺出介紹關於非對稱加密演算法中的“簽名與加密”。

二、什麼是非對稱加密?

非對稱加密(asymmetric cryptography),也稱為公開金鑰加密(public-key cryptography),是密碼學的一種演算法。它需要兩個金鑰,一個是公開金鑰,另一個是私有金鑰。顧名思義,公鑰可以任意對外發布;而私鑰必須由使用者自行嚴格秘密保管,絕不透過任何途徑向任何人提供,也不會透露給要通訊的另一方。

非對稱加密演算法實現機密資訊交換的基本過程是:甲方生成一對金鑰並將公鑰公開,需要向甲方傳送資訊的其他角色(乙方)使用該金鑰(甲方的公鑰)對機密資訊進行加密後再傳送給甲方;甲方再用自己私鑰對加密後的資訊進行解密。甲方想要回復乙方時正好相反,使用乙方的公鑰對資料進行加密,同理,乙方使用自己的私鑰來進行解密。

非對稱加密具有兩個重要的性質:

2.1 加密的雙向性

加密具有雙向性,即公鑰和私鑰中的任一個均可用作加密,此時另一個則用作解密。 


使用其中一個金鑰把明文加密後所得的密文,只能用相對應的另一個金鑰才能解密得到原本的明文,甚至連最初用來加密的金鑰也不能用作解密,這是非對稱加密最重要的性質或者說特點。

2.2 公鑰無法推匯出私鑰

必須確保使用公鑰無法推匯出私鑰,至少妄想使用公鑰推導私鑰必須在計算上是不可行的,否則安全性將不復存在。

雖然兩個金鑰在數學上相關,但如果知道了公鑰,並不能憑此計算出私鑰;因此公鑰可以公開,任意向外發布;而私鑰不公開,絕不透過任何途徑向任何人提供。

三、常見的非對稱加密演算法:

目前常見的非對稱加密有rsa演算法、 elgamal演算法和橢圓曲線數字簽名演算法(ecdsa),其中橢圓曲線數字簽名演算法(ecdsa)是區塊鏈中應用最多的方法。

3.1 rsa演算法

rsa 是被研究得最廣泛的公鑰演算法,從提出到現在已有四十年的歷史,經歷了各種攻擊考驗。rsa的安全性主要依賴大數分解,優勢是秘鑰長度可以增加到任意長度。rsa運算方式造成了簽名內容如果較短,會被很容易修改為攻擊者想要的內容,所以一般還需要將簽名內容進行一次雜湊運算,並填充至和私鑰差不多的長度。此外,隨著計算能力的增長,為防止被破解,秘鑰長度也需要不斷增長,目前認為安全的秘鑰長度是2048bit。同時rsa的私鑰生成需要兩個質數的組合,因此尋找更長私鑰的計算速度也更慢。


3.2 elgamal演算法

elgamal由taher elgamal於1985年發明,其基礎是diffieˉhellman 金鑰交換演算法,後者使通訊雙方能透過公開通訊來推匯出只有他們知道的秘密金鑰值[diffieˉhellman]。

diffieˉhellman是whitfield diffie和martin hellman於1976年發明的,被視為第一種 非對稱加密演算法,diffieˉhellman 與rsa的不同之處在於,diffieˉhellman不是加密演算法,它只是生成可用作對稱金鑰的秘密數值。

在diffieˉhellman金鑰交換過程中,傳送方和接收方分別生成一個秘密的隨機數,並根據隨機數推匯出公開值,然後,雙方再交換公開值。diffieˉhellman演算法的基礎是具備生成共享金鑰的能力。只要交換了公開值,雙方就能使用自己的私有數和對方的公開值來生成對稱金鑰,稱為共享金鑰。對雙方來說,該對稱金鑰是相同的,可以用於使用對稱加密演算法加密資料。


3.3 橢圓曲線數字簽名演算法(ecdsa)

橢圓曲線演算法是利用在有限域上的橢圓曲線的離散對數問題來加密或簽名的。橢圓曲線的秘鑰和rsa不同,有效範圍會受橢圓曲線引數的限制,因此不能像rsa一樣可以透過增加私鑰長度來提高安全性,對於安全性不夠的曲線,必須修改橢圓曲線的引數,不如rsa靈活。

和rsa演算法比,橢圓曲線的優勢在於:私鑰可以選取有效範圍內的任意數,私鑰的生成速度遠快於rsa演算法的私鑰。最重要的是相同秘鑰長度的橢圓曲線安全效能高很多,因此達到相同安全等級需要的橢圓曲線秘鑰的長度遠小於rsa秘鑰的長度,因此佔用的儲存空間相對較小,對於儲存比較受限的區塊鏈來說,橢圓曲線更適用。

免責聲明:

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

推荐阅读

;