那曲檬骨新材料有限公司

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

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

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

哈希算法的前世、今生和未來

電子設(shè)計 ? 來源:電子設(shè)計 ? 作者:電子設(shè)計 ? 2020-12-25 18:54 ? 次閱讀

新人在學區(qū)塊鏈技術(shù)的時候,都會聽到哈希和哈希算法,這似乎是無處不在的安全性保證。例如比特幣或者以太坊這種運行去中心網(wǎng)絡(luò)和共識的機器,都會有上萬個節(jié)點通過P2P連接,并且需要“無需可信”和可驗證的效率。這些系統(tǒng)需要將信息寫入緊湊的格式,從而通過參與者進行保證安全和快速驗證。

比特幣和以太坊主要的primitive是區(qū)塊的notion,這是包含轉(zhuǎn)賬信息,時間戳和其他重要數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。他們安全性的重要部件,就是能夠壓縮網(wǎng)絡(luò)全部的狀態(tài)信息,變成很短,并且標準的信息,在需要的時候可以進行有效驗證,這就被稱之為哈希。

到處都會使用加密哈希,從密碼存儲到文件驗證系統(tǒng)。使用確定性算法的基本原理,就是使用一個輸入,并且每次都產(chǎn)生一個固定長度的字符串。也就是說,使用同樣的輸入總是會導致同樣的輸出。

確定性不僅對哈希很重要,而且可以改變輸入的單個字符會產(chǎn)生完全不同的哈希。

哈希算法的問題是碰撞(collisions)的必然性。哈希是固定的字符串,意味著對于每個輸入,不同的輸入都會產(chǎn)生同樣的輸出。碰撞(collisions)是不好的。這意味著如果有攻擊者能夠根據(jù)需求創(chuàng)建這種collisions,那么他就可以讓欺詐文件或者數(shù)據(jù)看起來像正確的,合適的哈希,并且冒充合法。優(yōu)質(zhì)哈希功能的目標是讓攻擊者很難找到,獲得輸入數(shù)據(jù)的方法。

計算哈希不應(yīng)該太簡單,因為這會讓對于攻擊者來說,計算collisions也變得很容易。哈希算法需要對“預攻擊”有抵抗性。也就是說,給定哈希,應(yīng)該很難計算追溯確定性的步驟來重新產(chǎn)生由哈希創(chuàng)建的數(shù)值。

Given s= hash(x), finding x should be near impossible.

概括來看,“好的”哈希算法會有以下3種特性:

-在輸入中改變一個字符,應(yīng)該會創(chuàng)建雪崩效應(yīng),從而導致完全不同的哈希

-很低的概率會產(chǎn)生collisions

-提高效率,但是不會犧牲collision的對抗性

破散哈希

其中一個初始哈希算法標準是MD5哈希,這是被廣泛用來進行文件整合驗證,而且存儲哈希密碼在網(wǎng)頁應(yīng)用數(shù)據(jù)庫。這個功能非常簡單,因為輸出是固定的,128個字符串對于每個輸入,并且使用幾輪微不足道的單向運算來計算其確定性輸出。它的輸出長度短,操作簡單,使得MD5徹底易碎,被稱為生日攻擊。

“生日攻擊”是什么?

我們曾經(jīng)聽過,如果你把23個人放在一個房間,就會有50%的概率,其中的2人會有同樣的生日?將這個數(shù)字提升到70人在一個房間,就會有99.9%的概率。這就是我們所說的鴿巢原理,也就說如果把100個各自放到99個箱子,你就必須在1個盒子里面放2個鴿子。換句話說,固定的輸出意味著collisions 可能會找到固定的排序。

其實,MD5對于collision的抵抗是很脆弱的,家庭使用的2.4GHz處理器就可以在幾秒鐘算出哈希collision。而且,對于現(xiàn)在網(wǎng)頁的早期使用,還可以在網(wǎng)絡(luò)上創(chuàng)建很多MD5的預圖形,如果搜索哈希,就可以在谷歌上很容易找到。

哈希算法的多樣化和革新

開始:SHA1 &SHA2

NAS被稱為哈希算法標準的先驅(qū),最初的想法是安全哈希算法或者SHA1,創(chuàng)建了160固定長度的輸出。不幸地是,SHA1通過增加了輸出長度,單向操作的數(shù)量,還有單向操作的復雜性,從而形成了MD5算法,但是這不會提供任何基礎(chǔ)的提升,來對抗更有力量的機器來嘗試不同的攻擊。

