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

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

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

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

信息摘要算法:簡要分類和一般應(yīng)用

嵌入式物聯(lián)網(wǎng)開發(fā) ? 來源:嵌入式物聯(lián)網(wǎng)開發(fā) ? 作者:嵌入式物聯(lián)網(wǎng)開發(fā) ? 2022-09-04 10:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

通過本文的閱讀,你將會(huì)了解以下幾部分內(nèi)容:

什么是信息摘要算法?

常見的信息摘要算法有哪些以及它們的特性和區(qū)別是什么?

信息摘要算法的應(yīng)用場景有哪些?

什么是信息摘要算法?

信息摘要算法是一種對“信息”進(jìn)行【摘要化】處理的算法。通俗地來說,就好比本文,假設(shè)它很長,那么讀者在第一時(shí)間看到它的時(shí)候并不會(huì)完全閱讀全文,而是往往會(huì)先去讀一下文章的【摘要】,通過文章的摘要部分,簡要了解下文章的主要內(nèi)容。類似地,在信息密碼學(xué)領(lǐng)域,同樣有這種的操作,這就是信息摘要算法的產(chǎn)生背景。

假設(shè)有一段數(shù)據(jù)(專業(yè)術(shù)語叫“消息”),經(jīng)過【信息摘要算法】處理后,它將變成一段固定長度的【信息摘要】,用公式表示如下,其中M表示消息原文,D表示輸出的消息摘要,P表示信息摘要算法。

P(M with any length) = D(with fixed length)

通過公式,我們可以很直觀地看出,信息摘要算法的輸入數(shù)據(jù)長度是可以為任意長度,但是在實(shí)際使用的過程中,倘若輸入數(shù)據(jù)的長度過于長,我們會(huì)采用將輸入數(shù)據(jù)塊采用數(shù)據(jù)分組的方式一步步輸入,最后得到信息摘要結(jié)果的輸出。而輸出的信息摘要,通常都是固定長度的,至于信息摘要結(jié)果的固定長度是多少,是與具體的摘要算法相關(guān)的,下文會(huì)詳細(xì)介紹各種信息摘要算法的摘要輸出情況。

還有一點(diǎn),公式中并沒有體現(xiàn)“加密和解密的相互過程”,也就是說【信息摘要算法是單向的,不可逆的】。嚴(yán)格來說,它并不是一種【加密】算法,僅僅是【摘要】算法。由于它計(jì)算的不可逆性,所以經(jīng)信息摘要算法計(jì)算出來的信息摘要D,一定程度上就代表了信息原文M。倘若有原文M1和原文M2,經(jīng)過相同的信息摘要算法P,得到相同的信息摘要D,這種情況在密碼學(xué)上,我們稱之為【碰撞】。一般而言, 好的摘要算法,沒有人能從中找到【碰撞】或者說極度難找到。雖然【碰撞】是肯定存在的(碰撞即不同的內(nèi)容產(chǎn)生相同的摘要),但因目前信息科學(xué)發(fā)達(dá)程度非常高,計(jì)算機(jī)的運(yùn)算能力得到了前所未有的提升,僅通過計(jì)算機(jī)運(yùn)算的暴力破解,某些較弱的信息摘要算法就能被【碰撞】成功。

常見的信息摘要算法

常見的信息摘要算法有:MD2/4/5、SHA1/SHA224/SHA256/SHA384、SM3算法、MAC算法等。

MD(Message Digest):消息摘要

MD算法,是誕生于比較早的消息摘要算法,在網(wǎng)絡(luò)應(yīng)用上也比較常見,比如在某個(gè)網(wǎng)站上下載一個(gè)文件,通常它會(huì)標(biāo)識該文件的MD5值,當(dāng)下載者完成下載文件到本地之后,使用工具對下載的文件執(zhí)行MD5計(jì)算,求出一個(gè)MD5摘要值,與網(wǎng)站上給出的參考MD5值進(jìn)行對比;如果兩者相等,則表示下載的文件是可靠的,沒有被篡改過的;反之,如果MD5值對不上,則表明下載的文件是被篡改過的,可能是網(wǎng)絡(luò)攻擊者投放的病毒攜帶文件或者是在下載的過程中文件出現(xiàn)了損壞等情況,此時(shí)應(yīng)該對文件進(jìn)行刪除操作。

