加密算法在區(qū)塊鏈中的意義

加密技術(shù)作為區(qū)塊鏈技術(shù)里極其重要、不可或缺的一部分,為區(qū)塊鏈的匿名性、不可篡改和不可偽造等特點(diǎn)保駕護(hù)航。如果說共識機(jī)制是區(qū)分一個公鏈質(zhì)量的核心和靈魂,那么加密算法則是一個公鏈?zhǔn)欠裰档眯刨嚒⑹欠裼谢镜陌踩缘牡拙€。

比起共識算法,加密算法與密碼學(xué)相關(guān),更難理解,大多數(shù)公鏈采用的加密算法,都是經(jīng)過反復(fù)驗(yàn)證和時間的檢驗(yàn)的,幾乎均采用保守型技術(shù)選型。加密算法一旦因?yàn)槁┒炊还?,那么整條區(qū)塊鏈的數(shù)據(jù)都將受到挑戰(zhàn)。

如此重要的加密算法,需要應(yīng)用在區(qū)塊鏈哪些場景中,目前公鏈又普遍使用什么樣的加密算法呢?

區(qū)塊鏈?zhǔn)褂玫淖顬閺V泛的加密算法

加密算法一般分為對稱加密和非對稱加密,在區(qū)塊鏈中普遍使用的是非對稱加密。非對稱加密是指在加密和解密過程中使用兩個非對稱的密碼,分別稱為公鑰和私鑰。

非對稱秘鑰對具有兩個特點(diǎn):一是用其中一個密鑰(公鑰或私鑰)加密信息后,只有另一個對應(yīng)的密鑰才能解開。二是公鑰可向其他人公開,甚至人人可獲取,私鑰則保密,其他人無法通過該公鑰推算出相應(yīng)的私鑰。利用此種算法生成的公鑰和私鑰,目前所知實(shí)際上是無法從公鑰反向破解出私鑰的。

加密算法在區(qū)塊鏈中的意義

在非對稱加密中,代表算法有 RSA、ECC/SM2。
RSA:經(jīng)典的公鑰算法,對極大整數(shù)做因數(shù)分解的難度決定了RSA算法的可靠性。換言之,對一極大整數(shù)做因數(shù)分解愈困難,RSA算法愈可靠。
ECC:橢圓曲線算法。主要優(yōu)勢是在某些情況下它比其他的方法使用更小的密鑰——比如RSA加密算法——提供相當(dāng)?shù)幕蚋叩燃壍陌踩?。另一個優(yōu)勢是可以定義群之間的雙線性映射,基于Weil對或是Tate對;雙線性映射已經(jīng)在密碼學(xué)中發(fā)現(xiàn)了大量的應(yīng)用,例如基于身份的加密。

兩者對比之下,各有千秋,但對于追求更高安全性的區(qū)塊鏈來說,大多數(shù)公鏈還是會選擇橢圓曲線算法。

加密算法的應(yīng)用場景
非對稱加密在區(qū)塊鏈中主要應(yīng)用于信息加密、數(shù)字簽名和登錄認(rèn)證。即是主要應(yīng)用在區(qū)塊鏈數(shù)字貨幣交易中,防止篡改和偽造信息。

信息加密:信息發(fā)送者A利用信息接收者B的公鑰將信息加密后再發(fā)給B,B即可利用自己的的私鑰將信息解密。

數(shù)字簽名場景:則是由發(fā)送者A 采用自己的私鑰加密信息后發(fā)送給B,B使用A 的公鑰對信息解密、從而可確保信息是由A發(fā)送的。

登錄認(rèn)證場景:則是由客戶端使用私鑰加密登錄信息后發(fā)送給服務(wù)器,后者接收后采用該客戶端的公鑰解密并認(rèn)證登錄信息。