區(qū)塊鏈和密碼學有何關系?

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

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

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

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

QQ截圖20200828092910.png

01、互聯(lián)網上的密碼學

密碼學包括:加密、解密、密文和密鑰。比如A有份秘密文件傳給B,首先通過加密算法把文件轉換成密文,密文就是一些看起來不知所云的內容。B收到密文后,通過對應的解密算法,就可以把密文再轉換成數(shù)據(jù)。

QQ截圖20200828092910.png

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

目前流行的加密解密算法一般都是公開的,因為不公開一般也沒人敢用,怕有后門。所以信息的安全完全在于加密人和解密人手里握的key。

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

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

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

QQ截圖20200828092910.png

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

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

QQ截圖20200828092910.png

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

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

02、公鑰加密的核心地位

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

QQ截圖20200828092910.png

在加密和解密過程中都有key參與,如果加密和解密使用同一個key,這就是對稱加密技術,反之是非對稱加密技術。

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

之所以公鑰和私鑰能夠這樣配合工作,是因為它們兩個天生就是一對兒,有著天然的數(shù)學聯(lián)系,具體的聯(lián)系方式就跟使用的具體的加密算法有關了。

QQ截圖20200828092910.png

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

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

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

QQ截圖20200828092910.png

當然,公鑰加密技術也需要考慮如何確認公鑰所有人等技術問題,所以就有了發(fā)證機構CA。

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

THEEND

最新評論(評論僅代表用戶觀點)

更多
暫無評論