MD系列的算法主要有MD2、MD4、MD5,數(shù)字值越大表示MD算法的版本越高,從安全性上說:MD5 > MD4 > MD2,自然破解難度MD5是最高的。

MD系列的信息摘要算法,輸出的信息摘要長度都是固定的128bits,即16字節(jié);當(dāng)不同的信息輸入時(shí),產(chǎn)生的信息摘要也不相同;反之,當(dāng)信息摘要相同,我們可以認(rèn)為信息的明文是相同的。

SHA(Secure Hash Algorithm):安全散列

SHA系列的算法從版本上劃分有SHA-1和SHA-2;SHA-1和SHA-2是該算法的兩個(gè)不同版本。它們兩者之間在構(gòu)造上(散列結(jié)果是怎樣被原始數(shù)據(jù)創(chuàng)建出來的)和簽名的位數(shù)上都有不同和簽名的位長。你應(yīng)該把SHA-2看作是SHA-1的繼承者,因?yàn)檫@是一個(gè)整體上的改進(jìn)。

SHA-1就是我們常見到的SHA1;SHA-2主要有SHA224、SHA256、SHA384、SHA512等等,不同的數(shù)字代表信息摘要輸出的位數(shù)。與MD系列算法類似,數(shù)字值越高表示摘要算法的安全性越高,計(jì)算的復(fù)雜性也越大;但不同于MD算法的是,SHA算法每個(gè)算法輸出的信息摘要長度是不一樣的。

SHA1,產(chǎn)生的信息摘要為160bits,即20字節(jié)

SHA224,產(chǎn)生的信息摘要為224bits,即28字節(jié)

SHA256,產(chǎn)生的信息摘要為256bits,即32字節(jié)

SHA384,產(chǎn)生的信息摘要為384bits,即48字節(jié)

SHA512,產(chǎn)生的信息摘要為512bits,即64字節(jié)

更為詳細(xì)的SHA算法介紹,可以參考: SHA算法 - block2016 - 博客園

SM(Shangyong Mima):國密算法,即商用密碼

經(jīng)查證,國密算法的英文字母縮寫SM,其實(shí)是【商用密碼】的中文拼音首字母簡寫。國密即國家密碼局認(rèn)定的國產(chǎn)密碼算法,即商用密碼。

在國密算法的列表中,SM3算法就是實(shí)現(xiàn)了類似MD算法和SHA算法的信息摘要算法。它和其他2種摘要算法一樣,都是不同長度的信息輸入,產(chǎn)生固定長度的摘要輸出。不同的是,它輸出的信息摘要長度固定為256bits,即32字節(jié)。在實(shí)際使用過程中,SM3算法比較少會(huì)單獨(dú)使用,而是配合SM2【非對稱加密算法】配合使用,實(shí)現(xiàn)數(shù)字驗(yàn)簽和消息驗(yàn)簽的應(yīng)用。

MAC(Message Authentication Code):消息認(rèn)證

MAC算法不同于以上3種信息摘要算法;MAC算法是帶密鑰的Hash函數(shù):消息的散列值由只有通信雙方才知道的秘密密鑰K來控制。此時(shí)Hash值稱作MAC。表達(dá)公式如下所示,其中M表示信息原文,P表示MAC算法,MAC表示輸出的MAC值,K表示MAC密鑰:

P(M with any length) by K = MAC(with fixed length)

通過公式我們可以發(fā)現(xiàn),計(jì)算MAC通常會(huì)有KEY的參與,那么在信息安全通訊領(lǐng)域,接收方要想驗(yàn)證收到的數(shù)據(jù)是否正確,就需要利用以上公式,輸入MAC密鑰重新計(jì)算一遍MAC值,然后對比計(jì)算值和收到的MAC值;若相等才認(rèn)為數(shù)據(jù)是合法。這里涉及到一個(gè)MAC KEY,發(fā)送方和接收方對相同的數(shù)據(jù)進(jìn)行MAC運(yùn)算,能得到相同MAC值的前提,除了兩者需使用相同的MAC算法外,還需要保證兩者的MAC KEY是一致的(通常計(jì)算MAC采用的是對稱加密算法)。至于,在實(shí)際生產(chǎn)應(yīng)用過程中,如何保證兩者的MAC KEY是一致的,或者說MAC KEY是如果從一方傳遞到另一方的,這又是另一個(gè)話題,這種應(yīng)用場景,在POS機(jī)與銀行后臺信息交互的安全性,就是利用MAC KEY的。

