密碼學(xué)在區(qū)塊鏈的應(yīng)用非常廣泛黔酥,可分為3類:對稱加密算法藻三、非對稱加密算法和哈希散列算法。常見的方法有: Merkle tree 哈希樹算法跪者,橢圓曲線算法棵帽,SHA-256算法,Base58編碼渣玲。作用有:通過hash算法快速查找逗概;對明文進(jìn)行加解密;對信息進(jìn)行簽名以及驗證忘衍;產(chǎn)生數(shù)字證書逾苫;生成賬戶地址等。
密碼學(xué)的歷史悠久枚钓,古時候主要應(yīng)用于軍事機(jī)密的傳送铅搓,如“口令”,“暗號”等搀捷。在1970年之前星掰,密碼學(xué)的應(yīng)用范疇大部分還是在政府層面多望,直到標(biāo)準(zhǔn)加密系統(tǒng)-數(shù)據(jù)加密標(biāo)準(zhǔn)和非對稱加密算法的發(fā)明,密碼學(xué)才逐步被深入應(yīng)用在各個領(lǐng)域氢烘。
1 密碼學(xué)的發(fā)展歷程
密碼學(xué)的發(fā)展大致可以分為三個階段:古典密碼學(xué)->現(xiàn)代密碼學(xué)->公鑰密碼學(xué)
1.古典密碼學(xué):這階段的核心密碼學(xué)思想主要為代替和置換怀偷。代替就是將明文每個字符替換成另外一種字符產(chǎn)生密文,接收者根據(jù)對應(yīng)的字符替換密文就得到明文了播玖。置換就是將明文的字符順序按照某種規(guī)則打亂椎工。
2.現(xiàn)代密碼學(xué):這階段的發(fā)展主要是對稱加密算法。對稱加密是發(fā)送方使用某種公開的算法使用密鑰對明文進(jìn)行加密蜀踏,接收方使用之前發(fā)送方給予的密鑰對密文進(jìn)行解密得到明文维蒙。
3.公匙密碼學(xué):這個階段的發(fā)展主要是非對稱加密算法。非對稱加密的原理是公鑰加密果覆,私鑰解密木西。它的實現(xiàn)過程是A通過某種算法產(chǎn)生一對密鑰,分別是公鑰和私鑰随静,然后將公鑰公開。B想發(fā)送信息給A吗讶,就使用A的公鑰對明文進(jìn)行加密產(chǎn)生密文并發(fā)送給A燎猛。A接收到密文后,用自己的私鑰對密文進(jìn)行解密照皆,得到明文重绷。
對稱加密解密的示意圖如下:
對稱性密碼系統(tǒng)就是加密和解密用的是同一把鑰匙。
例如Alice要快遞一個禮物給自己的朋友Bob膜毁。因為快遞過程中怕有人會打開將禮物取走昭卓,于是Alice用了一把鎖,并將鑰匙提前給了Bob,Bob收到禮物后用之前Alice給他的鑰匙將禮物打開瘟滨。
用這種加密方式保證了禮物的安全候醒,對于一些保密要求不是特別高的物件和信息,這種方式就可以了≡尤常現(xiàn)在問題來了倒淫,Alice想讓Bob在收到禮物后給她一個短信確認(rèn)。我們可能會想短信確認(rèn)很方便啊败玉。問題是Alice怎么確認(rèn)發(fā)信息的人就是Bob本人敌土。
而且,對于對稱性密碼系統(tǒng)运翼,需要準(zhǔn)備的密碼數(shù)量通常很多返干。比如說我們有個組織有100個人,這100個人之見要相互贈送禮物血淌,這時候我們要準(zhǔn)備100*99/2=4950把不同的鑰匙矩欠,如果組織人數(shù)更多,那密碼個數(shù)更恐怖N(N-1)/2。
非對稱加密解密的示意圖如下:
非對稱性密碼系統(tǒng)是加密和解密的過程晚顷,所用的是不同的鑰匙峰伙。
例如Alice打算給Bob一份禮物,她只要拿到Bob的公鑰將禮物鎖好该默,然后寄給Bob,Bob收到禮物后用自己的私鑰打開禮物瞳氓。
每個人有專屬的公鑰和私鑰密碼對。公鑰對外開放栓袖,私鑰自己保存匣摘。即使組織有100個人,那么私鑰的數(shù)量也只是100個裹刮。
交易信息查詢方法:
1音榜,hash數(shù)列(精準(zhǔn))
2,發(fā)送方地址(需要核對信息)
3捧弃,接收方地址(需要核對信息)