密碼學/加密貨幣原理

467 回覆
844 Like 6 Dislike
2017-07-27 23:11:15
------前方高能,數學恐懼人員請從速徹離-----

有public key, private key,就可以做digital signature入面最重要既一步:簽名

起generate 簽名之前我地仲要計一對暫時性既private key and public key
而家define
k = 暫時性private key
r = 由k gen出黎既暫時性public key既x coordinate
s = k^-1 * (Hash(文件) + my private key * r) mod p
where p = 2^256-2^32-2^9-2^8-2^7-2^6-2^4-1
(s,r)呢組數就我簽比呢份文件既簽名

當對家要verify呢個簽名,佢就要計
s^-1 * Hash(文件) * G + s^-1 * r * my public key
呢個結果係一組coordinate
如果佢既x-coordinate係等於r, 咁呢個簽名就係有效既

留意起呢條verify function入面只有我既public key
無我既private key起度

如果睇到你都無比上面堆怪獸嚇窒,仲睇得明同識得問
「點解條式要咁寫?」
「點prove佢地?」
「點解要揀果個p?」
可以reply問下,睇下有無數學系既高手肯回
再講落去就要更加深入認識憜圓曲線
要講algebraic structure, finite fields, subgroup order....
開多幾個chapter講都唔知得唔得
所以,真係有興趣既話,自己Google啦,有些路只能一個人走

-----數學部份完畢-----

咁public key private key起bitcoin上有咩作為呢
每一次你要動用你既bitcoin,都要用private key簽個名作實
起真係過數之前,server會check下你個戶口既public key同你個簽名夾唔夾
夾既,先比你動用果筆資金,validate呢次transaction
如果比人偷到你條private key,就可以冒認你簽發交易
下個chapter會詳細講

k同r叫做(private/public)randomness好d
叫臨時key有d奇怪
2017-07-27 23:21:56
睇唔明,但睇落好勁,留名睇多幾次試下理解下
2017-07-27 23:56:07
留名
2017-07-28 00:11:19
-----課外知識1-----

之前提過ECC既private key係random揀個數出黎
簽名時候用既k, 即係暫時性既private key同樣係隨機揀個數出黎
但係呢個k要揀得好小心:用過一次既k唔可以再用
如果你真係咁環保
文件1同文件2都用左同一個k黎簽名
咁就大檸樂喇:hacker可以根據簽名1同簽名2 計番你條private key出黎
即係玩撚猿

點解咁特別提起呢個k?
因為歷史上真係有人試過用左同一個k而奶野:Sony

PS3一直以黎係唔玩得翻版碟
當中就係用左ECC digital signature
每隻正版碟都有Sony既簽名,文件就係隻game
而且部console就有Sony既public key, 可以驗證 Sony既簽名
如果你自己寫左game,擺落PS3度行,因為你無Sony 既簽名,通過唔到認證,就行唔到隻game
PS3就係用左ECC digital signature

2010年George Hotz唔知點樣發現,Sony generate PS3 Game既簽名果陣無用到隨機暫時性private key (即係k)
反而,所有簽名都用左同一個k
咁只要你肯比錢買多幾隻正版碟
就可以有好多
文件1, Sony 簽名1
文件2, Sony 簽名2
文件3, Sony 簽名3

就可以搵到Sony簽名用既private key
然後用Sony既private key黎幫你自己寫既game簽名
Digital Signature scheme係唔會知邊人用private key黎簽
verify果陣淨係認數字,所以一但公開左條key,就全世界都可以冒認Sony簽名
即係可以繞過Sony既認證檢查
簡單黎講:Jailbroken,可以玩翻版碟

George Hotz公開左條key之後,Sony嬲到爆炸
決定從法律途徑告George告到甩褲
呢個行為辣著左Anonymous, 因為Anonymous覺得而家係Sony柒左
有人免費幫你搵個loophole出黎你唔多謝佢不突止,仲要告佢?
Apple iOS都成日比人jailbreak啦,你有無見過Apple告人?
所以2011年4月Anonymous大規模攻擊Sony
傳說話佢地就係用private key 簽左一個自己寫既programme,所以登入到dev-PSN network...
繼而拎到曬所有PSN所有user既資料...
之後既事大家都應該知啦,PSN down左成個月咁濟...

點解翻版碟唔直接copy番正版碟嘅所有內容
用番同一個Sony簽名?
咁咪唔洗hack public key囉
2017-07-28 00:14:52
-----課外知識1-----

之前提過ECC既private key係random揀個數出黎
簽名時候用既k, 即係暫時性既private key同樣係隨機揀個數出黎
但係呢個k要揀得好小心:用過一次既k唔可以再用
如果你真係咁環保
文件1同文件2都用左同一個k黎簽名
咁就大檸樂喇:hacker可以根據簽名1同簽名2 計番你條private key出黎
即係玩撚猿