MAC算法是一個(gè)統(tǒng)稱,它很多種實(shí)現(xiàn),在POS行業(yè),常用的MAC算法有CUP模式、EMV2000模式、或者自定義形式的MAC算法。MAC算法的核心是如何將輸入數(shù)據(jù)分組,利用MAC KEY做一些XOR、移位、加密等操作,使得輸入數(shù)據(jù)散列化,最后再利用MAC KEY執(zhí)行加密操作(通常為對稱加密)得到MAC值。

值得注意的是,雖然MAC算法有MAC KEY的參與,但是它計(jì)算過程依然是單向的,不可逆的,這也是為什么會(huì)把它歸為【信息摘要算法】的主要原因。

信息摘要算法 信息輸入長度 摘要輸出長度 密鑰 安全性
MD5 * 128bits(16字節(jié)) 低,有被碰撞的可能性
SHA1 * 160bits(20字節(jié)) 低,有被碰撞的可能性
SHA224 * 224bits(28字節(jié)) 較高
SHA256 * 256bits(32字節(jié)) 高,推薦使用,最長使用
SHA384 * 384bits(48字節(jié)) 高,推薦使用
SHA512 * 512bits(64字節(jié)) 高,高安全性場景下推薦使用
SM3 * 256bits(32字節(jié)) 高,推薦使用
MAC算法 * 視不同的MAC算法而不同 有的是8字節(jié),有的是16字節(jié) 高,除非密鑰被破解
注:表中表示輸入長度為“任意值”;此處的任意值,通常也是有限制的,比如SHA256,應(yīng)小于2的64次方,而SHA512,*應(yīng)小于2的128次方。

信息摘要算法的應(yīng)用場景

信息摘要算法的應(yīng)用場景只要有以下幾種:

網(wǎng)絡(luò)文件下載

前面也簡單提到了,在網(wǎng)絡(luò)文件下載的時(shí)候,通常會(huì)有附上對應(yīng)下載文件的摘要值,常用的是MD5或SHA1值;這個(gè)主要目的是給下載者在下載完網(wǎng)絡(luò)文件后,做最后的文件正確性和完整性的確認(rèn)。如果計(jì)算出來的摘要值,與網(wǎng)站上的摘要不相等,我們應(yīng)認(rèn)為下載的文件是不可信任的,應(yīng)當(dāng)做刪除處理。

數(shù)字簽名和信息驗(yàn)簽

在產(chǎn)生數(shù)學(xué)簽名的過程中,通常會(huì)有一步是對輸入數(shù)據(jù)原文做摘要運(yùn)算,這樣做的主要目的是將輸入數(shù)據(jù)原文迷你化。由于經(jīng)摘要算法處理后,信息摘要的長度都是一定的,所以在做簽名運(yùn)算的時(shí)候,只需要對信息摘要做簽名運(yùn)算,在一定程度上就是輸入信息的原文做簽名運(yùn)算。輸入數(shù)據(jù)簽名后,發(fā)送方會(huì)將簽名數(shù)據(jù)附在輸入信息的尾部,一同發(fā)送給接收方。而在驗(yàn)簽流程中,接收方收到發(fā)送方的信息原文和簽名值,首先需要做的是根據(jù)雙方協(xié)商的信息摘要算法,做同樣的摘要運(yùn)算,得到摘要值M',然后使用密鑰對簽名數(shù)據(jù)進(jìn)行解密運(yùn)算,得到發(fā)送方的摘要M;如果M' = M,則表示驗(yàn)簽通過,接收的數(shù)據(jù)是可任性的。

關(guān)于數(shù)字簽名的具體細(xì)節(jié),后續(xù)會(huì)有更為詳細(xì)的文章做更進(jìn)一步的介紹,比如常見的簽名算法是怎么工作的,等等。

安全報(bào)文傳輸

