官术网_书友最值得收藏!

  • 輕松讀懂區(qū)塊鏈
  • 杜經(jīng)農(nóng) 杜江天
  • 848字
  • 2020-05-22 15:21:23

4.4 基于數(shù)字簽名的加密通信

通過利用橢圓曲線加密算法進(jìn)行加密和數(shù)字簽名,并用哈希算法SHA256來輔助驗(yàn)證情書的完整性,小明和翠花終于可以在網(wǎng)上歡樂地寫情書,且不用擔(dān)心被偽造、篡改和偷看,也不用擔(dān)心在網(wǎng)上傳播的密鑰被截獲。看來區(qū)塊鏈技術(shù)首先給他們帶來了幸福的生活,他們的通信過程如圖4.4所示(假設(shè)小明的私鑰是k1,公鑰是k2;翠花的私鑰是c1,公鑰是c2)。

(1)小明寫好情書(用字母a代表這封情書),然后用SHA256算法求出這封情書的哈希值,寫作SHA(a)。

(2)小明用自己的私鑰k1對(duì)哈希值加密,得到的結(jié)果就是一個(gè)數(shù)字簽名,寫作k1(SHA(a))。

(3)小明把情書a用翠花的公鑰c2加密,得到c2(a),然后把加密后的情書c2(a)和數(shù)字簽名k1(SHA(a))一起發(fā)送給翠花。

(4)翠花收到加密情書c2(a)后,先用自己的私鑰c1對(duì)它解密,得到了情書原文。

(5)為了保證情書確實(shí)是小明寫的且未被篡改,翠花還需要驗(yàn)證情書的數(shù)字簽名。翠花用小明的公鑰k2解密數(shù)字簽名k1(SHA(a)),得到SHA(a)。

(6)翠花用SHA256算法求出a的哈希值D,用這個(gè)值與SHA(a)比較,如果是一致的,則說明情書與小明當(dāng)初發(fā)出的是一樣的,傳輸過程中未出現(xiàn)任何錯(cuò)誤。

圖4.4│小明和翠花的加密通信全過程示意圖

通過上面6個(gè)步驟,小明和翠花可以安全通信,即使是在一個(gè)公開的網(wǎng)絡(luò)上,二黑可以隨意觀察他們的通信過程,但很難偽造和篡改他們的情書。在比特幣系統(tǒng)中,也正是用了這種方法來保障區(qū)塊數(shù)據(jù)不易被篡改和偽造。例如,在區(qū)塊鏈中,當(dāng)小明向翠花發(fā)送一個(gè)“虛擬貨幣”時(shí),他會(huì)用自己的私鑰對(duì)翠花的公鑰進(jìn)行數(shù)字簽名,當(dāng)其他人用小明的公鑰對(duì)這個(gè)數(shù)字簽名解密時(shí),就會(huì)得到翠花的公鑰。這就證明了以下兩點(diǎn)。

(1)用小明的公鑰能正常驗(yàn)證(解密)這個(gè)數(shù)字簽名,說明這個(gè)數(shù)字簽名確實(shí)是小明發(fā)出的。

(2)這個(gè)數(shù)字簽名被解密后,得到的是翠花的公鑰,這就證明小明發(fā)出的“虛擬貨幣”的接收者確實(shí)是翠花。

當(dāng)然,區(qū)塊鏈的巧妙之處并不僅僅在于利用了哈希算法和數(shù)字簽名,它設(shè)計(jì)了一套嚴(yán)密的數(shù)據(jù)鏈結(jié)構(gòu),并設(shè)計(jì)了一個(gè)在無中心管控的團(tuán)隊(duì)中達(dá)成共識(shí)的算法,從而在不可信的環(huán)境中構(gòu)造出一個(gè)非常巧妙的、可信任的區(qū)塊鏈系統(tǒng)。

主站蜘蛛池模板: 卓资县| 芒康县| 珠海市| 焉耆| 新密市| 新化县| 桃源县| 中西区| 永新县| 山西省| 田阳县| 盐城市| 陆良县| 绿春县| 镇平县| 固镇县| 玉屏| 措美县| 延津县| 晋宁县| 五原县| 库尔勒市| 和平区| 阿坝县| 霍州市| 彩票| 措美县| 四子王旗| 吴川市| 延安市| 响水县| 宁波市| 台中市| 襄城县| 邮箱| 浙江省| 阜平县| 万山特区| 银川市| 潼南县| 大丰市|