chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

區(qū)塊鏈科普:哈希函數(shù)算法

如意 ? 來源:以太坊愛好者 ? 作者:zhiachong ? 2020-06-28 09:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

哈希值和哈希函數(shù)的概念是初次入門區(qū)塊鏈的人常聽到的兩個關(guān)鍵詞,而且似乎對安全性來說特別關(guān)鍵。(實(shí)際上也確實(shí)是。)對于像比特幣和以太坊這樣由成千上萬的節(jié)點(diǎn)通過 P2P 方法組成的去中心化網(wǎng)絡(luò)來說,“免信任性” 和驗(yàn)證效率無疑是關(guān)鍵。也就是說,這些系統(tǒng)需要找到方法把信息編碼成緊湊的形式,同時讓參與者能夠安全快速地進(jìn)行驗(yàn)證。

比特幣和以太坊網(wǎng)絡(luò)所處理的主要內(nèi)容叫做“區(qū)塊”,指的是由交易、時間戳和其他重要元數(shù)據(jù)所組成的數(shù)據(jù)結(jié)構(gòu)。比特幣和以太坊網(wǎng)絡(luò)的安全性的關(guān)鍵一環(huán)是:它能將表達(dá)網(wǎng)絡(luò)全局狀態(tài)的大塊信息壓縮成一個簡短的消息。在有需要之時,我們可以高效地驗(yàn)證這個消息的真實(shí)性。這個過程就是用哈希函數(shù)來完成的,而得到的結(jié)果(消息)就是哈希值。

即使只更改輸入中的一個字符,最后得出的哈希值也會完全不同

密碼學(xué)哈希廣泛應(yīng)用于口令存儲和文件驗(yàn)證系統(tǒng)。簡單來說,密碼學(xué)哈希函數(shù)是一種確定性的算法,不論輸入什么值,都能得到一個固定長度的字符串。也就是說,同一個輸入值始終對應(yīng)同一個輸出值。

對哈希函數(shù)來說,重要的不僅是確定性(還有結(jié)果的隨機(jī)性):即使只更改輸入中的一個比特位,也會導(dǎo)致最終得到的哈希值截然不同。

哈希算法有一個無可回避的問題叫碰撞可能性。因?yàn)楣V凳枪潭ㄩL度的字符串,同一個輸出哈希值有可能對應(yīng)多個輸入。碰撞會造成很嚴(yán)重的后果。如果有人能夠按需要發(fā)起碰撞攻擊,他就可以用恰當(dāng)?shù)墓V祵阂馕募驍?shù)據(jù)偽裝成合法的、能夠通過驗(yàn)證的文件。好的哈希函數(shù)的設(shè)計(jì)目標(biāo)是讓攻擊者極難找到方法來找出對應(yīng)同一個哈希的不同輸入。

哈希計(jì)算的效率不應(yīng)過高,以免讓攻擊者可以更簡單地人為計(jì)算出碰撞。哈希算法必須能夠抵御“原像攻擊(pre-image attack)”。也就是說,對于特定哈希值,攻擊者很難通過確定性計(jì)算步驟倒推出輸入值(即,原像)。

假設(shè) s = hash(x),倒推 x 應(yīng)該是近乎不可能的。

總的來說,“好的” 哈希算法需要具備以下 3 個特性:

更改輸入中的一個比特位會產(chǎn)生雪崩效應(yīng),導(dǎo)致最后得出的哈希值截然不同

出現(xiàn)哈希碰撞的概率非常低

在無需犧牲抗碰撞性的前提下計(jì)算效率過得去

破解哈希算法

哈希算法的初始標(biāo)準(zhǔn)之一是 MD5 哈希。MD5 哈希廣泛應(yīng)用于文件完整性驗(yàn)證(校驗(yàn)和),以及在網(wǎng)絡(luò)應(yīng)用數(shù)據(jù)庫中存儲經(jīng)過哈希計(jì)算的賬號口令。MD5 的功能非常簡單,因?yàn)樗鼤⒚總€輸入轉(zhuǎn)換成一個固定的 128 位字符串輸出,并通過多輪簡單的單向操作來計(jì)算確定性輸出。由于輸出值長度較短,操作又較為簡單,MD5 很容易被破解,一種常見的攻擊方法叫生日攻擊。

