區(qū)塊鏈怎么保證資金安全捐寥?密碼學(xué)告訴你

引言:密碼學(xué)是區(qū)塊鏈技術(shù)的核心

我們從專業(yè)的技術(shù)知識(shí)角度來(lái)理解區(qū)塊鏈的定義,應(yīng)當(dāng)是:區(qū)塊鏈?zhǔn)且环N按照時(shí)間順序?qū)?shù)據(jù)進(jìn)行分布式存儲(chǔ)的塊鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu)祖驱,它利用共識(shí)機(jī)制進(jìn)行數(shù)據(jù)驗(yàn)證握恳,利用密碼學(xué)進(jìn)行數(shù)據(jù)保護(hù)和用戶安全訪問(wèn),利用智能合約來(lái)操作數(shù)據(jù)捺僻,從而成為不可篡改和不可偽造的分布式賬本乡洼。所以,分布式存儲(chǔ)匕坯、共識(shí)機(jī)制束昵、密碼學(xué)原理和智能合約構(gòu)成區(qū)塊鏈的核心技術(shù)內(nèi)容。

提到密碼學(xué)醒颖,我們并不感到陌生妻怎,比如許多戰(zhàn)爭(zhēng)電影中,很多人戴著耳機(jī)圍繞著機(jī)器根據(jù)“嘀嘀嘀”的聲音截獲密文泞歉,再進(jìn)行解密獲得軍事情報(bào),這就是密碼學(xué)的早期應(yīng)用匿辩。在 1970 年之前腰耙,密碼學(xué)還基本是由國(guó)家權(quán)力機(jī)構(gòu)壟斷,而后隨著技術(shù)不斷進(jìn)步铲球,才漸漸進(jìn)入公眾領(lǐng)域挺庞。

目前密碼學(xué)作為區(qū)塊鏈的核心內(nèi)容之一,在區(qū)塊鏈網(wǎng)絡(luò)的安全交易稼病、隱私保護(hù)還有安全訪問(wèn)中起到不可忽視的作用选侨,是支撐區(qū)塊鏈不可缺少的核心技術(shù)。所以今天然走,我們就用通俗易懂的語(yǔ)言跟大家介紹一下“區(qū)塊鏈中的密碼學(xué)”援制。

區(qū)塊鏈密碼學(xué)發(fā)展史

首先,要從它的發(fā)展史說(shuō)起芍瑞,這就不得不提到凱撒大帝(Caesar)—— 第一個(gè)把“替換密碼”用于軍事用途晨仑、并且記錄下來(lái)的人。他用替換字母的方法創(chuàng)造了最早的“密文”:將每個(gè)字母拆檬,用字母表中這個(gè)字母之后三位的字母替代洪己。這是一種替換加密的技術(shù),明文中的所有字母都在字母表上向后(或向前)按照一個(gè)固定數(shù)目進(jìn)行偏移后被替換成密文竟贯。

在這個(gè)過(guò)程中答捕,人人都認(rèn)識(shí)的文本是“明文”,加密的規(guī)則是“密鑰”屑那,通過(guò)密鑰拱镐,原本大家都認(rèn)識(shí)的明文就變成了看不懂的“密文”艘款。這種加密方法用我們現(xiàn)在的眼光看會(huì)稍顯幼稚,但在當(dāng)時(shí)痢站,用這種方法形成的“密文”非常難以被破譯磷箕,而這種用明文加密的思路也被沿用了上千年。

隨著科學(xué)進(jìn)步阵难,這種代換方法慢慢被人找到了破解方法岳枷,比如:學(xué)習(xí)過(guò)英語(yǔ)的我們知道,e是最常見(jiàn)的字母呜叫,其次是字母t和a空繁,如果按照凱撒密碼加密,一個(gè)密碼字母對(duì)應(yīng)明碼字母朱庆,那么密碼字母中出現(xiàn)次數(shù)最多的很有可能就應(yīng)該對(duì)應(yīng)明碼字母E盛泡,以此類推,很容易就可以排除掉大量的密鑰娱颊,從而快速地找到正確的破譯方法傲诵。

