伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

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

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

3天內不再提示

區塊哈希競猜游戲系統開發加密哈希算法概述

搭建punk2558 ? 來源:搭建punk2558 ? 作者:搭建punk2558 ? 2022-06-24 09:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

哈希算法(Hash function)又稱散列算法,是一種從任何數據(文件、字符等)中創建小的數字“指紋”的方法。哈希算法只需滿足把一個散列對象映射到另一個區間的需求,因此根據使用場景的不同,可將哈希算法分為加密哈希與非加密哈希。

概述

加密哈希被認為是單向函數,也就是說極難由散列函數輸出的結果,回推輸入的數據是什么。加密哈希函數的輸入數據,通常被稱為消息(message),而它的輸出結果通常被稱為摘要(digest)。一個理想的密碼散列函數通常具有以下三個特性:

單向性:極難由一個已知的散列數值,推算出原始的消息;

唯一性:在不改動散列數值的前提下,修改消息內容是不可行的;

抗碰撞性:對于兩個不同的消息,它不能給與相同的散列數值。

pYYBAGK1GGuAXaZfAAVNvkilwyM442.png

其中不可碰撞性是指以當前的算法與算力水平,哈希碰撞的開銷超出人類可以接受的水平。以SHA-256為例,其哈希數值可能性約有1077種,而目前人類估計的宇宙原子總數約1080。雖然有概率論生日悖論問題存在,N位長度的哈希表可能發生碰撞測試次數不是2N次而是只有2N/2次,但仍然是一個巨大的數字。

常見的加密哈希函數有MD5、SHA-1、SHA-2(包含SHA-224、SHA-256、SHA-512等),雖然種類繁多,但除了生成摘要的長度、循環體內容等有一些差異外,算法的基本結構是一致的。下面以SHA-256為例,詳細介紹加密哈希算法的執行步驟。

SHA-256實現原理

常量初始化

SHA-256算法中用到了8個哈希初值以及64個哈希常量,其中,8個哈希初值是對自然數前8個質數(2,3,5,7,11,13,17,19)的平方根的小數部分取前32 bit:

64個哈希常量是對自然數中前64個質數的立方根的小數部分取前32 bit,標記為k[t]:

附加長度值

SHA-256用一個64位的數據來表示原始消息的長度,而在信息處理的過程中給需要將消息分解成512bit大小的塊,因此補位后的消息長度應該是512的整數倍。附加長度值分為兩個步驟:

第一個bit位補1,然后都補0,直到長度滿足對512取模后余數是448,如果長度已經滿足對512取模后余數是448,需要填充512個bit;

附加長度為64bit的長度值。

為什么不可碰撞性對加密哈希算法如此重要?從SHA-256算法的實現步驟可以看出,加密哈希的逆向計算幾乎是不可能的,暴力破解法的成本也太高,因此對加密哈希算法所謂的攻擊實際是利用哈希碰撞為突破口進行數據偽造。以常見的保存用戶密碼為例,如果是明文存儲,一旦發生數據泄露,那么所有的賬戶都會被盜用,因此常用下面一些方法進行Hash加密:

Hash加密:單純對密碼進行Hash加密無法保證密碼的安全性,因為用戶密碼通常是短字符,無論采用哪種加密算法,都可以利用暴力破解或彩虹表攻擊破解。

Hash加鹽:在原消息上添加隨機鹽再進行哈希加密,并將鹽與密碼保存起來,以便下次登陸驗證,添加隨機鹽增加了彩虹表破解的難度,促使攻擊者放棄破解。但是如果對密碼進行不安全的散列函數(MD5)計算,數據庫泄露后,攻擊者可以根據散列值找出碰撞的消息,不管這個消息是否與密碼相同,都可以通過驗證。

專用哈希函數加密:使用bcrypt等專門用來密碼加密的哈希函數進行加密,這類函數通常運算時間較長,大大增加了攻擊成本。

密碼加密不單單是一個技術問題,對于攻擊者來說,如果破解成本大于收益成本,即使攻破了加密的密碼也是無意義的。而那些被證明可以產生散列碰撞的Hash函數,攻擊它們的成本較低,隨著算法的改進與硬件水平的提升,破解的成本也不斷降低。從安全的角度考慮,應該及時更換不安全的哈希算法。

加密哈希的應用比較廣泛,筆者詳細地學習哈希算法的實現原理,也是為了更好地理解它們使用與被攻擊的方式,而不僅僅是在編程中調一個函數庫。在這之前以為密碼學的知識比較晦澀難懂,實際上拋開中間的數學運算,整體的邏輯十分清晰,基本結構很容易理解。