這種應(yīng)用場景,主要是MAC算法的應(yīng)用,最常見的就是POS與銀行后臺的報(bào)文傳輸。由于涉及到金融風(fēng)險(xiǎn),所以在POS機(jī)與銀聯(lián)后臺通訊的過程中,除了對個(gè)人賬戶的敏感信息(如卡號、卡密碼)等做加密處理外,還需要對整一個(gè)通訊報(bào)文做MAC計(jì)算,在發(fā)送報(bào)文的時(shí)候,MAC值附在原始的密文后面以供接收方對接收的密文做MAC校驗(yàn)。至于為何要這樣做,就是為了保證通訊報(bào)文的其他信息要素不能被篡改,比如消費(fèi)的金額。試想下,如果你在超市消費(fèi)了1.00元,但是由于報(bào)文被截取了,攻擊者將報(bào)文中的消費(fèi)金額篡改為100.00元;這種情況下,除非報(bào)文攻擊者拿到了POS與銀行后臺通訊的MAC KEY,否則它計(jì)算出來的MAC值必定與銀行后臺計(jì)算的MAC值對不上,進(jìn)而被銀行后臺當(dāng)做非法報(bào)文,做丟棄處理。但如果銀行后臺沒有MAC值校驗(yàn)這一步操作,那么對于消費(fèi)者而言,就是明明消費(fèi)了1.00元卻被扣款100.00元;這個(gè)后果將變得不堪設(shè)想。

本文對常見的信息摘要算法進(jìn)行一番總結(jié),閱讀了本文后,相信讀者對信息摘要算法都有了更為清晰的認(rèn)識,同時(shí)對各個(gè)摘要算法之間的區(qū)別也有一定的了解。文中提及的觀點(diǎn),難免有紕漏之處,還望有心的讀者誠心提出改進(jìn)意見,互相學(xué)習(xí),互相進(jìn)步。感謝。

