BTC 中的密碼學(xué)

毫無(wú)疑問(wèn),比特幣的技術(shù)支撐中密碼學(xué)可謂是勞苦功高焕盟,特別是公鑰密碼學(xué)秋秤,也叫做非對(duì)稱密碼學(xué)。如果你沒(méi)有接觸或者學(xué)習(xí)過(guò)密碼學(xué)的人可能是不了解密碼學(xué)的脚翘,首先我們要清楚一些密碼學(xué)的概念灼卢。
密碼學(xué)中有兩個(gè)分支,一個(gè)是分組密碼體制(對(duì)稱密碼)来农,公鑰密碼體制(非對(duì)稱密碼)鞋真。

分組密碼體制

對(duì)于一個(gè)小白來(lái)說(shuō)并不知道什么是秘鑰,密文這些名詞究竟是什么意思沃于,沒(méi)關(guān)系涩咖,我這里簡(jiǎn)單的給大家說(shuō)一下概念。

明文 密文

比如現(xiàn)在有個(gè)消息“i love my darling”繁莹,我們并不想別看看到檩互,朱這是看到這個(gè)也不知道是什么意思,就可以利用加密蒋困,加密成看不懂的“*********”盾似,那么在加密前的“i love my darling”也就是叫做明文了。加密后看不懂的信息“*********”就是密文了

秘鑰

還是接著上一個(gè)例子繼續(xù)說(shuō)雪标,針對(duì)明文“i love my darling”零院,我們把明文變成十六進(jìn)制的一個(gè)數(shù)字,假設(shè)這個(gè)數(shù)字是A村刨,并且這個(gè)數(shù)字是10告抄,我們要是把這個(gè)10傳給你的darling,當(dāng)然這是明文嵌牺,你的darling肯定是能看懂的打洼,但是你想對(duì)其他的人保密龄糊,我們就加密這個(gè)10,然后就用我自己想得一個(gè)算法去加密募疮,比如現(xiàn)在我就選定了一個(gè)私鑰位250炫惩,然后把10與250相加,得到密文260阿浓,然后我們把密文發(fā)給你的darling他嚷,并且把250這個(gè)秘鑰發(fā)給你的darling,然后你的darling拿到這個(gè)密文和密碼就可以進(jìn)行解密了芭毙,解密過(guò)程就是260-250 然后得到10筋蓖,自然就得到了密文,但是如果別人截獲到了消息的密文260但是他并沒(méi)有秘鑰退敦,也就自然無(wú)法解密即使是他知道解密的算法是什么粘咖。(我這里所舉例的加密解密是很簡(jiǎn)單的數(shù)學(xué)運(yùn)算,并不是真正的加密算法侈百,所以可以破解的瓮下,但是真正的密碼算法幾乎都是不可破解的,或者說(shuō)是以目前計(jì)算機(jī)的算力還不足以破解)设哗。
以前別人這樣給我形象的給我講的:秘鑰好比一把鑰匙唱捣,加密算法好比一個(gè)把鎖,明文好比你的家网梢,如果你要出門肯定就要鎖門把震缭,你選擇一個(gè)怎樣的鎖,好比你選擇用什么加密算法來(lái)加密明文战虏,如果你想家里安全就去買一個(gè)很貴的高大上的鎖拣宰。你出門用你的這個(gè)鑰匙去鎖上這個(gè)門后,你爸爸烦感,媽媽也可以開(kāi)這個(gè)門巡社,因?yàn)樗麄冇泻湍阋粯拥蔫€匙。對(duì)稱密碼學(xué)中也是一樣手趣,只要?jiǎng)e人有你的秘鑰或者一樣的秘鑰晌该,也可以解密你這個(gè)密文。
這里再提一下密碼學(xué)的安全性绿渣,接著說(shuō)朝群,就算你家里用的是世界上最牛逼的鎖,但是你偏偏沒(méi)有保存好把你的鑰匙中符,給了別人姜胖,或者別人去做了一個(gè)和你一樣的鑰匙,他也就可以進(jìn)你家的大門了淀散。密碼學(xué)中也是一樣右莱,密碼的安全性是基于秘鑰的安全性蚜锨。

為什么叫對(duì)稱密碼呢?慢蜓,因?yàn)榧用芎徒饷艿拿荑€只有一個(gè)亚再,也就是是說(shuō):我用密碼A加密了一個(gè)消息M得到密文C,如果我們要在網(wǎng)絡(luò)中把消息發(fā)給別人胀瞪,為了不讓別人監(jiān)聽(tīng)到我和那個(gè)人交流的內(nèi)容针余,就需要加密傳輸。比如就把密文C發(fā)給別人凄诞,但是他收到的密文,并不知道消息真實(shí)的內(nèi)容是什么忍级,所以就需要解密這個(gè)密文C帆谍。因?yàn)槭怯脤?duì)稱密碼算法用秘鑰A加密的。所有解密也是用秘鑰A解密轴咱。
總的來(lái)說(shuō)也就是解密加密用的同一個(gè)秘鑰汛蝙。

公鑰密碼體制

公鑰密碼學(xué)中有兩個(gè)秘鑰,一個(gè)是公開(kāi)的秘鑰(所有人都可以去得到它)朴肺,稱為公共秘鑰窖剑,也叫公開(kāi)鑰,但是普遍都叫做公鑰戈稿,還有一個(gè)是私密秘鑰西土,也叫做私鑰;只用用戶自己知道鞍盗,并且用戶也應(yīng)該保存好自己的私鑰需了。比如現(xiàn)在你的darling生成了一對(duì)秘鑰分別是私鑰SK,公鑰PK般甲。