審核編輯:符乾江

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

    關注

    8

    文章

    7340

    瀏覽量

    94870
  • 哈希算法
    +關注

    關注

    1

    文章

    56

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    RK3562 單板機系統開發完全手冊:U-Boot/Kernel/Rootfs 開發與性能優化

    本文為創龍科技RK3562 單板機 Linux 系統開發指南,核心包含 SDK 配置、內核與文件系統開發、分區配置及 CPU/GPU/NPU 調頻等關鍵技術。文檔詳細說明鏡像制作、程序自啟動
    的頭像 發表于 02-05 17:20 ?340次閱讀
    RK3562 單板機<b class='flag-5'>系統開發</b>完全手冊:U-Boot/Kernel/Rootfs <b class='flag-5'>開發</b>與性能優化

    OPC UA 服務端用戶認證的底層邏輯:哈希與加鹽應用詳解

    摘要在基于UnifiedAutomationSDK開發OPCUA服務端時,用戶認證(UserAuthentication)是安全體系的第一道防線。除了傳輸層的加密通道外,服務端如何安全地存儲和驗證
    的頭像 發表于 01-15 17:29 ?175次閱讀
    OPC UA 服務端用戶認證的底層邏輯:<b class='flag-5'>哈希</b>與加鹽應用詳解

    ADI Trinamic如何讓伺服系統開發化繁為簡

    “剛搞定FOC算法調試,又卡在編碼器協議解碼;好不容易湊齊分立器件,卻發現系統功耗超標”——這大概是不少伺服系統開發者的日常。隨著設備中的電機數量日漸增多,傳統開發模式下的硬件堆疊、軟
    的頭像 發表于 01-06 14:49 ?336次閱讀
    ADI Trinamic如何讓伺服<b class='flag-5'>系統開發</b>化繁為簡

    軟件加密中有哪些常用的加密算法

    軟件加密中,有哪些常用的加密算法
    發表于 12-26 06:00

    深入淺出GMSSL:掌握SM2、SM3、SM4國密算法的高效實踐

    隨著國家信息安全戰略的推進,國密算法在各類安全系統中的應用日益廣泛。GMSSL作為支持國密標準的重要工具庫,為開發者提供了SM2(非對稱加密)、SM3(
    的頭像 發表于 12-12 18:20 ?668次閱讀
    深入淺出GMSSL:掌握SM2、SM3、SM4國密<b class='flag-5'>算法</b>的高效實踐

    電能質量在線監測裝置可設置數據加密密鑰嗎?

    (HSM) 與 國密算法 ,支持雙向證書認證與動態密鑰協商。 一、核心加密能力與密鑰類型 1. 加密算法支持 算法類型 主流支持 密鑰長度 典型應用場景 國密
    的頭像 發表于 12-05 17:40 ?2891次閱讀
    電能質量在線監測裝置可設置數據<b class='flag-5'>加密</b>密鑰嗎?

    CW32F030C8T6數字簽名實戰

    加密庫(如mbedTLS、WolfSSL)實現數字簽名。常見算法包括RSA、ECDSA。 2.2 基于SHA和RSA的簽名流程 生成哈希值:使用SHA-256對固件計算哈希值。 私鑰
    發表于 11-19 08:03

    CW32F030C8T6數字簽名的實戰指南

    加密庫(如mbedTLS、WolfSSL)實現數字簽名。常見算法包括RSA、ECDSA。 2.2 基于SHA和RSA的簽名流程 生成哈希值:使用SHA-256對固件計算哈希值。 私鑰
    發表于 11-18 06:35

    Molex OTS零哈希電纜組件技術解析與應用指南

    Molex現成(OTS)零哈希電纜組件是標準分立式電線電纜組件,設計用于應對電子設備日益縮小的挑戰。這些電纜組件提供節省空間的薄型解決方案,具有創新的雙點接觸特性,有2、4、6和8電路尺寸可供選擇
    的頭像 發表于 11-17 16:44 ?774次閱讀

    選擇加密算法時需考慮哪些因素?

    芯源半導體安全芯片的硬件加密引擎支持多種國際通用加密算法,在實際為物聯網設備選擇加密算法時,需考慮哪些因素?
    發表于 11-17 07:43

    MD5信息摘要算法實現一(基于蜂鳥E203協處理器)

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

    加密算法的應用

    加密是一種保護信息安全的重要手段,近年來隨著信息技術的發展,加密技術的應用越來越廣泛。本文將介紹加密算法的發展、含義、分類及應用場景。 1. 加密算法的發展
    發表于 10-24 08:03

    睿擎混合部署方案:基于QT的電機驅動系統開發|技術集結

    一、方案核心概述本方案旨在解決系統開發中“高性能實時控制”與“豐富人機交互”的需求矛盾。它采用混合部署的架構,將系統清晰地分為兩個層面:1.實時層:部署在睿擎派設備的RT-Thread實時系統
    的頭像 發表于 09-11 18:33 ?5530次閱讀
    睿擎混合部署方案:基于QT的電機驅動<b class='flag-5'>系統開發</b>|技術集結

    哈希極化到零擁塞:主動路徑規劃在RoCE網絡中的負載均衡實踐

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

    明遠智睿SSD2351:開啟嵌入式系統開發新時代

    在當今科技飛速發展的時代,嵌入式系統已經廣泛應用于各個領域,從智能家居到工業自動化,從智能交通到醫療設備,嵌入式系統無處不在。而開發板作為嵌入式系統開發的核心工具,其性能和功能直接影響
    的頭像 發表于 07-15 15:47 ?588次閱讀