于是在1467年左右,佛羅倫薩的建筑師 Alberti 發(fā)明了多表代換密碼箱硕,也就是在一個(gè)多表替換密碼的密文中拴竹,會(huì)使用多個(gè)字母作為密碼。多字母替換密碼比單字母更難破解剧罩,因?yàn)槠涮鎿Q可能性多古话。以此為開(kāi)端少态,衍生出了非常多設(shè)計(jì)精良的多表代換密碼。而直到二十世紀(jì)二十年代,人們才終于可以開(kāi)始使用各種機(jī)械加密設(shè)備進(jìn)行自動(dòng)加密處理孝治。

計(jì)算機(jī)的誕生幫助密碼學(xué)躍升至新高度冈欢。1984 年 10 月香農(nóng)(信息論之父)的信息論出現(xiàn)活玲,標(biāo)志著現(xiàn)代密碼學(xué)的形成瞒津,這時(shí)出現(xiàn)了極具代表性的“對(duì)稱加密算法”,即:當(dāng)傳遞信息時(shí)营罢,信息先要通過(guò)密鑰進(jìn)行加密赏陵,加密后的明文以二進(jìn)制的方式轉(zhuǎn)播,再通過(guò)相同的密鑰解密獲得信息饲漾。

值得一提的是:

“對(duì)稱加密”蝙搔,密鑰只有一把,如果你想讓一個(gè)人看到你用密鑰加密的信息考传,就必須把密鑰傳遞給對(duì)方吃型,對(duì)方才能進(jìn)行解密。但這種加密的方式有一個(gè)問(wèn)題僚楞,一旦密鑰在傳輸過(guò)程被黑客截取勤晚,那么自己加密的信息則會(huì)面臨被破譯的風(fēng)險(xiǎn)枉层,所以密鑰的保存與安全傳輸就成了關(guān)鍵問(wèn)題。

直到1876年赐写,“非對(duì)稱加密”現(xiàn)世后鸟蜡,人們才攻克這一難關(guān),同時(shí)也標(biāo)志著公鑰密碼學(xué)的成型挺邀。它相較之前的“對(duì)稱加密”揉忘,最大的區(qū)別就是:“非對(duì)稱加密”的加密和解密過(guò)程分別使用了“公鑰”和“私鑰”,密鑰不再只有一個(gè)端铛,而是以一對(duì)的方式出現(xiàn)泣矛。

1976 年,Whitfield Diffie 和 Martin Hellman 提出“公鑰密碼”這一概念禾蚕,希望能實(shí)現(xiàn)在不直接傳遞密鑰的情況下就能完成密文的解密您朽,1978 年,隨著 RSA 公鑰密碼機(jī)制的完善换淆,開(kāi)啟了“非對(duì)稱加密算法”的時(shí)代哗总。

由簡(jiǎn)單到復(fù)雜,由實(shí)體到數(shù)字化倍试,密碼學(xué)成為了信息安全的保衛(wèi)者魂奥,在以不可篡改、不可偽造著稱的區(qū)塊鏈?zhǔn)澜缰幸酌ǎl(fā)揮著巨大的作用。

區(qū)塊鏈中的密碼學(xué)

介紹完區(qū)塊鏈密碼學(xué)的“前世今生”具壮,我們具體看看准颓,在區(qū)塊鏈的整個(gè)體系中密碼學(xué)原理所起到的作用,在這里我們主要介紹哈希算法和非對(duì)稱加密技術(shù)棺妓。

1攘已、哈希算法

哈希算法又稱為哈希函數(shù),是一個(gè)密碼學(xué)工具怜跑,可以用在數(shù)字簽名中样勃,還可以用于證明密碼安全體制、作為安全組件設(shè)計(jì)多種密碼體制和安全通信協(xié)議性芬。作為比特幣和區(qū)塊鏈的核心技術(shù)峡眶。簡(jiǎn)單來(lái)說(shuō)啊,它跟我們中學(xué)時(shí)期學(xué)到的函數(shù)是相同性質(zhì)的東西植锉,只要代入一個(gè) x辫樱,就能得出一個(gè) y,只不過(guò)它的計(jì)算特別復(fù)雜而已俊庇。代入一個(gè)數(shù)據(jù)后生成的加密結(jié)果被稱為這一數(shù)據(jù)的哈希值狮暑,它可以被看作是這個(gè)消息的指紋鸡挠,是世上獨(dú)一無(wú)二的表示。

