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 || (T⊕X) 的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 , [Mn⊕Cn-1⊕K1])
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)的一次和二次多项式
DAA和CMAC的更多相关文章
- TIBCO ActiveMatrix BPM 生成daa包脚本
Ant 配置: <?xml version="1.0" encoding="UTF-8" ?> <project name="pro ...
- 移动匿名支付购物方案 A Lightweight Anonymous Mobile Shopping Scheme Based on DAA for Trusted Mobile Platform
- 学习WCF入门的第一个实例
一.概述 WCF说白了就是一个基于终结点的通信手段!就是Service端提供一定的功能实现,然后暴露出一个或多个终结点,Client端调用Service端的功能(可以理解为调用一个函数),那么Clie ...
- 学习SpringMVC——你们要的REST风格的CRUD来了
来来来,让一下,客官,您要的REST清蒸CRUD来了,火候刚刚好,不油不腻,请慢用~~~ 如果说前面是准备调料,洗菜,切菜,摆盘,那么今天就来完整的上道菜,主要说的是基于REST风格实现数据的增删改查 ...
- 浏览器渲染引擎,提高css渲染速度。
一.渲染引擎渲染引擎的职责是……渲染,也就是把请求的内容显示到浏览器屏幕上.默认情况下渲染引擎可以显示HTML,XML文档以及图片. 通过插件(浏览器扩展)它可以显示其它类型文档. 二.各种渲染引擎我 ...
- 分享一个html+js+ashx+easyui+ado.net权限管理系统
EasyUI.权限管理 这是个都快被搞烂了的组合,但是easyui的确好用,权限管理在项目中的确实用.一直以来博客园里也不少朋友分享过,但是感觉好的要不没源码,要不就是过度设计写的太复杂看不懂,也懒得 ...
- 启动Tomcat内存溢出解决:java.lang.OutOfMemoryError: PermGen space
Eclispe 设置Tomcat的时候,双击server的配置,配置如下:
- USACO翻译:USACO 2014 FEB SILVER 三题
USACO 2014 FEB SILVER 一.题目概览 中文题目名称 自动打字 路障 神秘代码 英文题目名称 auto rblock scode 可执行文件名 auto rblock scode 输 ...
- OpenWebGlobe-开源三维GIS初体验(附源码和演示)
1.OpenWebGlobe简介 OpenWebGlobe是一个高性能的三维引擎.可应用于可视化仿真,游戏,三维GIS,虚拟现实等领域.它使用纯javascript编写,可以运行在任何支持HTML5. ...
随机推荐
- WiFi天线分集
0 概述 在调试一款古董级射频芯片时,发现它支持1发2收,由于在画板工程师将辅助天线也整出来.等板子贴出来后,就与同事一起折腾这个分集接收功能. 碰到过如下问题,先记录,以便后期有空再继续. 1)发现 ...
- CCA更新流程分析
1 CCA CCA(空间信道评估)在CSMA/CA中比较非常重要,事关整机吞吐量,所以对其实现进行简单分析.CCA好像应该有2种:CCA-CS,是属于PLCP层的,捕获到能量且能量值高于-82dB后, ...
- if(/专线$/.test(name))讲解
如图: 这条语句的意思是:匹配以"专线"结尾的name字符串,满足条件的返回true,否则返回false
- C++多态实现原理
C++的多态性用一句话概括就是:在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数.如果对象类型是派生类,就调用派生类的函数:如果对象类型是基类 ...
- h5的input的required使用中遇到的问题
form提交时隐藏input发生的错误 问题描述 在form表单提交的时候,有些input标签被隐藏,表单验证过程中会出现An invalid form control with name='' is ...
- 阿里云linux下web服务器配置
markdown截图不方便,本教程不用markdown编写 首先参考文章 https://www.jianshu.com/p/2604e53a7f6a?from=singlemessage 安装完后无 ...
- 使用python scipy.optimize linprog和lingo线性规划求解最大值,最小值(运筹学学习笔记)
1.线性规划模型: 2.使用python scipy.optimize linprog求解模型最优解: 在这里我们用到scipy中的linprog进行求解,linprog的用法见https://doc ...
- Check the string CodeForces - 960A
A has a string consisting of some number of lowercase English letters 'a'. He gives it to his friend ...
- Git 常用命令速查表
- 工作流引擎 Flowable 6.0.0.RC1 release,完全兼容Activi
Flowable 6.0.0.RC1 release,第一个可流动的6引擎版本(6.0.0.RC1). Flowable 6.0.0.RC1 relase新增加的功能以及特色: 包重命名为org.Fl ...