DAA和CMAC

数据认证算法(DAA)  Data Authentication Algorithm

  DAA建立在DES之上,该算法比较陈旧,人们已经发现了这个算法的安全弱点,目前已经被废止。

  

  DAA采用DES运算的CBC工作模式,其初始向量为0,需要认证的数据分成连续的64位分组D1,D2,...,DN,若最后分组不足64位,则在其后填充0补足。

  DAA的安全隐患

    给定一个消息分组X的CBC MAC码,如T = MAC(K , X),则攻击者马上就知道对于两个消息分组 X || (TX) 的CBC MAC码还是T。显然,对于短消息,攻击者可以很容易就找到符合条件的M'使得MAC(K , M') = MAC(K , M)。

 

基于密码的消息认证吗(CMAC)  Cipher-based Message Authentication Code

   CMAC的加密对于AES和3DES都适用。

  

  为消除DAA存在的安全隐患,CMAC在DAA基础上做了一个改进,在最后一步加密的前后均作了数学处理

     Cn = E(K , [MnCn-1K1])

     T = MSBTlen(Cn)

          Tlen是T的长度,MSBs(X)是取位串X最左边的s位

  两位n位的密钥K1和K2由K按照如下方式导出:

    L = E(K , 0n)      //将分组密码应用到一个全0分组上

    K1 = L • x        

    K2 = L • x2 = (L • x) • x

    乘法(•)在域GF(2n)内进行,x和x2是域GF(2n)的一次和二次多项式

  

转载于:https://www.cnblogs.com/block2016/p/5635321.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值