【鏈圈知識】區(qū)塊鏈中的數(shù)字簽名技術(shù)

數(shù)字簽名啃勉,就是只有信息的發(fā)送者才能產(chǎn)生的別人無法偽造的一段數(shù)字串又兵,這段數(shù)字串同時也是對信息的發(fā)送者發(fā)送信息真實性的一個有效證明竖配。

數(shù)字簽名涉及到區(qū)塊鏈的認(rèn)證機(jī)制哨鸭,它有兩個作用

  1通今、證明消息確實是由信息發(fā)送方簽名并發(fā)送出來的

  2粥谬、確定消息的完整性。

  通過數(shù)字簽名我們主要實現(xiàn)了:

  1辫塌、接收方能通過發(fā)送方的公鑰認(rèn)證發(fā)送方的身份

  2漏策、通過私鑰方式簽名,別人偽造不了信息的簽名

  3臼氨、發(fā)送方也通過私鑰簽名抵賴不了對信息的簽名

  4掺喻、通過數(shù)字摘要技術(shù)保證了數(shù)據(jù)的完整性

  5、哈希函數(shù)也保證了數(shù)據(jù)不可有任何篡改


發(fā)送報文時

  發(fā)送方將報文利用數(shù)字摘要技術(shù)生成報文摘要

  用非對稱密鑰加密技術(shù)中私鑰對報文摘要進(jìn)行加密

  將原文和加密后摘要一同發(fā)送給接收方

接收報文時

  接收方利用數(shù)據(jù)摘要技術(shù)對發(fā)送方發(fā)送的原文生成報文摘要

  用公鑰對發(fā)送方發(fā)送的數(shù)據(jù)進(jìn)行解密储矩,得到發(fā)送生成的報文摘要

  解密的報文摘要和接收方自己生成的報文摘要進(jìn)行對比

  相同說明信息沒有被揣改

數(shù)字簽名的基本算法

  1感耙、對稱加密算法

對稱加密指加密和解密使用相同密鑰的加密算法,就是加密密鑰能夠從解密密鑰中推算出來持隧,同時解密密鑰也可以從加密密鑰中推算出來即硼。而在大多數(shù)的對稱算法中,加密密鑰和解密密鑰是相同的屡拨,所以也稱這種加密算法為秘密密鑰算法或單密鑰算法只酥。它要求發(fā)送方和接收方在安全通信之前,商定一個密鑰洁仗。對稱算法的安全性依賴于密鑰层皱,泄漏密鑰就意味著任何人都可以對他們發(fā)送或接收的消息解密,所以密鑰的保密性對通信性至關(guān)重要赠潦。

  對稱加密常用的算法包括:

  (1)DES(Data Encryption Standard):數(shù)據(jù)加密標(biāo)準(zhǔn)叫胖,速度較快,適用于加密大量數(shù)據(jù)的場合;

  (2)3DES(Triple DES):是基于DES她奥,對一塊數(shù)據(jù)用三個不同的密鑰進(jìn)行三次加密瓮增,強(qiáng)度更高;

  (3)AES(Advanced Encryption Standard):高級加密標(biāo)準(zhǔn)怎棱,是下一代的加密算法標(biāo)準(zhǔn),速度快绷跑,安全級別高拳恋。

2、非對稱加密算法

  非對稱加密算法需要兩個密鑰:公鑰(publickey)和私鑰(privatekey)砸捏。公鑰與私鑰是一對谬运,如果用公鑰對數(shù)據(jù)進(jìn)行加密,只有用對應(yīng)的私鑰才能解密;如果用私鑰對數(shù)據(jù)進(jìn)行加密垦藏,那么只有用對應(yīng)的公鑰才能解密梆暖。私鑰保存在所有者手中,需要對外人保密不可讓外人知道掂骏,公鑰可以向其他信息接收方公開轰驳。因為加密和解密使用的是兩個不同的密鑰,所以這種算法叫作非對稱加密算法弟灼。

 常用的非對稱加密算法包括:

(1)RSA:因由 RSA 公司發(fā)明而命名级解,是一個支持變長密鑰的公開密鑰算法,需要加密的文件塊的長度也是可變的;公開密鑰算法總是要依據(jù)一個數(shù)學(xué)上的難題田绑。RSA基于大素數(shù)積難分解問題勤哗,給定兩個數(shù)p、q 很容易相乘得到n辛馆,而對n進(jìn)行因式分解卻相對困難俺陋。