點解咁特別提起呢個k?
因為歷史上真係有人試過用左同一個k而奶野:Sony

PS3一直以黎係唔玩得翻版碟
當中就係用左ECC digital signature
每隻正版碟都有Sony既簽名,文件就係隻game
而且部console就有Sony既public key, 可以驗證 Sony既簽名
如果你自己寫左game,擺落PS3度行,因為你無Sony 既簽名,通過唔到認證,就行唔到隻game
PS3就係用左ECC digital signature

2010年George Hotz唔知點樣發現,Sony generate PS3 Game既簽名果陣無用到隨機暫時性private key (即係k)
反而,所有簽名都用左同一個k
咁只要你肯比錢買多幾隻正版碟
就可以有好多
文件1, Sony 簽名1
文件2, Sony 簽名2
文件3, Sony 簽名3

就可以搵到Sony簽名用既private key
然後用Sony既private key黎幫你自己寫既game簽名
Digital Signature scheme係唔會知邊人用private key黎簽
verify果陣淨係認數字,所以一但公開左條key,就全世界都可以冒認Sony簽名
即係可以繞過Sony既認證檢查
簡單黎講:Jailbroken,可以玩翻版碟

George Hotz公開左條key之後,Sony嬲到爆炸
決定從法律途徑告George告到甩褲
呢個行為辣著左Anonymous, 因為Anonymous覺得而家係Sony柒左
有人免費幫你搵個loophole出黎你唔多謝佢不突止,仲要告佢?
Apple iOS都成日比人jailbreak啦,你有無見過Apple告人?
所以2011年4月Anonymous大規模攻擊Sony
傳說話佢地就係用private key 簽左一個自己寫既programme,所以登入到dev-PSN network...
繼而拎到曬所有PSN所有user既資料...
之後既事大家都應該知啦,PSN down左成個月咁濟...

點解翻版碟唔直接copy番正版碟嘅所有內容
用番同一個Sony簽名?
咁咪唔洗hack public key囉

有冇可能將正版碟嘅1同0順序正接copy去另一隻碟到?
2017-07-28 00:27:25
如果有圖解,應該會易明好多
2017-07-28 00:44:36
-----課外知識2-----
public key private key既用途仲有好多
...
所以,就算我唔係數撚,我都覺得班數撚係好偉大

高質
雖然無CS同數低, 但係作為一個overview 係okay 既
2017-07-28 00:58:19
如果有圖解,應該會易明好多

巴打做corp fin對呢d咁tech ge野都有興趣?
2017-07-28 03:44:26
concept明明地

但係數學嗰part想知多啲
咩係G點
咩係mod p(講多少少唔係好明)
同埋如果真係想知啲式點解/點得出嚟應該睇咩
2017-07-28 03:51:16
再度留名
底褲超人啲文要消化下
2017-07-28 08:33:57
早一、二年係咪有間日本bitcoin公司俾人hack左損失慘重? 有冇人知咩事
2017-07-28 10:14:53
LM
2017-07-28 10:35:23
高質post push
2017-07-28 11:04:12
concept明明地

但係數學嗰part想知多啲
咩係G點
咩係mod p(講多少少唔係好明)
同埋如果真係想知啲式點解/點得出嚟應該睇咩

mod 簡單講就係餘數。 例如 3^4 / 5 = 81/5 餘數係1, 好簡單。 但係掉轉頭我俾3^x / 5 餘數係1 要你搵翻個X出黎就好難, 基本上係得靠撞。

不過係某D特定條件下,當另外個幾個數都唔係亂俾, 係通過某種數學方法 set 出黎既時候, set個個人掌握左某D資料, 佢就有可能可以好簡單咁搵到個x。

以上就係密碼學既原理。
2017-07-28 12:16:23
讀咗咁多年數學終於有用
就係睇得明個post
2017-07-28 12:23:02
留名學野
2017-07-28 13:04:34
concept明明地

但係數學嗰part想知多啲
咩係G點
咩係mod p(講多少少唔係好明)
同埋如果真係想知啲式點解/點得出嚟應該睇咩



same睇完上面唯獨是g點係咩未理解到
2017-07-28 13:16:40
數果part如果有圖會好d 雖然我都知樓主已經好有心機
Btw 貼圖點解貼link
2017-07-28 13:30:13
concept明明地

但係數學嗰part想知多啲
咩係G點
咩係mod p(講多少少唔係好明)
同埋如果真係想知啲式點解/點得出嚟應該睇咩



same睇完上面唯獨是g點係咩未理解到

G點可以係條curve中既任何一點
如果條curve有n點, 1G, 2G, ..., nG就係條curve既所有點
2017-07-28 13:32:17
-----課外知識1-----

