新闻  |   论坛  |   博客  |   在线研讨会
文章:LKCOS安全芯片MAC计算方法简介(一):PBOC-MAC计算
hanini | 2022-06-06 14:49:21    阅读:337   发布文章

该方法来源于PBOC标准。

命令安全报文中的MAC是使用命令的所有元素(包括命令头和命令数据域中的数据)来产生的。以保证命令连同数据能够正确完整地传送,并对发送方进行认证。

按照如下方式使用DEA加密方式产生MAC:

 

第一步:

终端通过向IC卡发GET CHALLENGE命令获得一个4字节随机数,后补’00 00 00 00’作为初始值。

第二步:

5字节命令头(CLAINSP1P2Lc)和命令数据域中的明文或密文数据连接在一起形成数据块。注意,这里的Lc应是数据长度加上将计算出的MAC的长度(4字节)后得到的实际长度。

第三步:

将该数据块分成8字节为单位的数据块, 表示为BLOCK1BLOCK2BLOCK3BLOCK4等。最后的数据块有可能是1~8个字节。

第四步:

如果最后的数据块的长度是8字节的话,则在该数据块之后再加一个完整的8字节数据块‘80 00 00 00 00 00 00 00’, 转到第五步。

如果最后的数据块的长度不足8字节,则在其后加入16进制数‘80’,如果达到8字节长度,则转到第五步;否则接着在其后加入16进制数‘00’直到长度达到8字节。

第五步:

按照图1和图2所述的算法对这些数据块使用指定密钥进行加密来产生MAC

第六步:

最终取计算结果(高4字节)作为MAC

 



*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
绿茶与拿铁  2022-06-14 16:08:06 

期待楼主多分享干货哈哈~

ChateauMargaux  2022-06-14 16:08:00 

MAC计算步骤很详细,很有用

Testwf  2022-06-14 15:24:03 

文章的每个步骤描述的都很详细,收藏了!

kessy1  2022-06-14 10:18:08 

凌科芯安的可以,一直在用

xiaoyuzhou1228  2022-06-14 09:53:08 

加密芯片哪家强啊?有没有推荐

sunxiang0506  2022-06-10 13:59:52 

LKCOS安全芯片据说安全性很强,很有安全保障的加密芯片,在加密领域好评极高

minifoxmai  2022-06-10 13:58:23 

MAC值能确保数据不被篡改是吗?

hanini  2022-06-10 13:47:25 

消息验证码可以避免消息被篡改。MAC值一般和原始消息一起传输,原始消息可以选择加密或不加密,通信双方会以相同的方式生成MAC值,然后进行比较,如果两个MAC值相同,表示消息验证通过;否则验证失败。

13466516880  2022-06-10 10:36:33 

又增长了知识,谢谢提供这么优质的文档,有具体的代码可以参考一下吗?

hanini  2022-06-09 16:50:42 

在发送数据之前,发送方首先使用通信双方协商好的散列函数计算其摘要值。在双方共享的会话密钥作用下,由摘要值获得消息验证码。之后,它和数据一起被发送。接收方收到报文后,首先利用会话密钥还原摘要值,同时利用散列函数在本地计算所收到数据的摘要值,并将这两个数据进行比对。若两者相等,则报文通过认证。

Testwf  2022-06-09 15:43:35 

MAC可以验证数据完整性倒是好理解,但是是怎么对发送方认证的

绿茶与拿铁  2022-06-09 15:34:20 

听朋友说凌科芯安他们家的产品支持PBOC,你可以去他们家官网咨询一下

ChateauMargaux  2022-06-09 14:36:42 

PBOC很严格的 带这样功能的一般都是大厂,楼主有推荐吗

13466516880  2022-06-06 16:38:47 

看完楼主的文章又涨知识了

114W1  2022-06-06 16:23:13 

文中所说单倍长密钥、双倍长密钥是怎么回事?

kessy1  2022-06-06 15:32:37 

不是的,PBOC这是****的规定,类似于通信的入网证,必须通过相关检测才能进行入网销售

kessy1  2022-06-06 15:32:21 

不是的,PBOC这是****的规定,类似于通信的入网证,必须通过相关检测才能进行入网销售

xiaoyuzhou1228  2022-06-06 15:23:34 

pboc认证是专门用于****中的吧

sunxiang0506  2022-06-06 15:04:43 

LKCOS支持的MAC数据块最大长度是255字节。

minifoxmai  2022-06-06 15:04:05 

数据块,最大可以支持多少个字节?

推荐文章
最近访客