本文首發(fā)于 2017-10-31 10:21 原地址:http://www.blockchainbrother.com/article/86
密碼學(xué)的用途就是解決各種難題(當(dāng)然锨咙,這也是計(jì)算機(jī)的主要用途)。密碼學(xué)解決的各種難題圍繞機(jī)密性侨赡、鑒別蓖租、完整性和不誠(chéng)實(shí)的人粱侣。你也許對(duì)各種算法和技術(shù)有一定了解羊壹,但除非其能夠解決某些問(wèn)題,否則其只是理論而已齐婴,這也就是為什么要先對(duì)協(xié)議進(jìn)行了解的原因油猫。區(qū)塊鏈技術(shù)當(dāng)中一個(gè)很重要的組成部分就是密碼學(xué),作為從事區(qū)塊鏈研究的工程技術(shù)人員柠偶,應(yīng)該對(duì)密碼學(xué)有一定的了解∏檠現(xiàn)我想分享一些密碼學(xué)的基本概念以供交流學(xué)習(xí),大家共同學(xué)習(xí)诱担,更加充實(shí)對(duì)區(qū)塊鏈技術(shù)的理解毡证。
協(xié)議概述
密碼學(xué)的用途就是解決各種難題(當(dāng)然,這也是計(jì)算機(jī)的主要用途)蔫仙。密碼學(xué)解決的各種難題圍繞機(jī)密性料睛、鑒別、完整性和不誠(chéng)實(shí)的人。你也許對(duì)各種算法和技術(shù)有一定了解恤煞,但除非其能夠解決某些問(wèn)題屎勘,否則其只是理論而已,這也就是為什么要先對(duì)協(xié)議進(jìn)行了解的原因居扒。
協(xié)議(protocol)是一系列步驟概漱,其包括兩方或者多方,設(shè)計(jì)它的目的在于完成一項(xiàng)任務(wù)喜喂。這個(gè)定義說(shuō)明了:“一系列步驟”意味著協(xié)議是從開(kāi)始到結(jié)束的一個(gè)序列瓤摧,每一步必須依次執(zhí)行,在前一步完成之前玉吁,后面的步驟都不能夠執(zhí)行姻灶;“包括兩方或多方”意味著完成這個(gè)協(xié)議至少是需要兩個(gè)人的,單獨(dú)的一個(gè)人是無(wú)法構(gòu)成協(xié)議的诈茧,當(dāng)然一個(gè)單獨(dú)的人可以采取一系列步驟去完成一項(xiàng)任務(wù)(例如做一頓豐盛的晚餐)产喉,但這不是協(xié)議(必須有另外一些人參與才能構(gòu)成協(xié)議,比如家里的其他人共同享用了這頓晚餐)敢会;最后曾沈,“設(shè)計(jì)其的目的是要完成一項(xiàng)任務(wù)”意味著協(xié)議必須做一些事。有些事物看起來(lái)很像是協(xié)議鸥昏,但若其不能完成一項(xiàng)任務(wù)塞俱,那也不是協(xié)議。
協(xié)議的其他特點(diǎn):
1)協(xié)議中的每個(gè)人都必須了解協(xié)議吏垮,并且預(yù)先知曉所要完成的所有步驟障涯。
2)協(xié)議中的每個(gè)人都必須同意并遵循它。
3)協(xié)議必須是清楚明晰的膳汪,每一步都必須有明確的定義唯蝶,不能引起誤解和歧義。
4)協(xié)議必須是完整的遗嗽,對(duì)每一種可能的情況必須規(guī)定具體的動(dòng)作粘我。
我們現(xiàn)約定,協(xié)議安排成一系列步驟痹换,并且協(xié)議是按照規(guī)定的步驟線性進(jìn)行執(zhí)行征字,除非我指定它轉(zhuǎn)到其他的步驟。每一步至少要做下列事件中的一件娇豫,即由一方或者多方計(jì)算匙姜,或者在各方中傳遞信息。
密碼協(xié)議(cryptographic protocol)是使用密碼學(xué)的協(xié)議冯痢。參與該協(xié)議的各方可能是友人和完全信任的人氮昧,也可能是敵人和相互完全不信任的人或详。密碼協(xié)議包含某種密碼算法,但通常協(xié)議的目的不僅僅是為了簡(jiǎn)單的秘密性郭计。參與協(xié)議的各方可能為了計(jì)算一個(gè)數(shù)值想共享他們各自的秘密部分霸琴,共同產(chǎn)生隨機(jī)系列,確定相互的身份或者同時(shí)簽署合同昭伸。在協(xié)議中使用密碼的目的是防止或者發(fā)現(xiàn)欺騙和竊聽(tīng)者梧乘。若你之前沒(méi)有了解過(guò)協(xié)議,那么它會(huì)改變你的思想庐杨,相互不信任的各方也是能夠在網(wǎng)絡(luò)上完成這些協(xié)議的选调。
在某些協(xié)議中,參與者中的一個(gè)或幾個(gè)有可能欺騙其他人灵份,而也可能存在竊聽(tīng)者并且竊聽(tīng)者可能暗中破壞協(xié)議或獲悉一些秘密信息仁堪。某些協(xié)議之所以會(huì)失敗,是因?yàn)樵O(shè)計(jì)者對(duì)需求定義的不是很完備填渠,還有一些原因是由于協(xié)議的設(shè)計(jì)者分析的不夠充分弦聂。這就好比算法,證明其不安全遠(yuǎn)比證明其安全容易的多氛什。
相信學(xué)習(xí)密碼學(xué)的朋友莺葫,或者對(duì)通信和計(jì)算機(jī)協(xié)議有一定了解的朋友都對(duì)Alice和Bob不陌生。在此枪眉,我也將繼續(xù)攜手Alice和Bob和大家談協(xié)議捺檬,他們將完成所有的兩人協(xié)議。在此依舊規(guī)定Alice發(fā)起所有協(xié)議贸铜,Bob響應(yīng)協(xié)議堡纬。當(dāng)然,為了進(jìn)一步學(xué)習(xí)協(xié)議蒿秦,我還將補(bǔ)充幾個(gè)人烤镐,現(xiàn)約定如下:
以后若無(wú)特殊情況,將不再對(duì)人名及其對(duì)應(yīng)的角色進(jìn)行說(shuō)明渤早。
于中陽(yáng) Mercina-zy