保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

HMAC认证协议的单片机实现


bcd,然后进行4轮相似的运算变换,每轮包含16次操作。每次操作对其中的3个变量(4字节)bcd做1次非线性运算,将其结果加上变量a,一个消息子分组Mi,一个常数Ti;将所得结果向环移一个不定的数Si,再加变量b,然后用该结果取代变量a,变换abcd<=dabc,进入下一次运算,共16次,如图2所示。4轮运算结束后,把变量abcd与初始ABCD进行“异或”运算,结果作为下一分组的初始值。
  
  计算公式如下:
  
  第1轮:SUB_FF(a,b,c,d,Mi,Si,Ti):a<=b+((a+F(b,c,d)+Mi+Ti)<<<Si)
  
  第2轮:SUB_GG(a,b,c,d,Mi,Si,Ti):a<=b+((a+G(b,c,d)+Mi+Ti)<<<Si)
  
  第3轮:SUB_HH(a,b,c,d,Mi,Si,Ti):a<=b+((a+H(b,c,d)+Mi+Ti)<<<Si)
  
  第4轮:SUB_II(a,b,c,d,Mi,Si,Ti):a<=b+((a+I(b,c,d)+Mi+Ti)<<<Si)
  
  数据交换规则:a,b,c,d→d,a,b,c→c,d,a,b,→b,c,d,a
  
  最终:ABCD<=ABCD+abcd
  
  其中:Mi为16个信息子包,每个4字节;Ti为4字节常数;Si为左移位数;abcd为32位变量;初始值为ABCD。
  
  函数:F(X,Y,Z)=X&Y|NOT(X)&Z
  
  G(X,Y,Z)=X&Z|Y&not(Z)
  
  H(X,Y,Z)=XxorYxorZ
  
  I(X,Y,Z)=Yxor(X|not(Z))
  
  2HMAC在IP电话计费上的应用
  
  利用HMAC的认证功能,可对用户的IP储值卡中的金额进行保护。在试验系统中,智能终端相当于认证系统的客户端,如图3所示。
  
  当用户使用时,用户只须直接拨入所叫的电话号码即可。智能终端则自动拨向IP服务商,待响应后,反终端序列号、主叫电话号码、认证码一同发给服务商。智能终端序列号相当于公钥,用户的密码就是密钥。智能终端对密钥进行HMAC协议的加密运算自动生成认证码。
  
  服务曾几何时接收数据码流,根据终端序列号确定用户的基本信息,再通过数据库中存储的认证码与接收到认证码的比较,确认用户的合法身份。如身份无误,则接通话路,计时收费。
  
  其中第3步认证码的格式如表1所列。
  
  表1认证码格式
  
  引导符终端序列号电话号码*随机数HMAC认证码校验码*10Byte21Byte16Byte0.5Byte32Byte,高位为0,可直接发送DTMF不可直接发送,要转化
  16Byte认证码,是经由HMAC加密得到的,其中的KEY值、TEXT值都可以作为用户密码。由于认证码高4bit为为0,所以不可以直接发送DTMF,要把4bit校验码排在认证码之后,共组成132bit数据,一起经过串行左移转化,每3bit构成1组,最后形成44个DTMF。
  
  智能终端由单片机、DTMF拨号电话机、液晶显示等芯片构成。MCU不但要承担主控任务,还要实现HMAC的运算。
  
  3HMAC的单片机实现
  
  (1)ZQ032SA单片机简介
  
  ZQ032SA是北京中庆公司具有独立知识产权的Flash型MCU,与Motorola6805系列单片机功能相似,指令兼容。其采用CMOS工艺,工作稳定、功耗低、采用小型表贴封装(SOP28),适合民用设备使用。
  
  主要特性有:
  
  *8位MCU,兼容增强型6502指令集;
  
  *4MHz主频,典型取指周期0.5μs。
  
  *16Kbyte片内Flash存储器。
  
  *352Byte片内用户RAM,其中包括64Byte的堆栈区;
  
  *1个13位的多功能计数器和1个看门狗WDT
  
  *20个通用I/O接口;
  
  *1个载波调制发生器CMT;
  
  *Flash保护机制;
  
  *Flash在线程序下载;
  
  *2种节

《HMAC认证协议的单片机实现(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/167083.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。