什么是生日攻擊?你有沒有聽說過這樣一個事實(shí)?如果你將 23 個人放到一個房間里,其中兩個人生日相同的概率為 50% 。如果將 70 個人放到一個房間里,其中兩個人生日相同的概率高達(dá) 99.9% 。這就是我們所說的鴿籠原理(pigeonhole principle),即將 100 只鴿子裝進(jìn) 99 個鴿籠,必然有兩只鴿子分享同一個鴿籠。也就是說,固定長度的輸出意味著所有輸入輸出組合中一定存在碰撞。

籠子不夠時,鴿子就會湊對

事實(shí)上,MD5 的抗碰撞性太差,以至于一臺家用 2.4 GHz 奔騰處理器都能在幾秒內(nèi)計(jì)算出哈希碰撞。此外,由于 MD5 在互聯(lián)網(wǎng)早期階段得到了廣泛應(yīng)用,網(wǎng)絡(luò)上有大量 MD5 原像遭到泄漏,通過谷歌搜索它們的哈希值就能找到。

哈希算法的多樣性發(fā)展

NSA (沒錯,就是美國國家安全保障局)是哈希算法標(biāo)準(zhǔn)的先驅(qū)。安全哈希算法(Secure Hashing Algorithm,SHA1)是最早提出的標(biāo)準(zhǔn),將輸出值的長度固定在 160 位。遺憾的是,SHA1 只是在 MD5 的基礎(chǔ)上增加了輸出值長度、單向操作的次數(shù)和復(fù)雜度,但是并沒有作出能夠抵御更強(qiáng)大機(jī)器攻擊的根本性改進(jìn)。

我們?nèi)绾尾拍茏龅酶茫?/p>

在 2006 年,美國國家標(biāo)準(zhǔn)技術(shù)研究所(NIST)舉辦了一場競賽,旨在找到一個本質(zhì)上不同于 SHA2 的替代標(biāo)準(zhǔn)。因此,SHA3 應(yīng)運(yùn)而生,它是 KECCAK 哈希算法的一種方案。

雖然 SHA 3 在名稱上與 SHA1 和 SHA2 一脈相承,但是在本質(zhì)上差異很大,因?yàn)樗捎昧艘环N名為海綿結(jié)構(gòu)(sponge construct)的機(jī)制。該機(jī)制使用隨機(jī)排列來吸收并輸出數(shù)據(jù),同時為將來用于哈希算法的輸入值提供隨機(jī)性。

KECCAK256 海綿結(jié)構(gòu)是如何進(jìn)行輸入操作的

SHA3 的內(nèi)部狀態(tài)相較于輸出值擁有更多信息,突破了以往算法的局限性。NIST 于 2015 年正式認(rèn)可了 SHA3 標(biāo)準(zhǔn)。

哈希計(jì)算和工作量證明

就整合進(jìn)區(qū)塊鏈協(xié)議的哈希算法而言,比較早的比特幣選擇了 SHA256 ,而以太坊采用了改進(jìn)后的 SHA3 (KECCAK256)作為工作量證明算法。對于采用工作量證明的區(qū)塊鏈來說,選擇哈希函數(shù)的一大重要標(biāo)準(zhǔn)是哈希運(yùn)算效率。

使用一類名為專用集成電路ASIC)的硬件,我們可以大幅提高比特幣 SHA256 算法的哈希運(yùn)算的效率。有很多文章已經(jīng)闡述了礦池是如何利用 ASIC 的,以及 ASIC 是如何讓協(xié)議趨向于計(jì)算中心化的。也就是說,工作量證明會激勵計(jì)算效率較高的機(jī)器聚集成礦池,從而形成較大的哈希算力(算力大小的衡量標(biāo)準(zhǔn)就是礦機(jī)在每個時間間隔內(nèi)可以完成多少次哈希運(yùn)算)。

以太坊選擇的是改進(jìn)后的 SHA3 算法(叫做 KECCAK256 )。此外,以太坊的工作量證明算法 Dagger-Hashimoto 被設(shè)計(jì)成了內(nèi)存密集型模式,計(jì)算硬件需要加大內(nèi)存才能提高計(jì)算效率。

