查看: 946|回复: 6

[原创] LKCOS安全芯片MAC计算方法简介(一):PBOC-MAC计算

[复制链接]

该用户从未签到

发表于 2022-6-6 14:32:09 | 显示全部楼层 |阅读模式
分享到:
本帖最后由 zntsbkhhh 于 2022-6-6 14:37 编辑

该方法来源于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
1654496757(1).png 1654497415(1).png


回复

使用道具 举报

  • TA的每日心情
    擦汗
    2021-9-23 16:30
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2022-6-14 09:49:02 | 显示全部楼层
    加密芯片哪家强啊?有没有推荐
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2022-6-14 10:15:33 | 显示全部楼层
    凌科芯安的可以,一直在用
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2022-6-14 15:15:15 | 显示全部楼层
    他们家做加密芯片20余年口碑不错的,
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2022-6-14 15:26:00 | 显示全部楼层
    文章的每个步骤描述的都很详细,收藏了!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2022-6-14 16:02:59 | 显示全部楼层
    MAC计算步骤很详细,很有用
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2022-6-14 16:06:26 | 显示全部楼层
    期待楼主多分享干货哈哈~
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-29 17:26 , Processed in 0.180457 second(s), 28 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.