我們怎么才能做得更好呢?

審核編輯:符乾江

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

    關(guān)注

    0

    文章

    179

    瀏覽量

    16544
  • 以太坊
    +關(guān)注

    關(guān)注

    14

    文章

    1838

    瀏覽量

    32114
收藏 人收藏

    評論

    相關(guān)推薦

    安泰功率放大器應(yīng)用:納米材料的前世今生

    ,因此在各個領(lǐng)域具有廣泛的應(yīng)用前景。那么你知道納米材料是如何被發(fā)現(xiàn),又是如何走入我們的生活,獲得長足發(fā)展的嗎?今天Aigtek安泰電子帶大家詳細了解一下。 納米材料的前世今生 1861年,隨著膠體化學的建立,科學家們開始了對直徑為
    的頭像 發(fā)表于 01-02 14:05 ?160次閱讀
    安泰功率放大器應(yīng)用:納米材料的<b class='flag-5'>前世</b><b class='flag-5'>今生</b>

    加密算法在網(wǎng)絡(luò)安全中扮演什么角色?

    : 通過哈希函數(shù)和消息認證碼(MAC),加密算法可以檢測數(shù)據(jù)在傳輸過程中是否被篡改,確保數(shù)據(jù)的完整性。 提供身份驗證 : 非對稱加密算法和數(shù)字簽名技術(shù)可以驗證通信雙方的身份,防止身份冒充攻擊。 實現(xiàn)數(shù)據(jù)簽名 : 數(shù)字簽名使用非
    的頭像 發(fā)表于 12-17 16:00 ?148次閱讀

    深入了解Java泛型——從前世今生到PECS原則

    本文主要介紹泛型誕生的前世今生,特性,以及著名PECS原則的由來。 在日常開發(fā)中,必不可少的會使用到泛型,這個過程中經(jīng)常會出現(xiàn)類似“為什么這樣會編譯報錯?”,“為什么這個列表無法添加
    的頭像 發(fā)表于 11-21 11:45 ?224次閱讀
    深入了解Java泛型——從<b class='flag-5'>前世</b><b class='flag-5'>今生</b>到PECS原則

    無人駕駛的前世今生:一部充滿爭議的革命史

    無人駕駛的萌芽比大多數(shù)人想象的要早得多。1925年,紐約百老匯大街上演示的"American Wonder"無人車,就是人類在這個領(lǐng)域的第一次嘗試。雖然它只能通過簡單的無線電遙控實現(xiàn)基礎(chǔ)動作,但這個嘗試卻為后來的發(fā)展播下了火種。 20世紀80年代,隨著計算機技術(shù)的發(fā)展,無人駕駛迎來第一次重要突破。1987年,德國工程師恩斯特·迪克曼斯開發(fā)的VaMoRs系統(tǒng),首次將計算機視覺應(yīng)用到自動駕駛中。這個系統(tǒng)能夠以55公里/小時的速度在空曠道路上自主行駛,這在
    的頭像 發(fā)表于 11-12 13:51 ?309次閱讀
    無人駕駛的<b class='flag-5'>前世</b><b class='flag-5'>今生</b>:一部充滿爭議的革命史

    華納云:Chord算法如何管理節(jié)點間的聯(lián)系?

    Chord算法是一種分布式哈希表(DHT)協(xié)議,它通過構(gòu)建一個環(huán)狀結(jié)構(gòu)來管理節(jié)點間的聯(lián)系。以下是Chord算法如何管理節(jié)點間聯(lián)系的具體方式: 環(huán)狀結(jié)構(gòu): Chord算法將所有節(jié)點和鍵
    發(fā)表于 11-08 16:03

    400Hz中頻電源前世今生未來

    400Hz中頻電源是一種能夠產(chǎn)生頻率為400Hz的交流電的裝置,過功率電子器件對電網(wǎng)提供的工頻交流電進行整流、濾波、逆變等一系列處理,最終輸出穩(wěn)定的400Hz交流電。400Hz中頻電源廣泛用于航空、軍事等領(lǐng)域,具有輸入輸出電壓穩(wěn)定、頻率響應(yīng)快等特點,能高效節(jié)能,易于集成控制,應(yīng)用于航空、船舶、鐵路、醫(yī)療等領(lǐng)域。
    的頭像 發(fā)表于 11-08 09:41 ?359次閱讀

    帶你揭秘:功率放大器的前世今生~

    關(guān)于功率放大器功率放大器,作為一種可放大交直流信號,在給定失真率條件下,能產(chǎn)生最大功率輸出以驅(qū)動某一負載的實驗室儀器,在MEMS測試、超聲波測試、電磁場驅(qū)動、無線電能傳輸、院校電子實驗測試等領(lǐng)域都有良好應(yīng)用,那么你知道功放的發(fā)展史嗎?今天Aigtek就給大家分享一下~功率放大器發(fā)展史功率放大器的發(fā)展史可以追溯至20世紀初,隨著電子技術(shù)的不斷進步,功率放大器也
    的頭像 發(fā)表于 11-07 08:00 ?1318次閱讀
    帶你揭秘:功率放大器的<b class='flag-5'>前世</b><b class='flag-5'>今生</b>~

    什么是默克爾樹(Merkle Tree)?如何計算默克爾根?

    01 默克爾樹的概念 默克爾樹(Merkle Tree)是一種特殊的二叉樹,它的每個節(jié)點都存儲了一個數(shù)據(jù)塊的哈希值。哈希值是一種可以將任意長度的數(shù)據(jù)轉(zhuǎn)換為固定長度的字符串的算法,它具有唯一性和不可
    的頭像 發(fā)表于 09-30 18:22 ?1094次閱讀
    什么是默克爾樹(Merkle Tree)?如何計算默克爾根?

    開源物聯(lián)網(wǎng)技術(shù)--哈希算法MD5加密功能技術(shù)分享

    MD5(Message-Digest Algorithm 5)是一種常用的哈希函數(shù),通常用于數(shù)據(jù)加密和安全校驗等場合。MD5 算法可以將任意長度的消息輸入計算出一個固定長度的摘要,其生成的摘要具有
    的頭像 發(fā)表于 09-21 09:57 ?1917次閱讀
    開源物聯(lián)網(wǎng)技術(shù)--<b class='flag-5'>哈希</b><b class='flag-5'>算法</b>MD5加密功能技術(shù)分享

    燒結(jié)銀膠成為功率模塊封裝新寵

    線路互聯(lián)的關(guān)鍵材料。本文將從善仁燒結(jié)銀膠的定義、特性、應(yīng)用優(yōu)勢、技術(shù)挑戰(zhàn)及未來發(fā)展趨勢等方面,深入剖析這一高科技材料的前世今生。
    的頭像 發(fā)表于 09-20 17:28 ?322次閱讀

    “寧”聚創(chuàng)新,“融”耀未來——康寧熔融博物館亮相DIC 2024

    式的創(chuàng)新展示空間,邀觀眾一同探尋康寧專利熔融下拉制程的前世今生未來。 ? 康寧熔融博物館亮相2024國際(上海)顯示技術(shù)及應(yīng)用創(chuàng)新展 此次康寧采用博物館形式呈現(xiàn)的熔融下拉制程,其故事要追溯到上世紀50年代。彼時康寧的先驅(qū)者們
    的頭像 發(fā)表于 07-04 10:55 ?411次閱讀
    “寧”聚創(chuàng)新,“融”耀<b class='flag-5'>未來</b>——康寧熔融博物館亮相DIC 2024

    嵌入式系統(tǒng)的前世今生

    一、初始階段(1960-1970)1960年代末:嵌入式系統(tǒng)的概念開始形成,最初用于專業(yè)的軍事和航天應(yīng)用,例如用于導彈控制的計算機系統(tǒng)。微處理器的誕生:1971年,英特爾推出了4004芯片,這是世界上第一個商用微處理器。它的出現(xiàn)標志著嵌入式系統(tǒng)發(fā)展的一個里程碑,使得更小型、成本更低的電子設(shè)備設(shè)計成為可能。二、發(fā)展階段(1980年代)個人計算機(PC)的普及:
    的頭像 發(fā)表于 04-12 08:11 ?1752次閱讀
    嵌入式系統(tǒng)的<b class='flag-5'>前世</b><b class='flag-5'>今生</b>

    炬芯科技趙新中:無線音頻SoC的AI算法未來和應(yīng)用

    的平臺。 炬芯科技算法研發(fā)中心高級總監(jiān)趙新中受邀出席,于電聲元器件及芯片專題論壇發(fā)表以《無線音頻SoC的AI算法未來和應(yīng)用》為主題的演講,分享了炬芯科技的音頻AI算法研究、應(yīng)用經(jīng)驗和最
    的頭像 發(fā)表于 04-10 11:13 ?514次閱讀
    炬芯科技趙新中:無線音頻SoC的AI<b class='flag-5'>算法</b><b class='flag-5'>未來</b>和應(yīng)用

    【量子計算機重構(gòu)未來 | 閱讀體驗】 跟我一起漫步量子計算

    首先感謝發(fā)燒友提供的試讀機會。 略讀一周,感觸頗深。首先量子計算機作為一種前沿技術(shù),正逐步展現(xiàn)出其巨大的潛力,預示著未來社會和技術(shù)領(lǐng)域的深刻變革。下面,我將從幾個方面探討量子計算機如何重構(gòu)我們
    發(fā)表于 03-13 19:28

    FPGA中競爭與冒險的前世今生

    競爭冒險:在組合電路中,當邏輯門有兩個互補輸入信號同時向相反狀態(tài)變化時,輸出端可能產(chǎn)生過渡干擾脈沖的現(xiàn)象,稱為競爭冒險。那么 FPGA 產(chǎn)生競爭冒險的原因是什么呢? 信號在 FPGA 器件內(nèi)部通過連線和邏輯單元時,都有一定的延時。 延時的大小與連線的長短和邏輯單元的數(shù)目有關(guān) 同時還受器件的制造工藝、工作電壓、溫度等條件的影響 信號的高低電平轉(zhuǎn)換也需要一定的過渡時間 。由于以上存在的因素,多路信號的電平值發(fā)生變化時,在信號變化的瞬間,組合邏輯的輸出有先后順序,并不是同時變化往往會出現(xiàn)一些不正確的尖峰信號,這些尖峰信號稱為毛刺 。如果一個組合邏輯電路中有毛刺出現(xiàn),就說明該電路存在冒險 。與分立元件不同,由于 PLD 內(nèi)部不存在寄生電容電感,這些毛刺將被完整的保留并向下一級傳遞,因此毛刺現(xiàn)象在 PLD 、 FPGA 設(shè)計中尤為突出 。 毛刺的累加 將會影響整個設(shè)計的可靠性和精確性 。因此判斷邏輯電路中是否存在冒險以及如何避免冒險是 FPGA 設(shè)計人員必須要考慮的問題。 接下來我們就要考慮如何消除冒險 ,消除冒險的方式有一下幾種: 1、利用冗余項消除毛刺 函數(shù)式和真值表所描述的是靜態(tài)邏輯,而競爭則是從一種 穩(wěn)態(tài)到另一種穩(wěn)態(tài)的過程。因此競爭是動態(tài)過程,它發(fā)生在輸入變量變化時。此時,修改卡諾圖,增加多余項,在卡諾圖的兩圓相切處增加一個圓,可以消除邏輯冒險。但該法對于計數(shù)器型產(chǎn)生的毛刺是無法消除的。 2、采用格雷碼 我們可以通過改變設(shè)計,破壞毛刺產(chǎn)生的條件,來減少毛刺的發(fā)生。例如,在數(shù)字電路設(shè)計中,常常采用格雷碼計數(shù)器取代普通的二進制計數(shù)器,這是因為格雷碼計數(shù)器的輸出每次只有一位跳變 消除了競爭冒險的發(fā)生條件,避免了毛刺的產(chǎn)生。 3、采樣法 由于冒險出現(xiàn)在變量發(fā)生變化的時刻,如果待信號穩(wěn)定之后加入取樣脈沖,那么就只有在取樣脈沖作用期間輸出的信號才能有效。這樣可以避免產(chǎn)生的毛刺影響輸出波形。 一般說來,冒險出現(xiàn)在信號發(fā)生電平轉(zhuǎn)換的時刻,也就是說在輸出信號的建立時間內(nèi)會發(fā)生冒險,而在輸出信號 的保持時間內(nèi)是不會有毛刺信號出現(xiàn)的。如果在輸出信號的保持時間內(nèi)對其進行采樣,就可以消除毛刺信號的影響。 4、吸收法 增加輸出濾波,在輸出端接上小電容C可以濾除毛刺 。但輸出波形的前后沿將變壞,在對波形要求較嚴格時,應(yīng)再加整形電路,該方法不宜在中間級使用。 5、延遲辦法 因為毛刺最終是由于延遲造成的,所以可以找出產(chǎn)生延遲的支路。對于相對延遲小的支路,加上毛刺寬度 的延遲可以消除毛刺。 還可以用高頻時鐘來驅(qū)動一移位寄存器,待延時信號作數(shù)據(jù)輸入,按所需延時正確設(shè)置移位寄存器的級數(shù) ,移位寄存器的輸出即為延時后的信號。 當然最好的就是,在設(shè)計之初,就對競爭冒險進行規(guī)避,具體規(guī)避方法有: 1、在設(shè)計中每一個模塊中只用一個時鐘,避免使用多時鐘設(shè)計,同時避免使用主時鐘分頻后的二次時鐘作為時序器件的時鐘輸入, 因為時鐘偏斜會比較大 。 2、設(shè)計譯碼邏輯電路時必須十分小心,因為譯碼器和比較器本身會產(chǎn)生尖峰,容易產(chǎn)生毛刺,把譯碼器或比較器的輸出直接連到時鐘輸入端或異步清除端,會造成嚴重的后果。 3、在設(shè)計中 應(yīng)該盡量避免隱含 RS 觸發(fā)器的出現(xiàn)。一般要控制輸出被直接反饋到輸入端,采用反饋環(huán)路會出現(xiàn)隱含 RS 觸發(fā)器,其對輸入尖峰和假信號很敏感,輸入端有任何變化都有可能使輸出值立刻改變,此時易造成毛刺的產(chǎn)生,導致時序的嚴重混亂。 4、在設(shè)計電路時 要用寄存器和觸發(fā)器設(shè)計電路,盡量不要用鎖存器,因它對輸入信號的毛刺太敏感。如果堅持用鎖存器設(shè)計必須保證輸入信號絕對沒有毛刺,且滿足保持時間。 5、在設(shè)計中充分利用資源 ,因為 大部分 FPGA 器件都為時鐘、復位、預置等信號提供特殊的全局布線資源,要充分利用這些資源。 6、在設(shè)計中 不論是控制信號還是地址總線信號、數(shù)據(jù)總線信號,都要采用另外的寄存器,以使內(nèi)部歪斜的數(shù)據(jù)變成同步數(shù)據(jù)。 7、在設(shè)計中 應(yīng)該盡 量避免使用延遲線,因它對工藝過程的變化極為敏感,會大大降低電路的穩(wěn)定性和可靠性,并將為測試帶來麻煩。 8、在設(shè)計中 對所有模塊的輸入時鐘、輸入信號、輸出信號都用D觸發(fā)器或寄存器進行同步處理,即輸出信號直接來自觸發(fā)器或寄存器的輸出端。這樣可以消除尖峰和毛刺信號。
    發(fā)表于 02-21 16:26
    百家乐官网赌场现金网| 百家乐真钱斗地主| 大发888娱乐网| 百家乐官网7杀6| 百家乐任你博娱乐场开户注册| 灵璧县| 太阳城百家乐网上| 沙龙娱乐开户| 百家乐软件l柳州| 真人网上娱乐城| 闲和庄百家乐官网赌场娱乐网规则 | 百家乐手机壳| 阿鲁科尔沁旗| 366百家乐赌博| 罗平县| 百家乐透明发牌靴| 百家乐官网群boaicai| 自贡百家乐赌| 什么是百家乐官网的大路| 大发888游戏备用网址| 百家乐官网补第三张牌规则| 大发888心水论坛| 大众百家乐官网的玩法技巧和规则| 人气最高棋牌游戏| 永利高百家乐信誉| 百家乐官网有免费玩| 顶尖百家乐的玩法技巧和规则| 百家乐官网赌博策略| 大发888在线体育官网| 在线百家乐官网策| 太阳城网址| 网络百家乐游戏机怎么破解| 百家乐官网技巧之写路| 威尼斯人娱乐城信誉最好| 大世界百家乐官网娱乐| 世界十大博彩公司| 百家乐大轮转| 百家乐官网棋牌游戏源码| 大发888安装需要多久| 玩百家乐怎么才能赢| 百家乐官网5式直缆投注法|