區(qū)塊鏈加密技術(shù)究竟是怎么回事?

鏈客Talk
劉志剛
在密碼學(xué)中,加密是將明文信息隱匿起來(lái),使之在缺少特殊信息時(shí)不可讀。雖然加密作為通信保密的手段已經(jīng)存在了幾個(gè)世紀(jì),但是,只有那些對(duì)安全要求特別高的組織和個(gè)人才會(huì)使用它。

在去年10月24日,國(guó)家領(lǐng)導(dǎo)人在學(xué)習(xí)時(shí)強(qiáng)調(diào)“把區(qū)塊鏈作為核心技術(shù)自主創(chuàng)新重要突破口”,為我國(guó)數(shù)字經(jīng)濟(jì)發(fā)展和產(chǎn)業(yè)創(chuàng)新實(shí)踐提出了新的要求。近幾年,隨著科技發(fā)展,區(qū)塊鏈憑借其獨(dú)特的技術(shù)特點(diǎn),逐漸在各行各業(yè)被廣泛研究,尤其在金融科技領(lǐng)域已成為熱門技術(shù),這對(duì)業(yè)務(wù)數(shù)據(jù)的保護(hù)和共享具有積極作用。然而,加密技術(shù)使區(qū)塊鏈技術(shù)變得更加強(qiáng)大,并逐漸從其他技術(shù)中脫穎而出。密碼學(xué)通過(guò)使用先進(jìn)的數(shù)學(xué)原理和方法來(lái)傳輸和存儲(chǔ)數(shù)據(jù),這種存儲(chǔ)方式要求只有數(shù)據(jù)接收者才能對(duì)數(shù)據(jù)進(jìn)行讀取和處理。

在密碼學(xué)中,加密是將明文信息隱匿起來(lái),使之在缺少特殊信息時(shí)不可讀。雖然加密作為通信保密的手段已經(jīng)存在了幾個(gè)世紀(jì),但是,只有那些對(duì)安全要求特別高的組織和個(gè)人才會(huì)使用它。在20世紀(jì)70年代中期,強(qiáng)加密(StrongEncryption)的使用開(kāi)始從政府保密機(jī)構(gòu)延伸至公共領(lǐng)域,并且目前已經(jīng)成為保護(hù)許多廣泛使用系統(tǒng)的方法,比如因特網(wǎng)電子商務(wù)、手機(jī)網(wǎng)絡(luò)和銀行自動(dòng)取款機(jī)等。

對(duì)于加密技術(shù)有兩種加密類型,即:

1.對(duì)稱加密(Symmetric cryptography)

2.非對(duì)稱加密(Asymmetric cryptography)

01、對(duì)稱加密

對(duì)稱加密算法是應(yīng)用較早的加密算法,技術(shù)成熟。在對(duì)稱加密算法中,數(shù)據(jù)發(fā)信方將明文(原始數(shù)據(jù))和加密密鑰(mi yue)一起經(jīng)過(guò)特殊加密算法處理后,使其變成復(fù)雜的加密密文發(fā)送出去。收信方收到密文后,若想解讀原文,則需要使用加密用過(guò)的密鑰及相同算法的逆算法對(duì)密文進(jìn)行解密,才能使其恢復(fù)成可讀明文。在對(duì)稱加密算法中,使用的密鑰只有一個(gè),發(fā)收信雙方都使用這個(gè)密鑰對(duì)數(shù)據(jù)進(jìn)行加密和解密,這就要求解密方事先必須知道加密密鑰。

常見(jiàn)的對(duì)稱加密算法有DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES。

對(duì)稱加密優(yōu)缺點(diǎn)

優(yōu)點(diǎn):與公鑰加密相比運(yùn)算速度快。

缺點(diǎn):密鑰傳輸問(wèn)題:由于對(duì)稱加密的加密和解密使用的是同一個(gè)密鑰,所以對(duì)稱加密的安全性就不僅僅取決于加密算法本身的強(qiáng)度,更取決于密鑰是否被安全的保管,因此加密者如何把密鑰安全的傳遞到解密者手里,就成了對(duì)稱加密面臨的關(guān)鍵問(wèn)題。

比如,我們客戶端肯定不能直接存儲(chǔ)對(duì)稱加密的密鑰,因?yàn)楸环淳幾g之后,密鑰就泄露了,數(shù)據(jù)安全性就得不到保障,所以實(shí)際中我們一般都是客戶端向服務(wù)端請(qǐng)求對(duì)稱加密的密鑰,而且密鑰還得用非對(duì)稱加密加密后再傳輸。

密鑰管理問(wèn)題:再者隨著密鑰數(shù)量的增多,密鑰的管理問(wèn)題會(huì)逐漸顯現(xiàn)出來(lái)。比如我們?cè)诩用苡脩舻男畔r(shí),不可能所有用戶都用同一個(gè)密鑰加密解密吧,這樣的話,一旦密鑰泄漏,就相當(dāng)于泄露了所有用戶的信息,因此需要為每一個(gè)用戶單獨(dú)的生成一個(gè)密鑰并且管理,這樣密鑰管理的代價(jià)也會(huì)非常大。

