區(qū)塊鏈技術(shù)的應(yīng)用和開(kāi)發(fā),數(shù)字加密技術(shù)是關(guān)鍵。一旦加密方法遭到破解,區(qū)塊鏈的數(shù)據(jù)安全將受到挑戰(zhàn),區(qū)塊鏈的不可篡改性將不復(fù)存在。加密算法分為對(duì)稱加密算法和非對(duì)稱加密算法,區(qū)塊鏈中主要應(yīng)用非對(duì)稱加密算法,非對(duì)稱加密算法中公鑰密碼體制根據(jù)其所依據(jù)的難題一般分為三類:大整數(shù)分解問(wèn)題類、離散對(duì)數(shù)問(wèn)題類、橢圓曲線類。.本文由qkljys123整理發(fā)布.
1.哈希算法
Hash,一般翻譯做散列、雜湊,或音譯為哈希,是把任意長(zhǎng)度的輸入(又叫做預(yù)映射pre-image)通過(guò)散列算法變換成固定長(zhǎng)度的輸出,該輸出就是散列值。這種轉(zhuǎn)換是一種壓縮映射,也就是,散列值的空間通常遠(yuǎn)小于輸入的空間,不同的輸入可能會(huì)散列成相同的輸出,所以不可能從散列值來(lái)確定唯一的輸入值。簡(jiǎn)單的說(shuō)就是一種將任意長(zhǎng)度的消息壓縮到某一固定長(zhǎng)度的消息摘要的函數(shù)。
2.密鑰密碼體制
3.直到現(xiàn)代以前,密碼學(xué)幾乎專指加密算法:將普通信息(明文)轉(zhuǎn)換成難以理解的資料(密文)的過(guò)程;解密算法則是其相反的過(guò)程:由密文轉(zhuǎn)換回明文;密碼機(jī)(cipher或cypher)包含了這兩種算法,一般加密即同時(shí)指稱加密與解密的技術(shù)。密碼機(jī)的具體運(yùn)作由兩部分決定:一個(gè)是算法,另一個(gè)是鑰匙。鑰匙是一個(gè)用于密碼機(jī)算法的秘密參數(shù),通常只有通訊者擁有。歷史上,鑰匙通常未經(jīng)認(rèn)證或完整性測(cè)試而被直接使用在密碼機(jī)上,密鑰來(lái)源于密碼技術(shù)領(lǐng)域。
3 Merkle Tree
4數(shù)字簽名
數(shù)字簽名(又稱公鑰數(shù)字簽名)是只有信息的發(fā)送者才能產(chǎn)生的別人無(wú)法偽造的一段數(shù)字串,這段數(shù)字串同時(shí)也是對(duì)信息的發(fā)送者發(fā)送信息真實(shí)性的一個(gè)有效證明。它是一種類似寫(xiě)在紙上的普通的物理簽名,但是使用了公鑰加密領(lǐng)域的技術(shù)來(lái)實(shí)現(xiàn)的,用于鑒別數(shù)字信息的方法。一套數(shù)字簽名通常定義兩種互補(bǔ)的運(yùn)算,一個(gè)用于簽名,另一個(gè)用于驗(yàn)證。數(shù)字簽名是非對(duì)稱密鑰加密技術(shù)與數(shù)字摘要技術(shù)的應(yīng)用。
5零知識(shí)證明
零知識(shí)證明(Zero—Knowledge Proof),是由S.Goldwasser、S.Micali及C.Rackoff在20世紀(jì)80年代初提出的。它指的是證明者能夠在不向驗(yàn)證者提供任何有用的信息的情況下,使驗(yàn)證者相信某個(gè)論斷是正確的。零知識(shí)證明實(shí)質(zhì)上是一種涉及兩方或更多方的協(xié)議,即兩方或更多方完成一項(xiàng)任務(wù)所需采取的一系列步驟。證明者向驗(yàn)證者證明并使其相信自己知道或擁有某一消息,但證明過(guò)程不能向驗(yàn)證者泄漏任何關(guān)于被證明消息的信息。大量事實(shí)證明,零知識(shí)證明在密碼學(xué)中非常有用。如果能夠?qū)⒘阒R(shí)證明用于驗(yàn)證,將可以有效解決許多問(wèn)題。
總結(jié):
總而言之,區(qū)塊鏈技術(shù)作為新興的技術(shù),其中大量利用了現(xiàn)代密碼學(xué)的已有成果,包括哈希、加解密、數(shù)字簽名等。另一方面,區(qū)塊鏈系統(tǒng)和諸多新的場(chǎng)景也對(duì)密碼學(xué)和安全技術(shù)提出了很多新的需求,反過(guò)來(lái)也將促進(jìn)相關(guān)學(xué)科的進(jìn)一步發(fā)展。只有在數(shù)據(jù)安全的基礎(chǔ)上,區(qū)塊鏈才可以進(jìn)行推廣,因此密碼學(xué)是區(qū)塊鏈的首要核心。