公鑰密碼學(xué)的特點(diǎn)(重要)

我們用私鑰SK加密一個(gè)明文M肋乍,則只能用公鑰PK解密。
我們用私鑰SK加密一個(gè)明文M敷存,則只能用公鑰PK解密墓造。
這有什么用呢?首先我們舉這樣一個(gè)場(chǎng)景锚烦。
天天埋頭擼碼掙錢的你感動(dòng)了你的darling觅闽,一天你darling想告訴全世界人她愛(ài)你,于是她在5月22日這天用她的私鑰SK加密明文“2501314”挽牢,然后把密文在網(wǎng)上廣播谱煤,別人看到這個(gè)消息后找到你darling的公鑰PK然后解密后就知道了這個(gè)消息(因?yàn)楣€是公開(kāi)的所以別人是可以得到的,具體是怎么得到的大家不用糾結(jié))禽拔。同時(shí)刘离,用你darling的私鑰SK加密的消息室叉,只有用你darling的公鑰PK才能解密,同時(shí)說(shuō)明了這個(gè)消息肯定是你darling發(fā)出的硫惕,這樣也就起到了簽名的作用茧痕,也就是說(shuō)你darling在這個(gè)消息上簽名了,這是它發(fā)出來(lái)的恼除。所有公鑰密碼學(xué)可以用到數(shù)字簽名中踪旷。
在前面的分組密碼體制中講到這樣的一個(gè)例子,你想給你darling發(fā)“i love my darling”但是你不想別人知道豁辉,所以你就加密令野,這里講下怎么用公鑰密碼學(xué)來(lái)加密。你用你darling的公鑰來(lái)加密這個(gè)消息徽级,然后發(fā)出給你darling气破,然后你darling可以用她的私鑰解密這個(gè)消息,如果這個(gè)消息被人截獲了也不用怕餐抢,只要他沒(méi)有你darling的私鑰肯定也是不能解密的现使,如果那個(gè)人是你darling的小情人這種情況也就另當(dāng)別論了。所以公鑰密碼學(xué)還可以用到加密消息中旷痕。

比特幣中的公鑰密碼學(xué)

比特幣中是用的是橢圓曲線密碼學(xué)(ECC)的secp256k1算法碳锈。
密碼學(xué)是基于數(shù)學(xué)難題的,比如著名的RSA算法欺抗,就是基于大整數(shù)因數(shù)分解難題售碳。
而橢圓密碼體制則是基于離散對(duì)數(shù)難題的。
這些數(shù)學(xué)原理我自然是講不清楚的佩迟,最多也是理解理解团滥。
下面我找了一些資料:
https://www.zhihu.com/question/22399196 #幽默的語(yǔ)言
http://www.8btc.com/btc_ecc_dsa_a
http://kakaroto.homelinux.net/2012/01/how-the-ecdsa-algorithm-works/
http://www.freebuf.com/articles/database/155912.html
http://www.freebuf.com/articles/database/165851.html
<u>下面我截取了很多我們教材上講解的橢圓曲線,可以這些資料都看一些报强,實(shí)在不懂請(qǐng)教一下大佬好了</u>
推薦一下這是楊波老師出的第四版《現(xiàn)代密碼學(xué)》清華大學(xué)出版社

比特幣的私鑰灸姊、公鑰、地址間的數(shù)學(xué)關(guān)系

一文讀懂比特幣私鑰秉溉、公鑰力惯、錢包地址的來(lái)歷和關(guān)系

如果還不是很清晰可以看看《精通比特幣第二版》中第四章

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市召嘶,隨后出現(xiàn)的幾起案子父晶,更是在濱河造成了極大的恐慌,老刑警劉巖弄跌,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件甲喝,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡铛只,警方通過(guò)查閱死者的電腦和手機(jī)埠胖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門糠溜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人直撤,你說(shuō)我怎么就攤上這事非竿。” “怎么了谋竖?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵红柱,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我蓖乘,道長(zhǎng)锤悄,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任嘉抒,我火速辦了婚禮铁蹈,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘众眨。我一直安慰自己,他們只是感情好容诬,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布娩梨。 她就那樣靜靜地躺著,像睡著了一般览徒。 火紅的嫁衣襯著肌膚如雪狈定。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,950評(píng)論 1 291
  • 那天习蓬,我揣著相機(jī)與錄音纽什,去河邊找鬼。 笑死躲叼,一個(gè)胖子當(dāng)著我的面吹牛芦缰,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播枫慷,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼让蕾,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了或听?” 一聲冷哼從身側(cè)響起探孝,我...
    開(kāi)封第一講書(shū)人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎誉裆,沒(méi)想到半個(gè)月后顿颅,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡足丢,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年粱腻,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了庇配。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡栖疑,死狀恐怖讨永,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情遇革,我是刑警寧澤卿闹,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站萝快,受9級(jí)特大地震影響锻霎,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜揪漩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一旋恼、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧奄容,春花似錦冰更、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至戈盈,卻和暖如春奠衔,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背塘娶。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工归斤, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人刁岸。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓脏里,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親难捌。 傳聞我的和親對(duì)象是個(gè)殘疾皇子膝宁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350