密碼學/加密貨幣原理

467 回覆
844 Like 6 Dislike
2017-07-26 01:56:01
lm help push
2017-07-26 02:09:47
Support
2017-07-26 02:33:27
lm
2017-07-26 02:43:08
lm
2017-07-26 02:54:57
留名
2017-07-26 02:59:52
lm
2017-07-26 03:03:50
留名學野
2017-07-26 03:04:22
2017-07-26 03:29:38
解釋得好正好易明 多謝巴打咁有心出文,成日聽bitcoin , blockchain 同 bitcoin mining 都係一知半解,好想知背後究竟係點運作,more please
2017-07-26 03:33:49
算講得幾清楚

起碼一個有數理背景既人都應該睇得明

但想知hash function係公開既?

如果係公開既話, 係咩原因令佢咁難reverse搵番input?


係公開既
你上wiki都搵得到條式

點解咁難...
我唔係好識解SHA256點解咁難,不過都試下㗕啦
bitwise operation reverse可以有好多個結果
例如我話A同B都係1-bit
A or B = 1, 咁A同B=?
呢度已經有三個possibilities
照道理只要我sub番落條式度試下就得

但係SHA256入面有十九幾萬個steps
其中一D steps例如bit shift係會造成information loss
例如00010111 left shift 變成00101110, 最左果個bit既你係估唔番
每一round都會做同樣既bitwise operation
每一round都少左D information
所以行左64 rounds之後已經無曬原本既information

所以而家學術界研究破解方法既時候
係嘗試破解低round數既SHA256先
例如而家已經有人搵到28 round SHA256 快過brute-force而且現實上可行既破解方法

用bitwise operation黎解釋可能有D難明
下面呢個例子同SHA256無乜關係,但係同好多其他cryptographic function (例如RSA public key cryptography)有關,就係integer factorization
比一個數你
3571082522473766674484304975778527401895200115726120795842576355509746402614775567 (10進制)
要你做factorization
簡單到連小學生都識做既數 偏偏就係最難解決

答案係
170,141,183,460,469,231,731,687,303,715,884,105,727

20,988,936,657,440,586,486,151,264,256,610,222,593,863,921
兩個都係超級大既質數

但係如果掉番轉,我比兩個好大既質數你,要你乘出黎
好快就做完

呢類semiprime factorization係數學界入面都未搵到有咩快方法做得到
注意:係未搵到有咩快方法
by nature呢D數學問題就係咁難解決
btw 數學家都未証明到快方法唔存在,所以各位爸打都可以研究下

應該係話,密碼學既其中一個原則就係我唔理你個function勁到曉飛都好,即使人地知道左你條formula 點計,佢都唔應該可以就咁用個output揾到個input

就好似上面巴打factorization個例子一樣
個重點反而係要令個key/output有咁長得咁長(bit size),咁就可以有效防子brute force attack.
佢唔係要你永世揾唔到,係要你十年內計唔到,所以以前啲key可能得128bit,而家就要用到256就係咁解
2017-07-26 03:57:38
最近都研究緊依d野 樓主
2017-07-26 04:00:14
lm lm lm
2017-07-26 04:09:55
留名學野
2017-07-26 04:10:31
留名
2017-07-26 04:15:29
lm
2017-07-26 04:18:20
連登難得一見高質post
2017-07-26 04:29:56
睇左頭幾段唔你幾睇得明
聽日精神d再睇過
2017-07-26 04:39:23
留名
2017-07-26 04:39:50
等chapter2
樓主不如諗下分post或者直接post,之後先答
我覺得噉追有啲唔方便



超好
我好有興趣,但讀大學自己嗰科都好煩
冇咩心機去搵有咩其他有興趣嘅area 巴打寫得好清晰,好好
2017-07-26 04:47:39
lm
2017-07-26 04:56:22
講得好過我professor
2017-07-26 05:16:40
留名支持
2017-07-26 05:31:35
Hashing algorithm 好重要係collusion resistance
其中一個例子係你download software 通常會比個 hash value你 md5|sha1|sha256
你 download 完個file, 對下個 hashvalue 就知個file, 有無比人改過,可以安心使用

但如果嗰hashing algorithms 好易搵到 f(X1)=f(x2) 就好大問題
Hacker 好易將software加入Virus 或者trogan 再用方法可以整到一樣hash value

咁你download 完之後,都唔知個software 係咪真係可信
2017-07-26 05:39:18
lm
2017-07-26 05:44:11
strong post leave name
吹水台自選台熱 門最 新手機台時事台政事台World體育台娛樂台動漫台Apps台遊戲台影視台講故台健康台感情台家庭台潮流台美容台上班台財經台房屋台飲食台旅遊台學術台校園台汽車台音樂台創意台硬件台電器台攝影台玩具台寵物台軟件台活動台電訊台直播台站務台黑 洞