您好,欢迎访问山东渔翁信息技术股份有限公司官方网站
渔翁信息

专注密码硬件研发生产定制

咨询热线: 400-6686-188

产品中心

热门产品

联系我们

咨询热线:400-6686-188

市场合作:孙经理:13806311977

售后服务:房经理:0631-5651692

邮箱:support@fisherman-it.com

地址:济南市高新区齐鲁软件园F座

新闻中心 您的位置:首页 > 新闻中心 >

mac消息机制

文章出处:渔翁信息作者:渔翁信息人气:发表时间:2019-03-15 09:22


MAC是消息认证码的缩写。

MAC机制的工作原理是:消息发送者用密码算法和密钥处理消息,得到一个确定大小的小数据块,该数据块叫做MAC值。消息接收者借助该MAC值来验证消息的完整性和来源。它的具体流程如下:

①消息发送者和接收者事先协商好密码算法和密钥。

②消息发送者用已协商的密钥和算法处理消息,得到一个确定大小的MAC值。

③消息发送者把消息和MAC值一起发送给接收者。

④消息接收者用已协商的密钥和算法处理消息,得到新的MAC值。

⑤消息接收者较新MAC值和接收到的MAC值,若一样,则确定该消息没有被改变且来自消息发送者;若不同,则认为该消息已被改变。

根据用的密码算法不同,MAC机制可分为基于对称算法的MAC、基于非对称算法的MAC和基于Hash算法的MAC三类。已有数字签名机制,通常不用基于非对称算法的MAC机制。现常用的MAC机制有CBC-DEC-MAC和HMAC。前者基于对称算法DES/3DES,后者基于摘要算法。

1.CBC-DES-MAC

ANSIX99定义MAC机制中用的对称算法为DES算法;ANSIX9.19定义用双倍长密钥的3DES算法计算MAC的方法,且它完全与ANSI X9.9的单DES MAC计算方法兼容。ANSIX9.19标准用MAC双倍长密钥前半部分对MAC数据按X9.9计算,然后用MAC密钥后半部分对最后一个分组结果解密,再用前半部分加密得到MAC值。

其中,MAC1是ANSI X9.9计算的MAC,MAC2是ANSI X9.19计算的MAC。对于MAC值的长度,ANSI X9.9等规范要求取最后一个分组密文最左端的4~8字节。

不同应用环境下,具体的MAC计算方式可能会略有差异。

2.HMAC

HMAC是Keyed-Hashing for Message Authentication的缩写,现今常用的摘要算法是MD5或SHA1。

设text表示输入消息,H表示摘要算法,K表示密钥,B表示H分组的长度,L表示H输出的长度,ipad=B个0x36,opad=B个0x5C,则HMAC算法可表示为:

HMAC 码=H(K XOR opad,H(K XOR ipad,text))。

HMAC的计算流程描述如下:

①在密钥K后加一个0来构建字长为B的字符串。(如若K的字长是20字节,B=64字节,则K后会加入44个“0”字节0x00)。

②把第①步得到的B字长字符串与ipad异或。

③把text填充到第②步的结果字符串中。

④用H用在第③步得到的数据流。

⑤把第①步生成的B字长字符串与opad异或。

⑥再把第④步的结果填充到第⑤步的结果中。

⑦用H用在第⑥步得到的数据流,输出结果则是HMAC值。

下一篇:没有了 上一篇:密码工作模式有哪些
  1. 一键分享到

相关文章推荐

返回顶部