> 文章列表 > 【密码学复习】第六讲 HASH函数和MAC(三)

【密码学复习】第六讲 HASH函数和MAC(三)

【密码学复习】第六讲 HASH函数和MAC(三)

 

 

 

 

Ø H是一个Hash函数

Ø K表示密钥

Ø B表示计算消息摘要时消息分块字节长度(对MD5和SHA-1是512比特,64字节)

Ø L表示消息摘要按字节计算的长度(对MD5是16字节)

Ø ipad表示0x36重复B次,opad表示0x5c重复B次。

Ø K可以有不超过B字节的任意长度,但一般建议K的长度不小于L。当使用长度大于B的密钥时,先用H对密钥进行杂凑,然后用得出的L字节作为HMAC的真正密钥

计算一个数据“文本”的HMAC的操作如下:

1)在K的后面加上足够的0以得到B字节的串

2)将上一步得到的B字节串与ipad异或

3)将数据流“文本”接在第2步得到的B字节串后面

4)将H应用于上一步的比特串

5)将第1步所得到的B字节串与opad异或

6)将第4步的消息摘要接在第5步的B字节串后

7)应用H于上一步的比特串

认证加密模式

 

CCM加密认证模式