那么,為什么比特幣采用雙重 SHA256 ?有趣的是,比特幣協(xié)議(的工作量證明)需要重復(fù)運(yùn)行兩遍 SHA256 算法。請注意,這不是為了抵御生日攻擊,畢竟在 hash(x) = hash(y) 的情況下,hash(hash(x)) = hash(hash(y)) 。雙重 SHA256 旨在抵御長度擴(kuò)展攻擊。

從本質(zhì)上來說,所謂的長度擴(kuò)展攻擊,指的是如果惡意攻擊者知道了某個哈希輸入的長度,就可以在哈希值上添加一個秘密的字符串、欺騙哈希函數(shù)從其內(nèi)部狀態(tài)的一個特定部分開始計(jì)算。作為 SHA2 算法家族的一員,SHA256 也存在這一缺陷。因此,比特幣采取執(zhí)行兩遍哈希計(jì)算的方式來解決這一缺陷。

SHA3 并非哈希算法競賽取得的唯一突破。雖然最終勝出的是 SHA3 ,但是 BLAKE 算法緊隨其后,位居第二。對于以太坊 2.0 的分片實(shí)現(xiàn)來說,更高效的哈希算法可以說是一項(xiàng)功能性要求,研究團(tuán)隊(duì)對此非常重視。BLAKE2b 哈希算法是 BLAKE 算法的高度升級版本。與 KECCAK256 相比,BLAKE2b 哈希算法在保持高度安全性的同時,在提升效率方面也進(jìn)行了深入探索。

使用一臺現(xiàn)代 CPU 計(jì)算 BLAKE2b 的速度比計(jì)算 KECCAK 快了 3 倍。

哈希算法的前景展望

這么看來,無論我們做了什么,無非就是(1)增加內(nèi)部哈希操作的復(fù)雜度,或者(2)增加哈希輸出值的長度,讓攻擊者的計(jì)算機(jī)無法足夠快地有效計(jì)算出碰撞。

我們依靠單向操作的原像模糊性來保護(hù)網(wǎng)絡(luò)的安全性。也就是說,哈希算法的安全性目標(biāo)是在有無限多可能的沖突的情況下,讓找出哈希碰撞的難度盡可能高。

如果量子計(jì)算時代到來,哈希算法依然安全嗎?

就目前來看,答案是肯定的,哈希算法將經(jīng)受時間的考驗(yàn),抵御量子計(jì)算。量子計(jì)算能夠解決的是那些嚴(yán)格按照某些小技巧或 RSA 加密理論打造底層結(jié)構(gòu)的數(shù)學(xué)問題。另一方面,哈希算法的內(nèi)部構(gòu)造沒那么形式化。

量子計(jì)算機(jī)確實(shí)能夠提高哈希等非結(jié)構(gòu)化問題的計(jì)算速度,但它們最終還是會像如今的計(jì)算機(jī)一樣采取暴力破解手段。

