區(qū)塊鏈和密碼學(xué)有何關(guān)系?

互聯(lián)網(wǎng)時(shí)代,所有信息都是在公共區(qū)域進(jìn)行傳輸,任何人都可以截取我們的數(shù)據(jù),于是在數(shù)據(jù)傳輸之前進(jìn)行加密就顯得尤其重要,當(dāng)代的密碼學(xué)也是在這個(gè)情景下來(lái)發(fā)展的,因此當(dāng)代密碼學(xué)被稱為“互聯(lián)網(wǎng)上的密碼學(xué)”。

密碼學(xué)是數(shù)學(xué)和計(jì)算機(jī)科學(xué)的一個(gè)交叉。主要有兩個(gè)方面的應(yīng)用:一個(gè)就是加密通信;另一個(gè)方向是數(shù)字簽名。

數(shù)字簽名跟紙筆簽名類似,可以用來(lái)認(rèn)證簽署人身份。密碼學(xué)早期主要用于軍事領(lǐng)域,隨著互聯(lián)網(wǎng)發(fā)展,民用方面涉及電子商務(wù)、銀行支付、數(shù)字版權(quán)等領(lǐng)域也普遍得到應(yīng)用。

最近幾年,區(qū)塊鏈和加密貨幣興起,密碼學(xué)的發(fā)展又進(jìn)入了一個(gè)新的階段,區(qū)塊鏈的底層是密碼學(xué)技術(shù),但是也涉及到經(jīng)濟(jì)學(xué)。

QQ截圖20200828092910.png

01、互聯(lián)網(wǎng)上的密碼學(xué)

密碼學(xué)包括:加密、解密、密文和密鑰。比如A有份秘密文件傳給B,首先通過(guò)加密算法把文件轉(zhuǎn)換成密文,密文就是一些看起來(lái)不知所云的內(nèi)容。B收到密文后,通過(guò)對(duì)應(yīng)的解密算法,就可以把密文再轉(zhuǎn)換成數(shù)據(jù)。

QQ截圖20200828092910.png

那么密鑰是什么呢?其實(shí)在加密和解密運(yùn)算過(guò)程中有兩個(gè)要素,一個(gè)是算法,另外一個(gè)是密鑰,英文叫key。key就是參與加密解密運(yùn)算過(guò)程的一小段數(shù)據(jù)。

目前流行的加密解密算法一般都是公開的,因?yàn)椴还_一般也沒人敢用,怕有后門。所以信息的安全完全在于加密人和解密人手里握的key。

例如凱撒密碼,凱撒要給他的將軍發(fā)一封密信,凱撒使用的算法是把字母按照字母表順序往后移動(dòng)一定的位數(shù),比如信息本來(lái)是A,現(xiàn)在往后移動(dòng)3個(gè)位數(shù),就變成了D,這樣生成的密文就誰(shuí)也看不懂了。

這個(gè)過(guò)程中算法是“字母偏移”,而key就是3。將軍收到密文后,根據(jù)同樣的算法和key反推就可以解密。

隨著電氣革命興起,發(fā)明了專門用于加密的硬件器材。但是真正密碼學(xué)的大發(fā)展是在計(jì)算機(jī)興起之后,尤其是互聯(lián)網(wǎng)的到來(lái)。

QQ截圖20200828092910.png

互聯(lián)網(wǎng)時(shí)代,所有信息都是在公共區(qū)域進(jìn)行傳輸,任何人都可以截取我們的數(shù)據(jù),于是在數(shù)據(jù)傳輸之前進(jìn)行加密就顯得尤其重要,當(dāng)代的密碼學(xué)也是在這個(gè)情景下來(lái)發(fā)展的,因此當(dāng)代密碼學(xué)被稱為“互聯(lián)網(wǎng)上的密碼學(xué)”。

沒有不可破解的密碼!理論上,任何密碼都可以通過(guò)暴力搜索的方式來(lái)破解?;ヂ?lián)網(wǎng)上的加密算法都是公開的,所以key的一些特征也是明確的,例如總共多少位。

QQ截圖20200828092910.png

利用計(jì)算機(jī)暴力搜索的方式去破解是一種很容易想到的攻擊方式。

這就給加密算法的設(shè)計(jì)者提出了一個(gè)基本要求,那就是算法一定是要保證足夠的計(jì)算難度,使得破解密碼所花時(shí)間是不可接受的,例如一萬(wàn)年。沒有不可以破解的密碼,只有很難破解的密碼,隨著計(jì)算機(jī)運(yùn)算速度不斷的提升,加密算法也需要不斷迭代。

02、公鑰加密的核心地位

當(dāng)代密碼學(xué)分為兩套系統(tǒng):對(duì)稱加密和非對(duì)稱加密。其中非對(duì)稱加密也被叫做公鑰加密,是密碼學(xué)的核心技術(shù)。

QQ截圖20200828092910.png

在加密和解密過(guò)程中都有key參與,如果加密和解密使用同一個(gè)key,這就是對(duì)稱加密技術(shù),反之是非對(duì)稱加密技術(shù)。

具體做法是首先生成一對(duì)key,其中一個(gè)是公鑰,Public Key,公鑰是可以公開給任何人的,另外一個(gè)是私鑰,Private Key,要嚴(yán)格保密。發(fā)送方首先拿到接收方的公鑰,用公鑰把信息加密,接收方收到密文后,用私鑰解密獲得信息。

之所以公鑰和私鑰能夠這樣配合工作,是因?yàn)樗鼈儍蓚€(gè)天生就是一對(duì)兒,有著天然的數(shù)學(xué)聯(lián)系,具體的聯(lián)系方式就跟使用的具體的加密算法有關(guān)了。

QQ截圖20200828092910.png

非對(duì)稱加密中最著名的算法有兩種,一個(gè)是RSA,是非對(duì)稱加密技術(shù)的開山鼻祖;另外一個(gè)是ECC,也就是橢圓曲線算法(Wisdom Chain采用的就是橢圓曲線算法)。ECC是一種更高效的加密算法。

對(duì)稱加密在發(fā)送方和接收方使用相同的key,所以建立安全通信的前提是雙方先要有共享的key。在沒有加密通道的情況下,key應(yīng)該如何安全的傳遞給對(duì)方呢?

這個(gè)在互聯(lián)網(wǎng)上是非常有挑戰(zhàn)性的。相對(duì)比之下,公鑰加密技術(shù)要分享的是公鑰,不用擔(dān)心泄露問題,相對(duì)要安全一些,另外公鑰加密技術(shù)也衍生出了數(shù)字簽名技術(shù)。

QQ截圖20200828092910.png

當(dāng)然,公鑰加密技術(shù)也需要考慮如何確認(rèn)公鑰所有人等技術(shù)問題,所以就有了發(fā)證機(jī)構(gòu)CA。

總的來(lái)說(shuō):第一,密碼學(xué)是對(duì)安全通信技術(shù)的研究,要能抵御各種惡意攻擊。第二,密碼學(xué)的底層是數(shù)學(xué),密碼學(xué)的安全取決于一個(gè)難度足夠高的數(shù)學(xué)問題,保證計(jì)算機(jī)在可接受的時(shí)間跨度內(nèi)根本不可能運(yùn)算出密鑰。第三,當(dāng)代密碼學(xué)是互聯(lián)網(wǎng)環(huán)境下的密碼學(xué),關(guān)鍵性技術(shù)是公鑰加密技術(shù)。

THEEND

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

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