之前提過ECC既private key係random揀個數出黎
簽名時候用既k, 即係暫時性既private key同樣係隨機揀個數出黎
但係呢個k要揀得好小心:用過一次既k唔可以再用
如果你真係咁環保
文件1同文件2都用左同一個k黎簽名
咁就大檸樂喇:hacker可以根據簽名1同簽名2 計番你條private key出黎
即係玩撚猿

點解咁特別提起呢個k?
因為歷史上真係有人試過用左同一個k而奶野:Sony

PS3一直以黎係唔玩得翻版碟
當中就係用左ECC digital signature
每隻正版碟都有Sony既簽名,文件就係隻game
而且部console就有Sony既public key, 可以驗證 Sony既簽名
如果你自己寫左game,擺落PS3度行,因為你無Sony 既簽名,通過唔到認證,就行唔到隻game
PS3就係用左ECC digital signature

2010年George Hotz唔知點樣發現,Sony generate PS3 Game既簽名果陣無用到隨機暫時性private key (即係k)
反而,所有簽名都用左同一個k
咁只要你肯比錢買多幾隻正版碟
就可以有好多
文件1, Sony 簽名1
文件2, Sony 簽名2
文件3, Sony 簽名3

就可以搵到Sony簽名用既private key
然後用Sony既private key黎幫你自己寫既game簽名
Digital Signature scheme係唔會知邊人用private key黎簽
verify果陣淨係認數字,所以一但公開左條key,就全世界都可以冒認Sony簽名
即係可以繞過Sony既認證檢查
簡單黎講:Jailbroken,可以玩翻版碟

George Hotz公開左條key之後,Sony嬲到爆炸
決定從法律途徑告George告到甩褲
呢個行為辣著左Anonymous, 因為Anonymous覺得而家係Sony柒左
有人免費幫你搵個loophole出黎你唔多謝佢不突止,仲要告佢?
Apple iOS都成日比人jailbreak啦,你有無見過Apple告人?
所以2011年4月Anonymous大規模攻擊Sony
傳說話佢地就係用private key 簽左一個自己寫既programme,所以登入到dev-PSN network...
繼而拎到曬所有PSN所有user既資料...
之後既事大家都應該知啦,PSN down左成個月咁濟...

點解翻版碟唔直接copy番正版碟嘅所有內容
用番同一個Sony簽名?
咁咪唔洗hack public key囉

Sony隻碟有做過手腳 想一模一樣咁copy隻碟係好難 所以做隻翻版碟出黎既成本會變到好高 隨時貴過正版
而且copy隻碟只係比你玩老翻 而你有private key就即係話你可以寫一個木馬program冒簽左佢然比部機行 部機一信左你個program係Sony簽比左個權限你
咁你想root機改system做乜都得
2017-07-28 18:53:59
感謝巴打
令數學白痴的我都可以了解到少少
2017-07-28 20:03:12
睇左咁耐,唔係好明 製幣個角色

傳統貨幣系統係由個政府 製幣,而個政府又受人認可,d 幣就有相對既價值

但加密幣 有好多個場,其實咁多場係咪互通?
又或者 要具備咩條件先可以製幣



D 場 只係成條chain 既block
2017-07-28 20:39:40
睇左咁耐,唔係好明 製幣個角色

傳統貨幣系統係由個政府 製幣,而個政府又受人認可,d 幣就有相對既價值

但加密幣 有好多個場,其實咁多場係咪互通?
又或者 要具備咩條件先可以製幣



D 場 只係成條chain 既block


貨幣既價值,從來都係講個信字
你信美國政府會捍衛佢貨幣既價值,所以美金就有價值
就正如呢個世界有班IT狗相信加密貨幣既價值,所以對於IT狗黎講bitcoin就有價值

訂立一隻加幣係無條件
你隨時download套bitcoin source code落黎自己改一改再發佈
叫佢做高登coin都得

唔同加密貨幣係活起唔同既blockchain
有D case係free ride on bitcoin條chain
2017-07-28 20:40:10
concept明明地

但係數學嗰part想知多啲
咩係G點
咩係mod p(講多少少唔係好明)
同埋如果真係想知啲式點解/點得出嚟應該睇咩



same睇完上面唯獨是g點係咩未理解到

G點可以係條curve中既任何一點
如果條curve有n點, 1G, 2G, ..., nG就係條curve既所有點

多謝巴打幫手解答
吹水台自選台熱 門最 新手機台時事台政事台World體育台娛樂台動漫台Apps台遊戲台影視台講故台健康台感情台家庭台潮流台美容台上班台財經台房屋台飲食台旅遊台學術台校園台汽車台音樂台創意台硬件台電器台攝影台玩具台寵物台軟件台活動台電訊台直播台站務台黑 洞