無論我們?yōu)閰f(xié)議選擇了哪種算法,我們顯然都在邁向計(jì)算高效化的未來。為此,我們必須慎重選擇最合適的工具,使之經(jīng)受住時間的檢驗(yàn)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 哈希函數(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    43

    瀏覽量

    9729
  • 區(qū)塊鏈
    +關(guān)注

    關(guān)注

    112

    文章

    15576

    瀏覽量

    110790
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    OPC UA 服務(wù)端用戶認(rèn)證的底層邏輯:哈希與加鹽應(yīng)用詳解

    用戶信息至關(guān)重要。本文不涉及復(fù)雜的代碼實(shí)現(xiàn),而是通過分析典型服務(wù)端配置文件中的相關(guān)機(jī)制,闡述哈希算法(SHA-256)與加鹽(Salt)機(jī)制在OPCUA登錄環(huán)節(jié)的具
    的頭像 發(fā)表于 01-15 17:29 ?39次閱讀
    OPC UA 服務(wù)端用戶認(rèn)證的底層邏輯:<b class='flag-5'>哈希</b>與加鹽應(yīng)用詳解

    ElfBoard嵌入式教育科普|Linux系統(tǒng)I/O接口:Open函數(shù)詳解

    1.函數(shù)概述open()是Linux/Unix內(nèi)核提供的底層系統(tǒng)調(diào)用,核心功能是打開或創(chuàng)建文件。成功調(diào)用后,內(nèi)核會返回一個整型的文件描述符作為該文件的句柄,后續(xù)的所有讀寫操作都基于此描述符進(jìn)行。調(diào)用
    的頭像 發(fā)表于 12-29 11:41 ?944次閱讀
    ElfBoard嵌入式教育<b class='flag-5'>科普</b>|Linux系統(tǒng)I/O接口:Open<b class='flag-5'>函數(shù)</b>詳解

    Molex OTS零哈希電纜組件技術(shù)解析與應(yīng)用指南

    Molex現(xiàn)成(OTS)零哈希電纜組件是標(biāo)準(zhǔn)分立式電線電纜組件,設(shè)計(jì)用于應(yīng)對電子設(shè)備日益縮小的挑戰(zhàn)。這些電纜組件提供節(jié)省空間的薄型解決方案,具有創(chuàng)新的雙點(diǎn)接觸特性,有2、4、6和8電路尺寸可供選擇
    的頭像 發(fā)表于 11-17 16:44 ?622次閱讀

    MD5信息摘要算法實(shí)現(xiàn)一(基于蜂鳥E203協(xié)處理器)

    命名為“Q”,則message_var=Q[(32*i):(32*i+31)]。 4、哈希運(yùn)算(Hash Operation) 此部分為MD5算法的核心。MD5有4組主循環(huán),每組的主循環(huán)需要進(jìn)行16輪
    發(fā)表于 10-30 07:18

    SM4算法原理及分享1

    SM4算法是一種分組密碼算法。其分組長度為128bit,密鑰長度也為128bit。加密算法與密鑰擴(kuò)展算法均采用32輪非線性迭代結(jié)構(gòu),以字(32位)為單位進(jìn)行加密運(yùn)算,每一次迭代運(yùn)算均
    發(fā)表于 10-30 06:54

    TCORDIC算法實(shí)現(xiàn)正余弦函數(shù)

    TCORDIC算法,由低延遲CORDIC算法和Taylor展開組成。Taylor展開計(jì)算作為CORDIC算法的補(bǔ)充,能夠結(jié)合CORDIC算法和Taylor展開方式來計(jì)算浮點(diǎn)正余弦
    發(fā)表于 10-29 06:30

    查找表與多項(xiàng)式近似算法實(shí)現(xiàn)初等函數(shù)

    逼近的定義區(qū)間長度及選取系數(shù)的方式?jīng)Q定。 每個子間隔的系數(shù)存儲在查找表中。用Xm來選擇系數(shù),所以方程變成: 使用查找表與多項(xiàng)式近似結(jié)合算法實(shí)現(xiàn)對數(shù)函數(shù),如下圖所示為指數(shù)函數(shù)的流水線結(jié)構(gòu): 下圖為仿真結(jié)果:
    發(fā)表于 10-28 08:10

    gcc工具無法匯編硬件浮點(diǎn)指令fsqrt問題

    團(tuán)隊(duì)在項(xiàng)目推進(jìn)過程中發(fā)現(xiàn),Linux環(huán)境下,math庫中的sqrt()函數(shù)無論是在浮點(diǎn)數(shù)的gcc工具中還是整數(shù)的gcc工具中,綜合的結(jié)果都是以整數(shù)指令來模擬。 若果想要進(jìn)一步地節(jié)約時間,我們
    發(fā)表于 10-20 06:19

    北京科技創(chuàng)新促進(jìn)中心文科與科普部李守勇部長一行蒞臨昱櫟技術(shù)科普基地實(shí)地踏勘

    10月14日,北京科技創(chuàng)新促進(jìn)中心文科與科普部部長李守勇一行蒞臨北京昱櫟技術(shù)有限公司(以下簡稱“昱櫟技術(shù)”),圍繞科普基地建設(shè)運(yùn)營開展實(shí)地踏勘與專題座談。昱櫟技術(shù)董事長栗旭錦全程陪同,通過“實(shí)景參觀
    的頭像 發(fā)表于 10-16 09:48 ?725次閱讀
    北京科技創(chuàng)新促進(jìn)中心文科與<b class='flag-5'>科普</b>部李守勇部長一行蒞臨昱櫟技術(shù)<b class='flag-5'>科普</b>基地實(shí)地踏勘

    科普|通信射頻接頭學(xué)習(xí)

    科普|通信射頻接頭學(xué)習(xí)
    的頭像 發(fā)表于 08-19 17:09 ?828次閱讀
    <b class='flag-5'>科普</b>|通信射頻接頭學(xué)習(xí)

    哈希極化到零擁塞:主動路徑規(guī)劃在RoCE網(wǎng)絡(luò)中的負(fù)載均衡實(shí)踐

    智算集群對網(wǎng)絡(luò)性能,特別是高吞吐、低延遲和無損特性有著嚴(yán)苛要求,RoCE因此被廣泛應(yīng)用。然而,在主流Clos組網(wǎng)架構(gòu)下,傳統(tǒng)的ECMP路由機(jī)制存在天然的局限性,容易引發(fā)哈希極化問題,成為制約
    的頭像 發(fā)表于 07-21 17:27 ?1861次閱讀
    從<b class='flag-5'>哈希</b>極化到零擁塞:主動路徑規(guī)劃在RoCE網(wǎng)絡(luò)中的負(fù)載均衡實(shí)踐

    循環(huán)經(jīng)濟(jì) 2.0:海翔科技如何用區(qū)塊技術(shù)追溯二手設(shè)備全生命周期

    摘要:在循環(huán)經(jīng)濟(jì) 2.0 時代,資源高效利用與透明化管理成為核心訴求。海翔科技創(chuàng)新性地將區(qū)塊技術(shù)應(yīng)用于二手半導(dǎo)體設(shè)備全生命周期追溯,為行業(yè)發(fā)展提供新范式。本文通過分析循環(huán)經(jīng)濟(jì) 2.0 背景下的行業(yè)
    的頭像 發(fā)表于 06-27 09:58 ?891次閱讀
    循環(huán)經(jīng)濟(jì) 2.0:海翔科技如何用<b class='flag-5'>區(qū)塊</b><b class='flag-5'>鏈</b>技術(shù)追溯二手設(shè)備全生命周期

    設(shè)備管理系統(tǒng)新范式:區(qū)塊存證+動態(tài)權(quán)限管理

    企業(yè)面對數(shù)字化轉(zhuǎn)型挑戰(zhàn),設(shè)備管理面臨安全與靈活性問題。傳統(tǒng)設(shè)備管理方案漏洞頻出,數(shù)據(jù)易遭篡改,權(quán)限管理僵化。企業(yè)需構(gòu)建區(qū)塊存證+動態(tài)權(quán)限管理方案,提升設(shè)備管理可信度、靈活性與效率,實(shí)現(xiàn)設(shè)備管理和合規(guī)監(jiān)管。
    的頭像 發(fā)表于 03-13 10:41 ?952次閱讀
    設(shè)備管理系統(tǒng)新范式:<b class='flag-5'>區(qū)塊</b><b class='flag-5'>鏈</b>存證+動態(tài)權(quán)限管理

    人工智能、云計(jì)算、區(qū)塊三者區(qū)別對比

    AI人工智能基于算法和數(shù)據(jù),擅長處理復(fù)雜數(shù)據(jù);云計(jì)算依賴虛擬化和網(wǎng)絡(luò),提供高效計(jì)算;區(qū)塊利用密碼學(xué),保證數(shù)據(jù)安全透明。三者在數(shù)據(jù)處理、安全性和應(yīng)用場景上各有特色,AI人工智能適用于智能決策,云計(jì)算支持大規(guī)模數(shù)據(jù)處理,
    的頭像 發(fā)表于 02-20 14:45 ?1315次閱讀

    是德33220A 函數(shù)任意波形發(fā)生器

    是德33220A 函數(shù)任意波形發(fā)生器 儀器特性 *33220A 函數(shù)發(fā)生器包括 USB、GPIB 和 LAN 接口 *用于信號設(shè)置視覺驗(yàn)證的圖形模式 *選件 001 提供支持同步信道的多元
    的頭像 發(fā)表于 02-07 15:55 ?780次閱讀