在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

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

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

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

比特幣和以太坊主要的primitive是區塊的notion,這是包含轉賬信息,時間戳和其他重要數據的數據結構。他們安全性的重要部件,就是能夠壓縮網絡全部的狀態信息,變成很短,并且標準的信息,在需要的時候可以進行有效驗證,這就被稱之為哈希。

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

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

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

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

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

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

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

-很低的概率會產生collisions

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

破散哈希

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

“生日攻擊”是什么?

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

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

哈希算法的多樣化和革新

開始:SHA1 &SHA2

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

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

審核編輯:符乾江

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

    關注

    0

    文章

    178

    瀏覽量

    16468
  • 以太坊
    +關注

    關注

    14

    文章

    1838

    瀏覽量

    31974
收藏 人收藏

    評論

    相關推薦

    加密算法在網絡安全中扮演什么角色?

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

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

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

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

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

    華納云:Chord算法如何管理節點間的聯系?

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

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

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

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

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

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

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

    開源物聯網技術--哈希算法MD5加密功能技術分享

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

    燒結銀膠成為功率模塊封裝新寵

    線路互聯的關鍵材料。本文將從善仁燒結銀膠的定義、特性、應用優勢、技術挑戰及未來發展趨勢等方面,深入剖析這一高科技材料的前世今生
    的頭像 發表于 09-20 17:28 ?256次閱讀

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

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

    嵌入式系統的前世今生

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

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

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

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

    競爭冒險:在組合電路中,當邏輯門有兩個互補輸入信號同時向相反狀態變化時,輸出端可能產生過渡干擾脈沖的現象,稱為競爭冒險。那么 FPGA 產生競爭冒險的原因是什么呢? 信號在 FPGA 器件內部通過連線和邏輯單元時,都有一定的延時。 延時的大小與連線的長短和邏輯單元的數目有關 同時還受器件的制造工藝、工作電壓、溫度等條件的影響 信號的高低電平轉換也需要一定的過渡時間 。由于以上存在的因素,多路信號的電平值發生變化時,在信號變化的瞬間,組合邏輯的輸出有先后順序,并不是同時變化往往會出現一些不正確的尖峰信號,這些尖峰信號稱為毛刺 。如果一個組合邏輯電路中有毛刺出現,就說明該電路存在冒險 。與分立元件不同,由于 PLD 內部不存在寄生電容電感,這些毛刺將被完整的保留并向下一級傳遞,因此毛刺現象在 PLD 、 FPGA 設計中尤為突出 。 毛刺的累加 將會影響整個設計的可靠性和精確性 。因此判斷邏輯電路中是否存在冒險以及如何避免冒險是 FPGA 設計人員必須要考慮的問題。 接下來我們就要考慮如何消除冒險 ,消除冒險的方式有一下幾種: 1、利用冗余項消除毛刺 函數式和真值表所描述的是靜態邏輯,而競爭則是從一種 穩態到另一種穩態的過程。因此競爭是動態過程,它發生在輸入變量變化時。此時,修改卡諾圖,增加多余項,在卡諾圖的兩圓相切處增加一個圓,可以消除邏輯冒險。但該法對于計數器型產生的毛刺是無法消除的。 2、采用格雷碼 我們可以通過改變設計,破壞毛刺產生的條件,來減少毛刺的發生。例如,在數字電路設計中,常常采用格雷碼計數器取代普通的二進制計數器,這是因為格雷碼計數器的輸出每次只有一位跳變 消除了競爭冒險的發生條件,避免了毛刺的產生。 3、采樣法 由于冒險出現在變量發生變化的時刻,如果待信號穩定之后加入取樣脈沖,那么就只有在取樣脈沖作用期間輸出的信號才能有效。這樣可以避免產生的毛刺影響輸出波形。 一般說來,冒險出現在信號發生電平轉換的時刻,也就是說在輸出信號的建立時間內會發生冒險,而在輸出信號 的保持時間內是不會有毛刺信號出現的。如果在輸出信號的保持時間內對其進行采樣,就可以消除毛刺信號的影響。 4、吸收法 增加輸出濾波,在輸出端接上小電容C可以濾除毛刺 。但輸出波形的前后沿將變壞,在對波形要求較嚴格時,應再加整形電路,該方法不宜在中間級使用。 5、延遲辦法 因為毛刺最終是由于延遲造成的,所以可以找出產生延遲的支路。對于相對延遲小的支路,加上毛刺寬度 的延遲可以消除毛刺。 還可以用高頻時鐘來驅動一移位寄存器,待延時信號作數據輸入,按所需延時正確設置移位寄存器的級數 ,移位寄存器的輸出即為延時后的信號。 當然最好的就是,在設計之初,就對競爭冒險進行規避,具體規避方法有: 1、在設計中每一個模塊中只用一個時鐘,避免使用多時鐘設計,同時避免使用主時鐘分頻后的二次時鐘作為時序器件的時鐘輸入, 因為時鐘偏斜會比較大 。 2、設計譯碼邏輯電路時必須十分小心,因為譯碼器和比較器本身會產生尖峰,容易產生毛刺,把譯碼器或比較器的輸出直接連到時鐘輸入端或異步清除端,會造成嚴重的后果。 3、在設計中 應該盡量避免隱含 RS 觸發器的出現。一般要控制輸出被直接反饋到輸入端,采用反饋環路會出現隱含 RS 觸發器,其對輸入尖峰和假信號很敏感,輸入端有任何變化都有可能使輸出值立刻改變,此時易造成毛刺的產生,導致時序的嚴重混亂。 4、在設計電路時 要用寄存器和觸發器設計電路,盡量不要用鎖存器,因它對輸入信號的毛刺太敏感。如果堅持用鎖存器設計必須保證輸入信號絕對沒有毛刺,且滿足保持時間。 5、在設計中充分利用資源 ,因為 大部分 FPGA 器件都為時鐘、復位、預置等信號提供特殊的全局布線資源,要充分利用這些資源。 6、在設計中 不論是控制信號還是地址總線信號、數據總線信號,都要采用另外的寄存器,以使內部歪斜的數據變成同步數據。 7、在設計中 應該盡 量避免使用延遲線,因它對工藝過程的變化極為敏感,會大大降低電路的穩定性和可靠性,并將為測試帶來麻煩。 8、在設計中 對所有模塊的輸入時鐘、輸入信號、輸出信號都用D觸發器或寄存器進行同步處理,即輸出信號直接來自觸發器或寄存器的輸出端。這樣可以消除尖峰和毛刺信號。
    發表于 02-21 16:26

    探索世界軍用無人機的前世今生

    第一次世界大戰進入尾聲時,動力飛行還完全是一個新生的事物。十多年前,萊特兄弟剛在北卡羅來納州的基蒂霍克(Kitty Hawk)的沙丘間完成了原始雙翼飛機試飛。
    發表于 01-23 09:57 ?1693次閱讀

    機器人的前世今生

    機器人主要是用于代替人工作的,首先它是一個機器。對于傳統的機器,被使用者設計制造出來后,它的工作步驟、路徑都是確定的。機器的設計也是根據它所應用的工作而進行的。
    發表于 12-29 14:54 ?566次閱讀
    機器人的<b class='flag-5'>前世</b><b class='flag-5'>今生</b>
    主站蜘蛛池模板: 丁香花在线视频观看免费| 97色偷偷| 天天舔| 视频网站黄| 性生活黄色毛片| 久久色婷婷| 欧美一级特黄aaaaaa在线看片| 亚洲一级免费视频| 日本三级成人中文字幕乱码| 永久视频免费| 亚洲一区免费在线| 人人爱爱人人| 天堂在线网站| 国产一区国产二区国产三区| 美女视频黄的免费视频网页| 奇米影视777欧美在线观看| 黄色毛片基地| 激情都市亚洲| 97se亚洲综合| 色婷婷社区| 午夜在线| 国产亚洲第一| 国产精品二区三区免费播放心| 99香蕉精品视频在线观看| 四虎影视网址| 天天狠天天干| 一级a爱片久久毛片| 成人三级电影在线观看| 91华人在线视频| 免费一级成人毛片| 国产真实乱在线更新| 婷五月综合| 天天做天天看夜夜爽毛片| 久久精品免费在线观看| 黄色福利网| 91亚洲国产成人久久精品网站| 欧美性久久| tdg58在线观看| 欧美午夜场| 2023天天操| 欧美色图日韩|