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

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

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

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

區(qū)塊哈希競(jìng)猜游戲系統(tǒng)開發(fā)加密哈希算法概述

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

掃碼添加小助手

加入工程師交流群

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

概述

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

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

唯一性:在不改動(dòng)散列數(shù)值的前提下,修改消息內(nèi)容是不可行的;

抗碰撞性:對(duì)于兩個(gè)不同的消息,它不能給與相同的散列數(shù)值。

pYYBAGK1GGuAXaZfAAVNvkilwyM442.png

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

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

SHA-256實(shí)現(xiàn)原理

常量初始化

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

64個(gè)哈希常量是對(duì)自然數(shù)中前64個(gè)質(zhì)數(shù)的立方根的小數(shù)部分取前32 bit,標(biāo)記為k[t]:

附加長(zhǎng)度值

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

第一個(gè)bit位補(bǔ)1,然后都補(bǔ)0,直到長(zhǎng)度滿足對(duì)512取模后余數(shù)是448,如果長(zhǎng)度已經(jīng)滿足對(duì)512取模后余數(shù)是448,需要填充512個(gè)bit;

附加長(zhǎng)度為64bit的長(zhǎng)度值。

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

Hash加密:?jiǎn)渭儗?duì)密碼進(jìn)行Hash加密無法保證密碼的安全性,因?yàn)橛脩裘艽a通常是短字符,無論采用哪種加密算法,都可以利用暴力破解或彩虹表攻擊破解。

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

專用哈希函數(shù)加密:使用bcrypt等專門用來密碼加密的哈希函數(shù)進(jìn)行加密,這類函數(shù)通常運(yùn)算時(shí)間較長(zhǎng),大大增加了攻擊成本。

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

加密哈希的應(yīng)用比較廣泛,筆者詳細(xì)地學(xué)習(xí)哈希算法的實(shí)現(xiàn)原理,也是為了更好地理解它們使用與被攻擊的方式,而不僅僅是在編程中調(diào)一個(gè)函數(shù)庫(kù)。在這之前以為密碼學(xué)的知識(shí)比較晦澀難懂,實(shí)際上拋開中間的數(shù)學(xué)運(yùn)算,整體的邏輯十分清晰,基本結(jié)構(gòu)很容易理解。

審核編輯:符乾江

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

    關(guān)注

    8

    文章

    7322

    瀏覽量

    94283
  • 哈希算法
    +關(guān)注

    關(guān)注

    1

    文章

    56

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

    ADI Trinamic如何讓伺服系統(tǒng)開發(fā)化繁為簡(jiǎn)

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

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

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

    深入淺出GMSSL:掌握SM2、SM3、SM4國(guó)密算法的高效實(shí)踐

    隨著國(guó)家信息安全戰(zhàn)略的推進(jìn),國(guó)密算法在各類安全系統(tǒng)中的應(yīng)用日益廣泛。GMSSL作為支持國(guó)密標(biāo)準(zhǔn)的重要工具庫(kù),為開發(fā)者提供了SM2(非對(duì)稱加密)、SM3(
    的頭像 發(fā)表于 12-12 18:20 ?394次閱讀
    深入淺出GMSSL:掌握SM2、SM3、SM4國(guó)密<b class='flag-5'>算法</b>的高效實(shí)踐

    電能質(zhì)量在線監(jiān)測(cè)裝置可設(shè)置數(shù)據(jù)加密密鑰嗎?

    (HSM) 與 國(guó)密算法 ,支持雙向證書認(rèn)證與動(dòng)態(tài)密鑰協(xié)商。 一、核心加密能力與密鑰類型 1. 加密算法支持 算法類型 主流支持 密鑰長(zhǎng)度 典型應(yīng)用場(chǎng)景 國(guó)密
    的頭像 發(fā)表于 12-05 17:40 ?2755次閱讀
    電能質(zhì)量在線監(jiān)測(cè)裝置可設(shè)置數(shù)據(jù)<b class='flag-5'>加密</b>密鑰嗎?

    CW32F030C8T6數(shù)字簽名實(shí)戰(zhàn)

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

    CW32F030C8T6數(shù)字簽名的實(shí)戰(zhàn)指南

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

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

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

    選擇加密算法時(shí)需考慮哪些因素?

    芯源半導(dǎo)體安全芯片的硬件加密引擎支持多種國(guó)際通用加密算法,在實(shí)際為物聯(lián)網(wǎng)設(shè)備選擇加密算法時(shí),需考慮哪些因素?
    發(fā)表于 11-17 07:43

    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

    加密算法的應(yīng)用

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

    睿擎混合部署方案:基于QT的電機(jī)驅(qū)動(dòng)系統(tǒng)開發(fā)|技術(shù)集結(jié)

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

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

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

    明遠(yuǎn)智睿SSD2351:開啟嵌入式系統(tǒng)開發(fā)新時(shí)代

    在當(dāng)今科技飛速發(fā)展的時(shí)代,嵌入式系統(tǒng)已經(jīng)廣泛應(yīng)用于各個(gè)領(lǐng)域,從智能家居到工業(yè)自動(dòng)化,從智能交通到醫(yī)療設(shè)備,嵌入式系統(tǒng)無處不在。而開發(fā)板作為嵌入式系統(tǒng)開發(fā)的核心工具,其性能和功能直接影響
    的頭像 發(fā)表于 07-15 15:47 ?473次閱讀

    瑞芯微RK3506 3核A7@1.5GHz+雙網(wǎng)口+雙CAN-FD 工業(yè)開發(fā)板—Linux系統(tǒng)開發(fā)手冊(cè)

    本文主要演示Linux系統(tǒng)開發(fā)流程。包括LinuxSDK的配置與編譯,U-Boot、Kernel及Rootfs開發(fā),以及系統(tǒng)鏡像的替換方法,旨在幫助開發(fā)者完成
    的頭像 發(fā)表于 05-20 09:24 ?1257次閱讀
    瑞芯微RK3506 3核A7@1.5GHz+雙網(wǎng)口+雙CAN-FD 工業(yè)<b class='flag-5'>開發(fā)</b>板—Linux<b class='flag-5'>系統(tǒng)開發(fā)</b>手冊(cè)