區(qū)塊鏈技術(shù)系列(1) - 數(shù)字簽名

導(dǎo)讀:在現(xiàn)實社會中菲驴,簽名作為簽名者身份的一種證明,簽名代表對簽名文件的認(rèn)可骑冗,不可抵賴赊瞬。理論上簽名是可信、不可偽造的≡羯現(xiàn)在網(wǎng)絡(luò)環(huán)境越來越廣泛巧涧,有大量的信息通過網(wǎng)絡(luò)傳播,并且會保存在上面遥倦。這些電子數(shù)據(jù)顯然無法人工簽名谤绳,數(shù)字簽名就孕育而生占锯。本文將介紹什么是數(shù)字簽名、數(shù)字簽名的特性與相關(guān)技術(shù)缩筛。

什么是數(shù)字簽名

數(shù)字簽名(又稱公鑰數(shù)字簽名消略、電子簽章):是一種類似寫在紙上的普通的物理簽名,但是使用了公鑰加密領(lǐng)域的技術(shù)實現(xiàn)瞎抛,用于鑒別數(shù)字信息的方法艺演。一套數(shù)字簽名通常定義兩種互補(bǔ)的運(yùn)算,一個用于簽名桐臊,另一個用于驗證胎撤。就是只有信息的發(fā)送者才能產(chǎn)生的別人無法偽造的一段數(shù)字串,這段數(shù)字串同時也是對信息的發(fā)送者發(fā)送信息真實性的一個有效證明断凶。在區(qū)塊鏈技術(shù)中伤提,數(shù)字簽名涉及到公鑰、私鑰和錢包等工具认烁,它有兩個作用:一是證明消息確實是由信息發(fā)送方簽名并發(fā)出來的肿男,二是確定消息的完整性,沒有被篡改過砚著。

公鑰(Public Key)與私鑰(Private Key)

公鑰(Public Key)與私鑰(Private Key)是通過一種算法得到的一個密鑰對(即一個公鑰和一個私鑰)次伶,公鑰是密鑰對中公開的部分,私鑰則是非公開的部分稽穆。公鑰通常用于加密會話密鑰冠王、驗證數(shù)字簽名,或加密可以用相應(yīng)的私鑰解密的數(shù)據(jù)舌镶。通過這種算法得到的密鑰對能保證在世界范圍內(nèi)是唯一的柱彻。使用這個密鑰對的時候,如果用其中一個密鑰加密一段數(shù)據(jù)餐胀,必須用另一個密鑰解密哟楷。比如用公鑰加密數(shù)據(jù)就必須用私鑰解密,如果用私鑰加密也必須用公鑰解密否灾,否則解密將不會成功卖擅。

數(shù)字簽名流程