相比較一般的函數(shù)而言搬男,哈希函數(shù)有兩個(gè)特別厲害的地方:

1)對(duì)于普通的函數(shù)拣展,我們平時(shí)代入的 x 只限于數(shù)字,得出的 y 數(shù)據(jù)也長(zhǎng)短不一缔逛。而對(duì)于哈希函數(shù)备埃,不管你代入什么,比如:數(shù)字译株、英文字母瓜喇、漢字或者幾者組合等等,并且不管這個(gè)數(shù)據(jù)長(zhǎng)度如何歉糜,都只能被生成一個(gè)固定長(zhǎng)度的加密結(jié)果(常見(jiàn)為 256 位)乘寒;

2)在我們課本中學(xué)到的函數(shù)往往既可以通過(guò) x 解答出 y 的值,也可以通過(guò) y 解答出 x 的值匪补,可是對(duì)于哈希函數(shù)伞辛,代入 x 后能夠生成數(shù)據(jù)為 y 的加密結(jié)果,卻不能夠由 y 再計(jì)算回到 x夯缺,并且每一個(gè) x 都只會(huì)對(duì)應(yīng)一個(gè) y蚤氏,在到目前為止能力范圍內(nèi)無(wú)法找到與之重復(fù)的結(jié)果。也就是說(shuō)踊兜,哈希函數(shù)具有絕對(duì)的單向性竿滨。

舉例:我們?cè)诰W(wǎng)上找了一個(gè)哈希( Hash )算法工具給“OKBS”加密,形成哈希值如下所示:


如圖中捏境,初始信息“OKBS”于游,經(jīng)過(guò)哈希算法計(jì)算器的加密,就變成了 256 位的加密結(jié)果了垫言。注意贰剥,哈希算法具有絕對(duì)的單向性和敏感性,任何輸入數(shù)據(jù)發(fā)生改變(哪怕只有極細(xì)微的差別)都會(huì)輸出一個(gè)不一樣的輸出結(jié)果筷频,這就是它的厲害之處了蚌成!

2、非對(duì)稱加密算法

非對(duì)稱加密算法的完成需要公鑰凛捏、私鑰和加/解密算法三個(gè)結(jié)構(gòu)担忧。

首先,密碼學(xué)中的“安全偽隨機(jī)數(shù)生成器”能夠產(chǎn)生一對(duì)密鑰(即:公鑰和私鑰)葵袭,這兩者是成對(duì)的涵妥,公鑰是可以公開(kāi)的,而私鑰則由用戶自己保留。

用私鑰加密的數(shù)據(jù)只有用公鑰才可以解密蓬网,反過(guò)來(lái)窒所,用公鑰加密的數(shù)據(jù)也只有用私鑰才可以解密。公鑰和私鑰之間的這種數(shù)學(xué)關(guān)系帆锋,使得私鑰可以用于生成特定消息的簽名吵取。而這個(gè)簽名可以在不暴露私鑰的前提下通過(guò)公鑰進(jìn)行驗(yàn)證。

也就是說(shuō)我把一段信息用私鑰進(jìn)行簽名(加密過(guò)程)锯厢,然后把這個(gè)數(shù)據(jù)連同簽名和我的公鑰發(fā)送給對(duì)方皮官,對(duì)方就可以通過(guò)公鑰對(duì)簽名進(jìn)行驗(yàn)證(解密過(guò)程)對(duì)比數(shù)據(jù)從而驗(yàn)證數(shù)據(jù)的有效性。

對(duì)應(yīng)到比特幣的交易系統(tǒng)中实辑,就是:公鑰生成的錢包地址用于接收比特幣捺氢,而私鑰則用于比特幣支付時(shí)的交易簽名。

