HMAC认证协议的单片机实现
电模式。
引脚排列和内部模块可参见本刊网络补充版。(http://fanwen.oyaya.net收集整理)。
(2)HMAC算法的实现
基于单片机内部可用RAM的大小及实际使用时可能的密码长度,在认证系统中规定了消息长度,key≤64B,text≤58B。这样在本例中,MD5运算的消息分组N=2。在单片机4MHz主频时,经过程序优化,完成HMAC的运算所需时间小于3ms。详细程序网络补充版(http://fanwen.oyaya.net收集整理)。
下面列出主要流程图。
其中:MD5_MAIN是MD5运算主程序;
MD5_ONE子程序是MD5的一个分组运算;
SUB-FF、FBCD、GBCD、HBCD、IBCD分别是MD5运算中相应函数的子程序;
SHIFT子程序完成<<Si的功能;
EXCH子程序完成地址4组数据的交换;
常数Ti列表于MEM_C,移位Si列表于TABLE_S;
消息子分组顺序列表于TABLE_M;
KEY键盘程序读入存于MEM_M,TEXT存于MEM_MB。
标号MEM1-4的RAM用于中间计算。
HMAC流程如图4所示。
MD5算法中的一个消息分组的计算程序流程如图6所示。
HMAC作为一种认证的协议,可以用于那么需要数字签名、身份认证或报文完整性检验等领域。在家用电子市场、安防、电子商务方面,都有广泛的用途。
在单片机可实现HMAC认证的基础上,可以进一步把ZQ032SA的IP核与其它外围逻辑构成ASIC,用于智能卡,将有应用前景。
在HMAC协议的基础上,加入其它成熟的加密算法,如DES,可以进一步提高认证的安全性。
《HMAC认证协议的单片机实现(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/167083.html
引脚排列和内部模块可参见本刊网络补充版。(http://fanwen.oyaya.net收集整理)。
(2)HMAC算法的实现
基于单片机内部可用RAM的大小及实际使用时可能的密码长度,在认证系统中规定了消息长度,key≤64B,text≤58B。这样在本例中,MD5运算的消息分组N=2。在单片机4MHz主频时,经过程序优化,完成HMAC的运算所需时间小于3ms。详细程序网络补充版(http://fanwen.oyaya.net收集整理)。
下面列出主要流程图。
其中:MD5_MAIN是MD5运算主程序;
MD5_ONE子程序是MD5的一个分组运算;
SUB-FF、FBCD、GBCD、HBCD、IBCD分别是MD5运算中相应函数的子程序;
SHIFT子程序完成<<Si的功能;
EXCH子程序完成地址4组数据的交换;
常数Ti列表于MEM_C,移位Si列表于TABLE_S;
消息子分组顺序列表于TABLE_M;
KEY键盘程序读入存于MEM_M,TEXT存于MEM_MB。
标号MEM1-4的RAM用于中间计算。
HMAC流程如图4所示。
MD5算法中的一个消息分组的计算程序流程如图6所示。
HMAC作为一种认证的协议,可以用于那么需要数字签名、身份认证或报文完整性检验等领域。在家用电子市场、安防、电子商务方面,都有广泛的用途。
在单片机可实现HMAC认证的基础上,可以进一步把ZQ032SA的IP核与其它外围逻辑构成ASIC,用于智能卡,将有应用前景。
在HMAC协议的基础上,加入其它成熟的加密算法,如DES,可以进一步提高认证的安全性。
《HMAC认证协议的单片机实现(第3页)》