假如Alice想給Bob傳遞一個署名的消息的話,那么她可以為她的消息計算一個散列值(Message digest)墨技,然后用她的私鑰“加密”(這個散列值并將這個“署名”加在消息的后面惩阶。這個消息只有用她的公鑰才能被解密。Bob獲得這個消息后可以用Alice的公鑰“解密”(如同前面“解密消息”的步驟)這個散列值扣汪,然后將這個數(shù)據(jù)與他自己為這個消息計算的散列值相比較断楷。假如兩者相符的話,那么Bob就可以知道發(fā)信人持有Alice的私鑰崭别,以及這個消息在傳播路徑上沒有被篡改過冬筒。

數(shù)字簽名的流程圖

1恐锣、生成公鑰和私鑰對

2、通過發(fā)送者的私鑰對消息的哈希值進(jìn)行加密舞痰,生成簽名信息土榴。

3、把加密后的哈希值和待發(fā)送的信息連同公鑰一起發(fā)給接受者匀奏。

4鞭衩、接收者通過發(fā)送方的公鑰對加密的哈希值進(jìn)行解密学搜,還原出哈希值娃善。

5、對簽名信息進(jìn)行驗證瑞佩。


數(shù)字簽名的簽名過程和驗證過程

數(shù)字簽名技術(shù)實現(xiàn)

數(shù)字簽名算法依靠公鑰加密技術(shù)來實現(xiàn)的聚磺。在公鑰加密技術(shù)里,每一個使用者有一對密鑰:一把公鑰和一把私鑰炬丸。公鑰可以自由發(fā)布瘫寝,但私鑰則秘密保存;還有一個要求就是要讓通過公鑰推算出私鑰的做法不可能實現(xiàn)稠炬。普通的數(shù)字簽名算法包括三種算法:

1焕阿、一種密碼生成算法

2、標(biāo)記算法

3首启、驗證算法

數(shù)字簽名算法

常見的數(shù)字簽名算法主要有RSA暮屡、DSA、ECDSA三種毅桃。

1. RSA數(shù)字簽名算法

RSA是目前計算機(jī)密碼學(xué)中最經(jīng)典算法褒纲,也是目前為止使用最廣泛的數(shù)字簽名算法,RSA數(shù)字簽名算法的密鑰實現(xiàn)與RSA的加密算法是一樣的钥飞,算法的名稱都叫RSA莺掠。密鑰的產(chǎn)生和轉(zhuǎn)換都是一樣的,包括在售的所有SSL數(shù)字證書读宙、代碼簽名證書彻秆、文檔簽名以及郵件簽名大多都采用RSA算法進(jìn)行加密。

RSA數(shù)字簽名算法主要包括MD和SHA兩種算法结闸,例如我們熟知的MD5和SHA-256即是這兩種算法中的一類唇兑。

2. DSA數(shù)字簽名算法

DSA全稱Digital Signature Algorithm,DSA只是一種算法膀估,和RSA不同之處在于它不能用作加密和解密幔亥,也不能進(jìn)行密鑰交換,只用于簽名察纯,所以它比RSA要快很多帕棉,其安全性與RSA相比差不多针肥。DSA的一個重要特點(diǎn)是兩個素數(shù)公開,這樣香伴,當(dāng)使用別人的p和q時慰枕,即使不知道私鑰,你也能確認(rèn)它們是否是隨機(jī)產(chǎn)生的即纲,還是作了手腳具帮。RSA算法卻做不到。

DSA的整個簽名算法流程如下:

a. 發(fā)送方使用SHA-1和SHA-2編碼將發(fā)送內(nèi)容加密產(chǎn)生的數(shù)字摘要低斋;

b. 發(fā)送方用自己的專用密鑰對摘要進(jìn)行再次加密得到數(shù)字簽名蜂厅;

c. 發(fā)送方將原文和加密后的摘要傳給接收方;

d. 接收方使用發(fā)送方提供的密鑰對進(jìn)行解密 膊畴,同時對收到的內(nèi)容用SHA-1/SHA-2編碼加密產(chǎn)生同樣的摘要掘猿;

e. 接收方再將解密后的摘要和d步驟中加密產(chǎn)生的摘要進(jìn)行比對,如果兩者一至唇跨,則說明傳輸過程的信息沒有被破壞和篡改稠通,否則傳輸信息則不安全。

3. ECDSA橢圓曲線數(shù)字簽名算法

ECDSA是用于數(shù)字簽名买猖,是ECC與DSA的結(jié)合改橘,整個簽名過程與DSA類似,所不一樣的是簽名中采取的算法為ECC玉控,最后簽名出來的值也是分為r,s飞主。而ECC(全稱Elliptic Curves Cryptography)是一種橢圓曲線密碼編碼學(xué)。

ECDH每次用一個固定的DH key奸远,導(dǎo)致不能向前保密(forward secrecy)既棺,所以一般都是用ECDHE(ephemeral)或其他版本的ECDH算法。ECDH則是基于ECC的DH( Diffie-Hellman)密鑰交換算法懒叛。

ECC與RSA 相比丸冕,有以下的優(yōu)點(diǎn):

a. 相同密鑰長度下,安全性能更高薛窥,如160位ECC已經(jīng)與1024位RSA胖烛、DSA有相同的安全強(qiáng)度。

b. 計算量小诅迷,處理速度快佩番,在私鑰的處理速度上(解密和簽名),ECC遠(yuǎn) 比RSA罢杉、DSA快得多趟畏。

c. 存儲空間占用小 ECC的密鑰尺寸和系統(tǒng)參數(shù)與RSA、DSA相比要小得多滩租, 所以占用的存儲空間小得多赋秀。

d. 帶寬要求低使得ECC具有廣泛得應(yīng)用前景利朵。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市猎莲,隨后出現(xiàn)的幾起案子绍弟,更是在濱河造成了極大的恐慌,老刑警劉巖著洼,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件樟遣,死亡現(xiàn)場離奇詭異,居然都是意外死亡身笤,警方通過查閱死者的電腦和手機(jī)豹悬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來展鸡,“玉大人屿衅,你說我怎么就攤上這事埃难∮ū祝” “怎么了?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵涡尘,是天一觀的道長忍弛。 經(jīng)常有香客問我,道長考抄,這世上最難降的妖魔是什么细疚? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮川梅,結(jié)果婚禮上疯兼,老公的妹妹穿的比我還像新娘。我一直安慰自己贫途,他們只是感情好吧彪,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著丢早,像睡著了一般姨裸。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上怨酝,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天傀缩,我揣著相機(jī)與錄音,去河邊找鬼农猬。 笑死赡艰,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的斤葱。 我是一名探鬼主播慷垮,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼勋又,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了换帜?” 一聲冷哼從身側(cè)響起楔壤,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎惯驼,沒想到半個月后蹲嚣,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡祟牲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年隙畜,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片说贝。...
    茶點(diǎn)故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡议惰,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出乡恕,到底是詐尸還是另有隱情言询,我是刑警寧澤,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布傲宜,位于F島的核電站运杭,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏函卒。R本人自食惡果不足惜辆憔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望报嵌。 院中可真熱鬧虱咧,春花似錦、人聲如沸锚国。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽跷叉。三九已至逸雹,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間云挟,已是汗流浹背梆砸。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留园欣,地道東北人帖世。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親日矫。 傳聞我的和親對象是個殘疾皇子赂弓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評論 2 344

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