在支付比特幣時(shí)剪撬,比特幣的所有者需要在交易中提交自己的公鑰和該交易的簽名摄乒。而比特幣網(wǎng)絡(luò)中所有節(jié)點(diǎn)可以通過(guò)所提交的公鑰和簽名進(jìn)行驗(yàn)證,從而確認(rèn)支付者對(duì)交易的比特幣的所有權(quán)残黑。這樣就實(shí)現(xiàn)了既不暴露自己的私鑰又能讓所有的節(jié)點(diǎn)有效地驗(yàn)證交易馍佑。

了解哈希算法和非對(duì)稱加密技術(shù)后,我們來(lái)具體看一看交易過(guò)程中如何進(jìn)行簽名和驗(yàn)證:

發(fā)送者想要在區(qū)塊鏈網(wǎng)絡(luò)中發(fā)起一個(gè)交易(在此理解為打包傳送一條名為 x 的原文)時(shí)梨水,先要通過(guò)哈希函數(shù)將原文 x 形成一個(gè)信息摘要 x拭荤,再用自己的私鑰對(duì)其進(jìn)行加密形成數(shù)字簽名 x,即加密過(guò)程:

接著疫诽,發(fā)送者會(huì)把原文 x 和數(shù)字簽名 x 合在一起發(fā)送給接受者:? ??

接收者接收完畢后舅世,會(huì)將原文 x 用相同的哈希算法提取信息摘要 y,再對(duì)發(fā)送者發(fā)送來(lái)的數(shù)字簽名 x 用對(duì)應(yīng)的公鑰進(jìn)行解密得到信息摘要 z奇徒,通過(guò)比較 y 與 z 是否一致來(lái)確認(rèn)接受到的信息是否有效(完整且在傳輸過(guò)程中未被修改)歇终。

以上簡(jiǎn)單介紹了密碼學(xué)在區(qū)塊鏈體系中起到的作用,密碼學(xué)可以為一切虛擬網(wǎng)絡(luò)的安全性提供保證逼龟,安全性是一切交易的基礎(chǔ),區(qū)塊鏈網(wǎng)絡(luò)離不開(kāi)加密算法這塊基石追葡。而且腺律,隨著科技發(fā)展日新月異,我們的加密算法也還會(huì)不斷改進(jìn)宜肉,讓我們拭目以待吧匀钧。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市谬返,隨后出現(xiàn)的幾起案子之斯,更是在濱河造成了極大的恐慌,老刑警劉巖遣铝,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件佑刷,死亡現(xiàn)場(chǎng)離奇詭異莉擒,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)瘫絮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門涨冀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人麦萤,你說(shuō)我怎么就攤上這事鹿鳖。” “怎么了壮莹?”我有些...
    開(kāi)封第一講書人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵翅帜,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我命满,道長(zhǎng)涝滴,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任周荐,我火速辦了婚禮狭莱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘概作。我一直安慰自己腋妙,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布讯榕。 她就那樣靜靜地躺著骤素,像睡著了一般。 火紅的嫁衣襯著肌膚如雪愚屁。 梳的紋絲不亂的頭發(fā)上济竹,一...
    開(kāi)封第一講書人閱讀 51,488評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音霎槐,去河邊找鬼送浊。 笑死,一個(gè)胖子當(dāng)著我的面吹牛丘跌,可吹牛的內(nèi)容都是我干的袭景。 我是一名探鬼主播,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼闭树,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼耸棒!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起报辱,我...
    開(kāi)封第一講書人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤与殃,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體幅疼,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡米奸,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了衣屏。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片躏升。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖狼忱,靈堂內(nèi)的尸體忽然破棺而出膨疏,到底是詐尸還是另有隱情,我是刑警寧澤钻弄,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布佃却,位于F島的核電站,受9級(jí)特大地震影響窘俺,放射性物質(zhì)發(fā)生泄漏饲帅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一瘤泪、第九天 我趴在偏房一處隱蔽的房頂上張望灶泵。 院中可真熱鬧,春花似錦对途、人聲如沸赦邻。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)惶洲。三九已至,卻和暖如春膳犹,著一層夾襖步出監(jiān)牢的瞬間恬吕,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工须床, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留铐料,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓豺旬,卻偏偏與公主長(zhǎng)得像余赢,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子哈垢,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容