日本护士毛茸茸高潮,亚洲精品自偷自拍无码,久久精品国产一区二区三区,日韩人妻无码免费视频一二区

澎湃Logo
下載客戶端

登錄

  • +1

Comunion 區(qū)塊鏈深度學(xué)習(xí)系列|什么是哈希

2020-08-15 19:10
來源:澎湃新聞·澎湃號·湃客
字號

Comunion 是一個去中心化的(DAO) 組織協(xié)作網(wǎng)絡(luò),提供面向數(shù)字時代的全新商業(yè)基礎(chǔ)設(shè)施和價值轉(zhuǎn)化機制,致力于讓勞動價值 像 資本一樣自由流通、交易和積累。

本系列內(nèi)容包含:基本概念及原理、密碼學(xué)、共識算法、錢包及節(jié)點原理、挖礦原理及實現(xiàn)。

發(fā)展史

哈希算法是為了檢測數(shù)據(jù)在傳輸?shù)倪^程當(dāng)中是否被篡改而誕生的。

比如特工A和特工B在進行信息交換,為了防止數(shù)據(jù)在傳輸?shù)倪^程中沒有被丟失或者被篡改,這個時候可以使用哈希算法。

特工A將其所發(fā)的信息進行哈希,然后將信息和哈希碼一起傳給特工B,特工B收到之后,也可以對文本進行哈希,然后和這個哈希碼進行匹配,如果匹配上的話,說明信息在傳播的過程當(dāng)中沒有丟失或者被篡改。

最開始誕生的是 MD4 和 MD5 。1990年,工作于麻省理工學(xué)院的教授 Ronald Rivest 設(shè)計了一種信息摘要算法,這就是 MD4,次年 MD5 誕生。

說到 MD4,大家可能聽說過,我們國家的王小云院士曾經(jīng)將其攻破過,這是一個很重要的研究成果。普通破解MD4法,需要計算2的55次方,而王院士把時間復(fù)雜度給降低了,他只需要2的10次方~20方,就把MD4破解了,這就把破解所需的量級降低了很多。

沿著時間順序后面誕生了SHA-0、SHA-1、SHA-2、SHA-3。

目前來說 SHA 是一個安全的哈希算法,按版本來說才到了SHA-3,其中每個版本相當(dāng)于一個家族,里面會包含很多不同的哈希算法。

MD4 出現(xiàn)之后,美國國家標(biāo)準技術(shù)研究院,開始進行一個公開的算法募集。

1997年左右,SHA-0 家族開始全球性征集算法,任何人有好的算法都可以提交。這其實是一個全球的算法競爭,其目的是收錄全球公認能最好的算法,以此擴充家族。

隨著時間的推移,產(chǎn)生了 SHA-2,我們之前所說比特幣里面使用的算法 SHA-256,就是隸屬于 SHA-2 家族里面的算法。SHA-2 家族里面包含眾多算法,比如:SHA-168、SHA-512等,都有不同的尾綴。拿 SHA-256 來說,256 是指算法輸出的字符長度。

提到 SHA-256,大家可能會想一下我們前文提到的問題:中本聰為什么選擇用SHA-266,而不是其他的哈希算法呢?

剛才我們也說過 SHA 家族的成長是按照時間順序來的,當(dāng)中本聰使用這個算法是在2008年,那個時候 SHA-2 家族里面的算法在當(dāng)時是比較盛行的,雖然當(dāng)時 SHA-3 也出來了,但是還不太成熟。

所以中本聰采用了 SHA-2 里面的 SHA-256 算法,應(yīng)用到比特幣系統(tǒng)里面去。

沿著時間順序往下走,我們會看到以太坊里面使用的哈希算法,就不是 SHA-2 家族里面的了,而是 SHA-3 家族里面的。這是因為到2014年的時候,SHA-3 里的算法已經(jīng)穩(wěn)定下來了,并且其性能遠優(yōu)于 SHA-2 里的算法。

開發(fā)者采用的算法也是根據(jù)哈希算法的成熟度,來不斷的去采用更成熟、更好的算法。

所以如果讀者想設(shè)計一個區(qū)塊鏈系統(tǒng),如果里面涉及到使用哈希算法的話,那么一定要選擇更好哈希算法,而不是一味模仿之前的系統(tǒng),這些 SHA 算法僅僅是一個加密算法而已,沒有我們想的那么神秘。

哈希函數(shù)

哈希函數(shù)最開始被稱之為摘要函數(shù),意思是消息摘要,下圖是對它的定義:哈希函數(shù)是為了對于任意長的字符串產(chǎn)生一個消息摘要。

這段話其實有一些含義沒有表達出來,對任意長的一個字符串進行哈希,可以產(chǎn)生一個哈希摘要,也就是產(chǎn)生一個由0和1組成的字符串。這個字符串如果給到 SHA-256 的話,那其產(chǎn)生的消息摘要會是一個 256比特由0和1組成的數(shù)據(jù)串(比特是計算機專業(yè)術(shù)語,是信息量單位)。