(2)ECC(Elliptic Curves Cryptography):橢圓曲線密碼編碼學(xué)。橢圓曲線因為用二元三次方程y^2= x^3+ ax + b來表示昙篙,類似橢圓周長計算方程而得名腊状。公開秘鑰算法要基于一個數(shù)學(xué)難題,橢圓曲線算法就是基于離散對數(shù)問題苔可。有限域Fp上的橢圓曲線同樣有加法缴挖,但已經(jīng)不能給以幾何意義的解釋。

  橢圓曲線上的加法如下定義:

  無窮遠(yuǎn)點 O∞是零元焚辅,有O∞+ O∞= O∞映屋,O∞+P=P

  P(x,y)的負(fù)元是-P(x,-y),有P+(-P)= O∞

  P(x1,y1),Q(x2,y2)和R(x3,y3) 有如下關(guān)系:

  x3≡k2-x1-x2(mod p)

  y3≡k(x1-x3)-y1(mod p)

  其中若P=Q 則 k=(3x2+a)/2y1 若P≠Q(mào)同蜻,則k=(y2-y1)/(x2-x1)

  考慮如下等式:

  K=kG棚点,其中 K,G為Ep(a,b)上的點,k為小于n(n是點G的階)的整數(shù)湾蔓,不難發(fā)現(xiàn)瘫析,給定k和G,根據(jù)加法法則,計算K很容易;但給定K和G贬循,求k就相對困難了咸包。這就是橢圓曲線加密算法采用的難題,我們通常稱作離散對數(shù)問題杖虾。我們把點G稱為基點(base point)烂瘫,k(k

  ECC和RSA相比,在許多方面都有對絕對的優(yōu)勢奇适,主要體現(xiàn)在:抗攻擊性強(qiáng);計算量小坟比,處理速度快;存儲空間占用小;帶寬要求低。ECC的這些特點使它必將取代RSA滤愕,成為通用的公鑰加密算法温算,所以區(qū)塊鏈也使用了ECC。

區(qū)塊鏈中用到的簽名算法SECP256K1

  區(qū)塊鏈中生成公鑰時用到的算法是SECP256K1间影,是一種橢圓曲線的標(biāo)準(zhǔn)化表達(dá)方式,其中256表示該橢圓曲線是256位茄茁, K代表Koblitz curve魂贬,相對應(yīng)的橢圓曲線的標(biāo)準(zhǔn)換表達(dá)還有,SECP192K1裙顽,SECP192R1付燥,SECP224K1,SECP224R1愈犹,SECP256R1键科,SECP384R1,SECP521R1等漩怎。

  SECP256K1曲線由下述函數(shù)定義勋颖,該函數(shù)可產(chǎn)生一條橢圓曲線:

  Y^2 = (x^3 + 7)} over (Fp)

  如此選取的原因,也是為了和哈希算法SHA256的輸出值相一致勋锤,以及求解離散對數(shù)的困難性饭玲。

  現(xiàn)在描述一個利用橢圓曲線進(jìn)行加密通信的過程:

  用戶A選定一條橢圓曲線Ep(a,b),并取橢圓曲線上一點叁执,作為基點G茄厘。

  用戶A選擇一個私有密鑰k,并生成公開密鑰K=kG谈宛。

用戶A將Ep(a,b)和點K次哈、G傳給用戶B

  用戶B接到信息后 吆录,將待傳輸?shù)拿魑木幋a到Ep(a,b)上一點M(編碼方法很多窑滞,這里不作討論),并產(chǎn)生一個隨機(jī)整數(shù)r(r

  用戶B計算點C1=M+rK;C2=rG。

  用戶B將C1葛假、C2傳給用戶A障陶。

  用戶A接到信息后,計算C1-kC2聊训,結(jié)果就是點M抱究。因為C1-kC2=M+rK-k(rG)=M+rK-r(kG)=M

  再對點M進(jìn)行解碼就可以得到明文,這是區(qū)塊鏈中用到簽名算法SECP256K1的基本原理带斑。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鼓寺,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子勋磕,更是在濱河造成了極大的恐慌妈候,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件挂滓,死亡現(xiàn)場離奇詭異苦银,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)赶站,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進(jìn)店門幔虏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人贝椿,你說我怎么就攤上這事想括。” “怎么了烙博?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵瑟蜈,是天一觀的道長。 經(jīng)常有香客問我渣窜,道長铺根,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任图毕,我火速辦了婚禮夷都,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘予颤。我一直安慰自己囤官,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布蛤虐。 她就那樣靜靜地躺著党饮,像睡著了一般。 火紅的嫁衣襯著肌膚如雪驳庭。 梳的紋絲不亂的頭發(fā)上刑顺,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天氯窍,我揣著相機(jī)與錄音,去河邊找鬼蹲堂。 笑死狼讨,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的柒竞。 我是一名探鬼主播政供,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼朽基!你這毒婦竟也來了布隔?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤稼虎,失蹤者是張志新(化名)和其女友劉穎衅檀,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體霎俩,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡哀军,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了茸苇。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片排苍。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖学密,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情传藏,我是刑警寧澤腻暮,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站毯侦,受9級特大地震影響哭靖,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜侈离,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一试幽、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧卦碾,春花似錦铺坞、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至绿映,卻和暖如春擒滑,著一層夾襖步出監(jiān)牢的瞬間腐晾,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工丐一, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留藻糖,地道東北人。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓库车,卻偏偏與公主長得像巨柒,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子凝颇,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344

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