02、非對(duì)稱加密

與對(duì)稱加密算法不同,非對(duì)稱加密算法需要兩個(gè)密鑰:公開(kāi)密鑰(public key)和私有密鑰(private key)。

公開(kāi)密鑰與私有密鑰是一對(duì),如果用公開(kāi)密鑰對(duì)數(shù)據(jù)進(jìn)行加密,只有用對(duì)應(yīng)的私有密鑰才能解密;如果用私有密鑰對(duì)數(shù)據(jù)進(jìn)行加密,那么只有用對(duì)應(yīng)的公開(kāi)密鑰才能解密。因?yàn)榧用芎徒饷苁褂玫氖莾蓚€(gè)不同的密鑰,所以這種算法叫作非對(duì)稱加密算法。

非對(duì)稱加密算法流程

A與B之間要進(jìn)行加密通信,非對(duì)稱加密流程是:

①A與B都要產(chǎn)生一對(duì)用于加密和解密的加密密鑰和解密密鑰;

②A生成一對(duì)密鑰,將公用密鑰向其他方公開(kāi)。將公鑰傳送給B,將私鑰自己保管。B將公鑰傳送給A,將私鑰自己保管。

③A發(fā)送消息給B時(shí),先用B的公鑰對(duì)信息進(jìn)行加密,再將密文發(fā)送給B;

④B收到A發(fā)來(lái)的消息時(shí),用自己的私鑰解密;

注意:A和B都只能用其專用私鑰加密由其公鑰加密后的任何信息。

非對(duì)稱加密為數(shù)據(jù)的加密與解密提供了一個(gè)非常安全的方法,它使用了一對(duì)密鑰,公鑰(public key)和私鑰(private key)。私鑰只能由一方安全保管,不能外泄,而公鑰則可以發(fā)給任何請(qǐng)求它的人。非對(duì)稱加密使用這對(duì)密鑰中的一個(gè)進(jìn)行加密,而解密則需要另一個(gè)密鑰。

比如,你向銀行請(qǐng)求公鑰,銀行將公鑰發(fā)給你,你使用公鑰對(duì)消息加密,那么只有私鑰的持有人--銀行才能對(duì)你的消息解密。與對(duì)稱加密不同的是,銀行不需要將私鑰通過(guò)網(wǎng)絡(luò)發(fā)送出去,因此安全性大大提高。

目前最常用的非對(duì)稱加密算法是RSA算法,是Rivest,Shamir,和Adleman于1978年發(fā)明,他們那時(shí)都是在MIT。

03、數(shù)字簽名

在現(xiàn)實(shí)社會(huì)中,簽名作為簽名者身份的一種證明,簽名代表對(duì)簽名文件的認(rèn)可,不可抵賴;理論上簽名是可信、不可偽造的。

數(shù)字簽名由數(shù)字摘要和非對(duì)稱加密技術(shù)組成。

首先通過(guò)數(shù)字摘要技術(shù)把交易信息縮短成固定長(zhǎng)度的字符串,然后用非對(duì)稱加密技術(shù)對(duì)摘要進(jìn)行加密,進(jìn)而形成數(shù)字簽名。

簽名完成后需要將完整的交易信息和數(shù)字簽名一起廣播給礦工,礦工用轉(zhuǎn)出人的公鑰進(jìn)行驗(yàn)證(公鑰是公開(kāi)的用來(lái)做解密操作),如果驗(yàn)證成功說(shuō)明該筆交易確實(shí)是轉(zhuǎn)出人本人發(fā)起的且信息未被篡改。

數(shù)字簽名的作用

防篡改:通過(guò)對(duì)數(shù)字簽名的驗(yàn)證,可以保證信息在傳輸過(guò)程中未被篡改。

驗(yàn)證數(shù)據(jù)的完整性:與防篡改同理,如果信息發(fā)生丟失,簽名將不完整,解開(kāi)數(shù)字簽名和之前的比較就會(huì)出現(xiàn)不一致,因而可保證文件的完整。

仲裁機(jī)制:數(shù)字簽名也可以認(rèn)為是一個(gè)數(shù)字身份,通過(guò)唯一私鑰生成,在網(wǎng)絡(luò)上交易時(shí)要求收到一個(gè)數(shù)字簽名的回文,保證過(guò)程的完整。如果對(duì)交易過(guò)程出現(xiàn)抵賴,那么用數(shù)字便于仲裁。

保密性:對(duì)于全級(jí)別要求較高的數(shù)據(jù),數(shù)字簽名加密后傳輸,保證數(shù)據(jù)在被中途截取后無(wú)法獲得其真實(shí)內(nèi)容;有利于保證數(shù)據(jù)的安全性。

防止重放:在數(shù)字簽名中,如果采用了對(duì)簽名報(bào)文添加流水號(hào)、時(shí)戳等技術(shù),可以有效防止重放攻擊。

THEEND

最新評(píng)論(評(píng)論僅代表用戶觀點(diǎn))

更多
暫無(wú)評(píng)論