摘要函數(shù)是由一對 ppt算法(Gen,H)組成的,這兩個算法需要滿足兩個性質(zhì)。

ppt算法的意思是概率多項式時間算法,那么什么是概率多項式時間算法呢?

什么叫概率算法?

概率算法也叫隨機算法,也就是算法在執(zhí)行過程中隨機地選擇下一個計算步驟。其意義是,很大程度上降低算法的復(fù)雜度。

比如拋硬幣,需要猜硬幣是正面還是反面,那么解決這個問題的成功概率是50%,算法只需要重復(fù)正或者反就可以了。

什么是多項式?

假設(shè)我有一個問題,這個問題是有規(guī)模的,規(guī)模用參數(shù)λ來表示,再引入常數(shù)a和c,將其做成一個多項式:a乘以λ的C次方。其中λ是一個安全參數(shù),如問題的規(guī)模,密碼系統(tǒng)的安全級別,私鑰長度等。

概率多項式時間算法組合起來通俗地說就是:當(dāng)這個算法應(yīng)用于某一項方案或者攻擊一個密碼系統(tǒng),算法最多能運行a乘以λ的C次方的時間,在這個時間內(nèi)能以多大的概率去解決這個問題或者攻破這個密碼系統(tǒng)。

這樣的設(shè)計使哈希算法非常高效。

需要滿足的兩個條件

上圖第一句話,1λ是一個安全參數(shù),即將安全參數(shù)輸入到Gen算法中產(chǎn)生一個s。

我們上文講了有很多哈希家族,每個哈希家族中又包含很多哈希算法,那么到底用哪個算法呢?這里的s就是表示選擇的算法,比如選用了SHA-256,那么s就可以確定。

第二句話, 最前面是一個自然數(shù),后面的 ?x 中x,指任意的字符串,這句話的意思是任意字符串可以任意長,并且用0和1來表示。

繼續(xù)往下看,H上標(biāo)s和x,由于第一句話的時候s確定了,那么此時H也就可以確定。

再往下走,對于任意兩個消息m1和m2,如果這兩個消息經(jīng)過哈希函數(shù)產(chǎn)生的結(jié)果是一樣的,那么此時就產(chǎn)生了一個碰撞(下文詳細解讀什么是碰撞)。

我們通過簡單分析哈希的定義,其實能發(fā)現(xiàn)一個特點:哈希算法能將任意長的輸入數(shù)據(jù)壓縮成固定長且短的數(shù)據(jù)。

例如SHA-256算法能夠?qū)⑷我忾L的一個字符串,哈希成一個256比特長的由0和1組成的數(shù)據(jù)串。

利用這個特點我們也就能返回去解釋為什么在區(qū)塊鏈當(dāng)中會使用哈希算法。

下期預(yù)告:哈希碰撞原理

    本文為澎湃號作者或機構(gòu)在澎湃新聞上傳并發(fā)布,僅代表該作者或機構(gòu)觀點,不代表澎湃新聞的觀點或立場,澎湃新聞僅提供信息發(fā)布平臺。申請澎湃號請用電腦訪問http://renzheng.thepaper.cn。

    +1
    收藏
    我要舉報
            查看更多

            掃碼下載澎湃新聞客戶端

            滬ICP備14003370號

            滬公網(wǎng)安備31010602000299號

            互聯(lián)網(wǎng)新聞信息服務(wù)許可證:31120170006

            增值電信業(yè)務(wù)經(jīng)營許可證:滬B2-2017116

            ? 2014-2025 上海東方報業(yè)有限公司

            反饋
            午夜精品久久久久久99影视| 久久精品国产一区二区三区| 成人久久久久| 久久精品夜色噜噜亚洲aa| 国产亚洲自拍熟女| 国产精品区一区第一页| 精品无码粉穴| 曰本a∨久久综合久久| 玩弄放荡少妇很黄视频| 国精产品wk5777| 久久精品女人天堂av麻| 中文在线8资源库| 蜜臀AV成人精品蜜臀AV| 色欲αv一区二区三区天美传媒| 亚洲午夜成人精品电影在线观看 | 淫荡少妇免费视频| 69国产成人综合久久精品| 亚洲av综合色区无码一区爱av| 欧美人与动xxxxz0oz| 国产成人高清精品亚洲| 久久久精品一区二区藌桃| 美女爽到高潮嗷嗷嗷叫免费网站 | 无码电影在线观看一区二区三区 | 久久久久久精品久久久| 黑人巨大精品欧美一区二区免费| 欧美日韩在线一区二区三区| 四虎影院海外永久| 午夜高清福利在线观看| 激情宗合网激情五月天| 久热草99re| 国产日韩av一区二区在线| 黑人强伦姧人妻日韩那庞大的| 又色又污又爽又黄的网站| 黑人AV无码| 这里只有精品久久| 亚洲AV无码国产精品色苹果AV| 国产电影一区波多野结衣| 91久久精品日日躁夜夜躁欧美| 少妇富婆高级按摩出水高潮| 强奸中国多毛少妇| 欧美色欲综合|