日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MAC、HMAC、CBC-MAC、OMAC的介绍

發布時間:2024/1/18 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MAC、HMAC、CBC-MAC、OMAC的介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

來源:CSDN?
原文:https://blog.csdn.net/l243224118/article/details/83932434
作者:_你微笑時很美?

?

MAC(消息認證碼)解讀

背景

在開放的計算和通信世界(例如Internet)中,我們會使用不可靠的媒介傳輸和存儲信息。而對信息完整性(integrity)的校驗在某些情景下就十分重要。基于密鑰作完整性校驗的方法常稱為MAC(Message Authentication Code)。通常MAC在共享密鑰的雙方之間,校驗相互傳遞的信息。

實現過程


使用 MAC 驗證消息完整性的具體過程是:假設通信雙方 A 和 B 共享密鑰 K,A用消息認證碼算法將 K 和消息 M 計算出消息驗證碼 Mac,然后將 Mac 和 M 一起發送給 B。B 接收到 Mac 和 M 后,利用 M 和 K 計算出新的驗證碼 Mac*,若 Mac*和Mac 相等則驗證成功,證明消息未被篡改。由于攻擊者沒有密鑰 K,攻擊者修改了消息內容后無法計算出相應的消息驗證碼,因此 B 就能夠發現消息完整性遭到破壞。

類別


消息認證碼(MAC),在加密的過程中有兩種方法,一種是用單向散列函數的實現,另一種是分組密碼的實現。

單向hash函數實現


上圖是MAC算法的的加密過程, 如上圖所示,實現過程較為簡單對要傳輸的消息加上一個通信雙方共享的密鑰,然后作一次hash運算,得到一個MAC值。傳輸消息時,連同MAC值一起發送給接收放,接收方收到信息后,自己再對信息作一次相同的hash運算得到另一個MAC值,與發送方傳來的進行比對,若有差異則說明消息被篡改。

而MAC函數用單項hash函數加密時,MAC被稱為HMAC(Hash Message Authentication Code).

這里對其進行簡要介紹

HMAC (k,m) = H ( (k XOR opad ) + H( (k XORipad ) + m ) )

其中

H 是一個Hash函數, 比如, MD5, SHA-1and SHA-256,

k 是一個密鑰,從左到右用0填充到hash函數規定的block的長度,如果密鑰長度大于block的長度,就對先對輸入key作hash。

m 是需要認證的消息,

+ 代表“連接”運算,

XOR 代表異或運算,

opad 是外部的填充常數(0x5c5c5c…5c5c, 一個block長度的十六進制常數constant),

ipad 是內部填充常數 (0x363636…3636,一個block長度的十六進制常數constant)。

特定HMAC實現需要選擇一個特定的hash函數。這些不同的HMAC實現通常標記為:HMAC-MD5,HMAC-SHA1, HMAC-SHA256等等. 論文 [Bellare+96]對HMAC的安全性作了全面的分析。

分組密碼實現(基于AES組)


AES(Advanced Encryption Standard),高級加密標準,是一種十分常見的對成加密算法。(ps:微信小程序加密傳輸就是用的AES加密算法)

分組加密的工作模式有ECB,CBC,CFB,OFB四種,其中CBC和ECB這兩種模式比較常用。

CBC-MAC


當取AES作為MAC加密的分組密碼時,一般采用CBC模式,所以通常稱為基于AES的CBC-MAC,若需要產生認證碼的消息為x,加密的AES密鑰為k,則生成加解密的過程如下圖所示

?

?

上圖分別為CBC(密文分組鏈接方式)的加密和解密過程。可以看出不同于EBC(電子密碼本模式),他在加密過程中,報文的不同分組之間是有聯系的,增加了其安全性。

加密步驟如下:

1)首先將數據按照8個字節一組進行分組得到D1D2…Dn(若數據不是8的整數倍,用指定的PADDING數據補位)

2)第一組數據D1與初始化向量IV異或后的結果進行AES加密得到第一組密文C1(初始化向量I為全零)

3)第二組數據D2與第一組的加密結果C1異或以后的結果進行DES加密,得到第二組密文C2

4)之后的數據以此類推,得到Cn

5)按順序連為C1C2C3…Cn即為加密結果。

解密是加密的逆過程,步驟如下:

1)首先將數據按照8個字節一組進行分組得到C1C2C3…Cn

2)將第一組數據進行解密后與初始化向量I進行異或得到第一組明文D1(注意:一定是先解密再異或)

3)將第二組數據C2進行解密后與第一組密文數據進行異或得到第二組數據D2

4)之后依此類推,得到Dn

5)按順序連為D1D2D3…Dn即為解密結果。

這里注意一點,解密的結果并不一定是我們原來的加密數據,可能還含有補位數據,將其去掉才是最終的結果。

特點:

1.每個密文塊依賴于所有的信息塊,明文消息中一個改變會影響所有密文塊,不容易主動攻擊,安全性好于ECB,適合傳輸長報文

2.發送方和接受方都需要知道初始化向量(IV)

3.加密過程是串行的,無法被并行化(在解密時,從兩個鄰接的密文塊可以得到一個平文塊,因此解密過程可以并行執行)

OMAC


OMAC(One-key CBC-MAC),是從CBC-MAC改進而來,克服了CBC-MAC的一些缺陷。在2005年被NIST(美國國家標準與技術研究生院)列為推薦標準。

