區(qū)塊鏈技術的應用和開發(fā),數(shù)字加密技術是關鍵。一旦加密方法遭到破解,區(qū)塊鏈的數(shù)據(jù)安全將受到挑戰(zhàn),區(qū)塊鏈的不可篡改性將不復存在。加密算法分為對稱加密算法和非對稱加密算法,區(qū)塊鏈中主要應用非對稱加密算法,非對稱加密算法中公鑰密碼體制根據(jù)其所依據(jù)的難題一般分為三類:大整數(shù)分解問題類、離散對數(shù)問題類、橢圓曲線類。
一、區(qū)塊鏈的加密技術的介紹
加密算法一般分為對稱加密和非對稱加密,非對稱加密指為滿足安全性需求和所有權驗證需求而集成到區(qū)塊鏈中的加密技術。非對稱加密通常在加密和解密過程中使用兩個非對稱的密碼,分別稱為公鑰和私鑰。非對稱密鑰對具有兩個特點:一是用其中一個密鑰(公鑰或私鑰)加密信息后,只有另一個對應的密鑰才能解開。二是公鑰可向其他人公開,私鑰則保密,其他人無法通過該公鑰推算出相應的私鑰。
非對稱加密一般劃分為三類主要方式:大整數(shù)分解問題類、離散對數(shù)問題類、橢圓曲線類。大整數(shù)分解問題類指用兩個較大的質(zhì)數(shù)的乘積作為加密數(shù),由于質(zhì)數(shù)的出現(xiàn)具有不規(guī)律性,尋找破解只能通過不斷地試算。離散對數(shù)問題類指的是基于離散對數(shù)的難解性,利用強的單向散列函數(shù)的一種非對稱分布式加密算法。橢圓曲線類指利用平面橢圓曲線來計算成組非對稱特殊值,比特幣就使用此類加密算法。
非對稱加密技術在區(qū)塊鏈的應用場景主要包括信息加密、數(shù)字簽名和登錄認證等。
(1)信息加密場景主要是由信息發(fā)送者(記為A)使用接受者(記為B)的公鑰對信息加密后再發(fā)送給B,B利用自己的私鑰對信息解密。比特幣交易的加密即屬于此場景。
(2)數(shù)字簽名場景則是由發(fā)送者A采用自己的私鑰加密信息后發(fā)送給B,B使用A的公鑰對信息解密、從而可確保信息是由A發(fā)送的。
(3)登錄認證場景則是由客戶端使用私鑰加密登錄信息后發(fā)送給服務器,后者接收后采用該客戶端的公鑰解密并認證登錄信息.
注意上述三種場景加密的不同之處:
信息加密是公鑰加密,私鑰解密,確保信息的安全性;數(shù)字簽名是私鑰加密公鑰解密,確保數(shù)字簽名的歸屬性;登錄認證私鑰加密,公鑰解密。
以比特幣系統(tǒng)為例,其非對稱加密機制如圖1所示:比特幣系統(tǒng)一般通過調(diào)用操作系統(tǒng)底層的隨機數(shù)生成器來生成256位隨機數(shù)作為私鑰。比特幣私鑰的總量大,極難通過遍歷全部私鑰空間來獲得存有比特幣的私鑰,因而密碼學是安全的。為便于識別,256位二進制形式的比特幣私鑰將通過SHA256哈希算法和Base58轉換,形成50個字符長度易識別和書寫私鑰提供給用戶。比特幣的公鑰是由私鑰首先經(jīng)過Secp256k1橢圓曲線算法生成65字節(jié)長度的隨機數(shù)。該公鑰可用于產(chǎn)生比特幣交易時使用的地址,其生成過程是首先將公鑰進行SHA256和RIPEMD160雙哈希運算生成20字節(jié)長度的摘要結果(即Hash160的結果),再經(jīng)過SHA256哈希算法和Base58轉換形成33字符長度的比特幣地址。公鑰生成過程是不可逆的,即不能通過公鑰反推出私鑰。比特幣的公鑰和私鑰通常保存在比特幣錢包文件,其中私鑰最為重要。丟失私鑰就意味著丟失了對應地址的全部比特幣資產(chǎn)?,F(xiàn)有的比特幣和區(qū)塊鏈系統(tǒng)中,根據(jù)實際應用需求已經(jīng)衍生出多私鑰加密技術,以滿足多重簽名等更為靈活和復雜的場景。