審核編輯 黃昊宇

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

    關(guān)注

    23

    文章

    4761

    瀏覽量

    97164
  • 嵌入式技術(shù)
    +關(guān)注

    關(guān)注

    10

    文章

    366

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    請問瞬時(shí)功耗一般怎么測?

    瞬時(shí)功耗一般怎么測?
    發(fā)表于 12-02 07:07

    FCC認(rèn)證周期一般多久?

    和電磁環(huán)境造成有害干擾。二、不同類型FCC認(rèn)證的周期區(qū)別FCCSDoC(Supplier’sDeclarationofConformity,自我聲明)適用對象:一般
    的頭像 發(fā)表于 11-03 17:35 ?11次閱讀
    FCC認(rèn)證周期<b class='flag-5'>一般</b>多久?

    FCC認(rèn)證周期一般多久

    FCC認(rèn)證周期取決于產(chǎn)品類型、測試復(fù)雜度以及認(rèn)證方式(自我聲明或由授權(quán)機(jī)構(gòu)辦理)。一般來說,從樣品測試到獲得證書的時(shí)間大致在2~8周之間。以下是詳細(xì)說明:、FCC認(rèn)證簡介FCC認(rèn)證是美國聯(lián)邦通信
    的頭像 發(fā)表于 11-03 17:14 ?563次閱讀
    FCC認(rèn)證周期<b class='flag-5'>一般</b>多久

    測量絕緣電阻一般用什么儀器

    測量絕緣電阻一般用絕緣電阻測試儀,俗稱兆歐表或搖表,是專用核心儀器。 常用儀器類型 手搖式兆歐表:手動(dòng)搖柄產(chǎn)生直流高壓,結(jié)構(gòu)簡單、成本低,適合常規(guī)低壓設(shè)備測量。 數(shù)字式絕緣電阻測試儀:自動(dòng)輸出高壓,數(shù)字顯示結(jié)果,精度高、操作省力,適配高低壓設(shè)備及高精度需求。
    發(fā)表于 11-03 15:13

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

    operation flow 每輪MD5信息摘要運(yùn)算操作流程如圖1.4所示: 圖1.4MD5 算法運(yùn)算操作 Fig. 1.4MD5 algorithm operation 1.
    發(fā)表于 10-30 07:18

    發(fā)布元服務(wù)配置應(yīng)用分類、標(biāo)簽和資質(zhì)信息

    參考元服務(wù)資質(zhì)審核要求。 僅分發(fā)手表設(shè)備:暫不支持“分類標(biāo)簽和資質(zhì)管理”菜單。請直接在應(yīng)用信息頁面設(shè)置應(yīng)用分類和標(biāo)簽,然后在版本信息頁面上傳對應(yīng)的版權(quán)資質(zhì)文件。 **** 分發(fā)非手表設(shè)
    發(fā)表于 10-29 16:47

    人臉識別門禁終端的一般故障排查方法

    問題,有些可能是使用環(huán)境造成,有些可能是人為不小心損壞了。下面,天波小編就來簡單介紹人臉識別門禁終端的一般故障排查方法吧?!倦娫磫栴}】當(dāng)人臉識別門禁終端出現(xiàn):接上電
    的頭像 發(fā)表于 04-27 10:45 ?1687次閱讀
    人臉識別門禁終端的<b class='flag-5'>一般</b>故障排查方法

    一般工控機(jī)與防爆工控機(jī)有哪些不同?

    一般工控機(jī)與防爆工控機(jī)在多個(gè)方面存在顯著差異,以下是兩者的主要不同點(diǎn): 、應(yīng)用場景 ● 一般工控機(jī):通常用于各種行業(yè)中的常規(guī)設(shè)備或裝置的自動(dòng)控制,如工業(yè)自動(dòng)化、機(jī)器人、交通運(yùn)輸、醫(yī)療器械、能源管理
    的頭像 發(fā)表于 03-21 07:35 ?778次閱讀
    <b class='flag-5'>一般</b>工控機(jī)與防爆工控機(jī)有哪些不同?

    保密項(xiàng)目一般用什么網(wǎng)線

    在保密要求較高的場合,通常使用以下幾種網(wǎng)線: 、光纖布線 主要特點(diǎn):傳輸信息的速率和帶寬高,在規(guī)定的距離內(nèi)支持1GBase-T和10GBase-T,是六類雙絞線速率的4至40倍。線路無電磁輻射
    的頭像 發(fā)表于 03-17 10:07 ?1054次閱讀

    PID控制算法的C語言實(shí)現(xiàn):PID算法原理

    在工業(yè)應(yīng)用中 PID 及其衍生算法是應(yīng)用最廣泛的算法,是當(dāng)之無愧的萬能算法,如果能夠熟練掌握 PID 算法的設(shè)計(jì)與實(shí)現(xiàn)過程,對于
    發(fā)表于 02-26 15:24

    光纜接頭預(yù)留長度一般不少于多少米

    光纜接頭預(yù)留長度的具體要求可能會(huì)因應(yīng)用場景、設(shè)計(jì)規(guī)范或特定需求而有所不同。但一般來說,光纜接頭預(yù)留長度通常有個(gè)基本標(biāo)準(zhǔn)。 種常見的標(biāo)準(zhǔn)是,光纜接頭預(yù)留長度一般不少于7米。這
    的頭像 發(fā)表于 02-14 09:55 ?2500次閱讀

    mark點(diǎn)定位的一般原理與步驟

    在印刷電路板(PCB)的制造、組裝和檢測過程中,Mark 點(diǎn)定位是確保精度的關(guān)鍵環(huán)節(jié)。以下是 Mark 點(diǎn)定位的一般原則和步驟。 ()設(shè)計(jì)階段 位置規(guī)劃 在 PCB 設(shè)計(jì)之初,就需要規(guī)劃 Mark
    的頭像 發(fā)表于 02-05 17:37 ?2499次閱讀

    軌到軌運(yùn)放與一般運(yùn)放的區(qū)別

    類特殊的運(yùn)放,相較于傳統(tǒng)的一般運(yùn)放,在輸入/輸出范圍、性能特點(diǎn)及應(yīng)用場景等方面展現(xiàn)出顯著的優(yōu)勢。本文將深入探討軌到軌運(yùn)放與一般運(yùn)放的區(qū)別,旨在為工程師提供全面的技術(shù)理解和設(shè)計(jì)指導(dǎo)。
    的頭像 發(fā)表于 01-30 16:29 ?2822次閱讀

    信號線電壓一般是多少,信號線電壓怎么測量

    在電子和通信系統(tǒng)中,信號線作為信息傳輸?shù)拿浇椋潆妷禾匦詫τ谙到y(tǒng)的性能和穩(wěn)定性至關(guān)重要。了解信號線電壓的一般范圍以及正確的測量方法,對于確保系統(tǒng)的正常運(yùn)行和優(yōu)化性能具有重要意義。本文將深入探討信號線電壓的一般范圍、測量方法以及測
    的頭像 發(fā)表于 01-29 16:40 ?5626次閱讀

    光譜傳感器的一般原理

    光譜傳感器是種能夠測量物質(zhì)光譜特性的儀器,其一般原理主要基于物質(zhì)對不同波長的光的吸收、發(fā)射和散射等特性進(jìn)行分析,從而獲取物質(zhì)的光譜信息。以下是對光譜傳感器一般原理的詳細(xì)解釋:
    的頭像 發(fā)表于 01-05 14:16 ?1729次閱讀