omac算法的核心是cbc-mac的一種變種,是基于一種叫xcbc的算法改進的。xcbc算法有效的解決了cbc-mac的一些安全方面的缺陷,但是需要三個密鑰。有人在此基礎上,改進了xcbc算法,并把它命名為one-key cbc-mac(omac).之后提交了omac1,在omac的基礎了做了精簡,并做了一些安全性分析。

上圖是omac算法的執行過程,為了使用b比特塊密碼(E)和秘密密鑰(k)生成消息(m)的l比特CMAC標簽(t),首先生成兩個b比特子密鑰(k1和k2)使用以下算法(這相當于在有限域GF(2b)中乘以x和x2)設?表示標準左移運算符,⊕表示逐位排他或:

1.計算臨時值k0 = Ek(0)
2.如果msb(k0)= 0,則k1 = k0 << 1,否則k1 =(k0 << 1)⊕C;其中C是一個僅取決于b的特定常數。 (具體來說,C是按字典順序排列的第一個不可約度-b二元多項式的非前導系數,具有最小數量的1:64位為0x1B,128位為0x87,256位為0x425)
3.如果msb(k1)= 0,則k2 = k1 << 1,否則k2 =(k1 << 1)⊕C
4.返回MAC生成過程的密鑰(k1,k2)

作為一個小例子,假設 b = 4,C = 00112,并且k0 = Ek(0)= 01012。然后k1 = 10102并且k2 =0100⊕0011= 01112。

CMAC標簽生成過程如下:

1.將消息分成b位塊m =m1∥…∥mn-1∥mn,其中m1,…,mn-1是完整的塊。(空消息被視為一個不完整的塊。)
2.如果mn是一個完整的塊,則mn’=k1⊕mnmn’=k2⊕(mn∥10… 02)。
3.設C0 = 00 … 02
4.對于i = 1,…,n - 1,計算ci = Ek(ci-1⊕mi。
5.Cn = Ek(Cn-1⊕mn’)
6.輸出t =msb?(cn)
驗證過程如下:

1.使用上面的算法生成標記。
2.檢查生成的標記是否與接收的標記相同。

?

總結

以上是生活随笔為你收集整理的MAC、HMAC、CBC-MAC、OMAC的介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 婷婷伊人网 | 六月综合 | 欧美成人精品欧美一级 | 亚洲久久色 | av福利院| 国产超碰人人模人人爽人人添 | 永久看看免费大片 | 四虎黄色网址 | 欧美亚洲不卡 | 日日狠狠久久 | 麻豆91在线播放 | 色老板精品凹凸在线视频观看 | 伊人婷婷综合 | 91秦先生在线播放 | 日操干 | 中文字幕一区二区三区免费看 | 成人片在线看 | 亚洲精品www久久久 一级aaa毛片 | 一本一道精品欧美中文字幕 | 天天搞夜夜 | 自拍偷在线精品自拍偷无码专区 | 天天干,天天爽 | 青草国产| 久久图库| 丁香婷婷亚洲 | 国产女主播一区二区 | 日韩成人精品一区二区 | 久久久久久久91 | 免费在线小视频 | 成人国产一区二区三区 | 亚洲天堂手机版 | 日美韩av | 成人免费xxxxx在线视频 | 精品久久免费观看 | 日韩激情床戏 | 国产精品黑人一区二区三区 | 亚洲精品国产精品乱码不99 | 日韩欧美精品免费 | 四虎综合网 | 欧美激情精品久久久久久变态 | 樱花电影最新免费观看国语版 | 青青网站 | 日韩中文在线一区 | 国产成人无码一区二区在线播放 | 国产激情视频在线观看 | www.九色| 国产农村妇女精品一二区 | 歪歪6080 | 欧美一区二区久久久 | 日韩人妻精品一区二区 | 男插女青青影院 | 影音先锋人妻啪啪av资源网站 | 三上悠亚在线观看一区二区 | 免费看日产一区二区三区 | 中文字幕无码日韩专区免费 | 熟女人妻在线视频 | 伊人院 | 超碰91在线观看 | 色就色综合 | 一二三在线视频 | 国产网友自拍视频 | 日韩成人专区 | 日韩成人在线观看视频 | 久久精品一区 | 国产经典av| 国产熟女高潮视频 | 亚洲精品一二区 | 天天摸天天舔 | 一级理论片 | 天堂视频免费在线观看 | 国产aaa| a无一区二区三区 | 欧美一区二区三区在线观看视频 | 久久久一级黄色片 | 特大黑人巨交吊性xx | 锦绣未央在线观看 | 91黄色小网站 | 欧美国产日韩一区 | 久久久精品91 | 国产精品99视频 | 中文字幕一区二区三区在线不卡 | 亚洲国产成人精品女人久久 | 欧美11p| 国产啪视频| 91久久超碰| 豆花在线视频 | 国产午夜亚洲精品午夜鲁丝片 | 欧美色鬼 | 干爹你真棒插曲免费 | 第一章豪妇荡乳黄淑珍 | 国产精品一区久久久 | 114国产精品久久免费观看 | 免费一级淫片aaa片毛片a级 | 男朋友是消防员第一季 | 亚洲涩涩在线 | 欧美交换国产一区内射 | 国产美女操 | 国产美女主播在线 | 国产成人在线播放视频 |