CMAC的简单介绍

1、简介
CMAC:基于对称密钥分组加密算法的消息认证码。
对称密钥:相当于采用对称算法来加密,如AES、DES等;
分组加密:就是采用分组的方式,将消息分成对应算法对应大小的块;
C:采用的是CBC模式;

2、符号
B:加密块的长度;
Rb:生成子密钥的常量字符串,AES中:0x87(128位),DES中:0x1B(64位);
K:加密算法中的密钥;
K1、K2:通过K生成的子密钥1和子密钥2;
Mi:消息被划分成的第几个消息块;

3、步骤
1、生成子密钥;
2、获取B的长度,Rb等处理;
3、对分块消息处理;
4、根据是否需要填充采用不同密钥处理;

4、图示
在这里插入图片描述
5、其他
对于分成init,update,dofinal三部分处理的话,即init部分可以处理不变的部分,生成两个子密钥,
根据加密算法采用哪种Rb、B的长度是多大。update部分即可以对第一块到最后一块的前一块做处理,即可处理不同地址传过来的消息。
最后一块因为有两种情况,可以放到dofinal中处理,当然dofinal中也可处理所有的块。还是根据自己理解的来划分即可。

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值