國密算法在區(qū)塊鏈中的應(yīng)用

密碼學(xué)算法是區(qū)塊鏈的安全基礎(chǔ),在其中使用了大量的加密算法,包括對(duì)稱加密、非對(duì)稱加密、單向散列算法、數(shù)字簽名等等。下面我們就來了解一下國密算法在區(qū)塊鏈中的應(yīng)用。

區(qū)塊鏈中的密碼算法

區(qū)塊鏈基礎(chǔ)架構(gòu)中的密碼算法整體上分為哈希算法和非對(duì)稱加密算法。

哈希算法被廣泛地使用在構(gòu)造和驗(yàn)證區(qū)塊、交易的完整性上,由于哈希算法的特性,使得我們可以把任意的交易數(shù)據(jù)做成數(shù)據(jù)摘要,然后再一個(gè)一個(gè)鏈接起來,形成數(shù)據(jù)塊的鏈?zhǔn)浇Y(jié)構(gòu)。這樣我們可以通過驗(yàn)證每個(gè)區(qū)塊間接地驗(yàn)證交易,然后每個(gè)交易原數(shù)據(jù)也可以做成哈希數(shù)據(jù)摘要,用于驗(yàn)證交易數(shù)據(jù)的完整性。

在區(qū)塊鏈系統(tǒng)中,非對(duì)稱加密技術(shù)除了用于用戶標(biāo)識(shí)、操作權(quán)限校驗(yàn),還用于數(shù)字資產(chǎn)地址的生成、資產(chǎn)所有權(quán)的標(biāo)識(shí)和數(shù)字資產(chǎn)的流轉(zhuǎn)。具體來說,基于非對(duì)稱加密技術(shù)的數(shù)字簽名可以構(gòu)建公私鑰對(duì)以標(biāo)識(shí)用戶身份;可以基于公鑰生成加密資產(chǎn)地址,以公私鑰對(duì)檢驗(yàn)資產(chǎn)所有權(quán);可以用私鑰對(duì)操作簽名,用公鑰校驗(yàn)用戶的操作權(quán)限;還可以用接收方公鑰對(duì)傳輸數(shù)據(jù)加密,接收方用私鑰解密并讀取數(shù)據(jù)。

區(qū)塊鏈

國密算法在區(qū)塊鏈中的應(yīng)用

目前各主流的區(qū)塊鏈都在嘗試使用國密算法,其主要應(yīng)用在:

  1. 使用SM3代替SHA-256等作為默認(rèn)的密碼雜湊算法;
  2. 使用SM2替代ECDSA簽名算法;
  3. 使用SM2證書代替RSA、ECDSA證書。

區(qū)塊鏈

國密算法的應(yīng)用優(yōu)勢(shì)

SM3和SHA-256相比,SM3是SHA-256的一種改進(jìn)和優(yōu)化,SM3的算法結(jié)構(gòu)是MD(Merkle-Damgard)結(jié)構(gòu),SM3的可碰撞性更強(qiáng),安全程度更高。

SM2和RSA的底層算法數(shù)學(xué)原理不同, SM2安全強(qiáng)度更高,它可以用更短的密鑰來達(dá)到更高的安全強(qiáng)度。SM2只需要256位的密鑰程度就可以達(dá)到RSA 2046位的密鑰安全強(qiáng)度,甚至還要超過。

區(qū)塊鏈


理論上,在區(qū)塊鏈中使用國密算法會(huì)更加安全、快速,但在實(shí)際使用中卻還存在著不少難題,如區(qū)塊鏈上層協(xié)議和硬件設(shè)施的兼容性、密碼學(xué)協(xié)議的標(biāo)準(zhǔn)化等等,這些都需要各方不斷地努力,來豐富國密算法在區(qū)塊鏈中的應(yīng)用。

免責(zé)聲明:素材源于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系刪稿。