计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

HMAC认证协议的单片机实现

2015-08-04 01:09
导读:理工论文论文,HMAC认证协议的单片机实现论文样本,在线游览或下载,科教论文网海量论文供你参考: 摘要:HMAC是一种基于密钥的Hash算法的认证协议,可以应用于电
摘要:HMAC是一种基于密钥的Hash算法的认证协议,可以应用于电子商务领域。我们通过国有自主知识产权的单片机ZQ032SA,实现了以MD5算法为核心的HMAC协议,并把它调用于IP电话计费认证系统。

引言

在开放的通信和计算机系统中,建立安全可靠的电子商务平台是十分重要的。通常需要通过加密的方法对客户的有关信息,如密码、合同等加以保护,使之不被盗取或篡改。当客户提出服务申请时,必须对客户身份的合法性、报文的完整性进行确认。

HMAC(Keyed-Hashing for Message Authentication)是一个公开的协议。它是一种基于密钥的报文完整性的验证方法,其安全性是建立在Hash算法基础上的。它要求通信双方共享密钥、约定算法、对报文进行Hash运算,如MD5、SHA、RIPEMD等,形成固定长度的认证码。通信双方通过认证码的校验来确定报文的合法性。这个协议可以用来作加密、数字签名、报文验证等。

利用HMAC协议可以建立一个身份认证的电子商务平台,客户和服务端双方需要预先约定唯一的公钥和加密算法;客户单方面保留自己密码作为密钥,服务端只保留公钥和认证码。这个认证码是密钥经HMAC协议加密得到定长码字。当客户提出服务申请时,应提交钥和密钥的认证码。服务端通过公钥确认客户的基本身份,再检验认证码确定客户的合法性。这样,客户的私密信息在服务端、传输媒介中都是加密隐藏的。

我们利用服务器建立了服务端的模拟用户数据库,单片机实现客户端的加密算法,电话线作为传输介质,实现了HMAC协议在IP电话计费系统中的应用。 (科教范文网http://fw.NSEAC.com编辑发布)

1 HMAC的算法原理

1.1 HMAC算法定义

用公式表示如下:

HMAC=H(key xor opad,H(key xor ipad,text))

H(X,Y)代表对X Y的消息进行一种Hash运算;

ipad代表重复B次的单字节十六进制常数0x36;

opad代表重复B次的单字节十六进行常数0x5c;

key代表64字节的字符串,由密钥组成,不足的补0;

text代表任意长度文本。

密钥≥L字节。当大于B时,先经Hash计算形成L字节的秘钥(B是Hash算法中一次迭代运算的数据块字节数;L是Hash算法形成报文摘要的字节数)。

HMAC协议定义了迭代两次的Hash加密算法,最终形成报文摘要(DIGEST)值就是认证码。基于算法的可靠性、安全性和易于计算机实现特性,先用Hash中的MD5算法实现HMAC,其B=64,L=16。

1.2 MD5算法定义

MD5算法以对任意长度消息多次循环迭代的散列运算,最终形成16 Byte报文摘要。这个摘要对文本具有唯一性,可作为认证码。在目标计算机的计算速度下,这个摘要是难于破解的。

(1)报文填充

MD5算法要求对任意长度报文进行填充,构成N×64 Byte消息分组,N为整数。其中每一分组又划分为16个4字节子分组。

填充数据分2步。首先,填充使得数据位长度恰好为(N×64-8)Byte的数,即在报文有效数据后补1个0x1,其它补0x0至满足上述要求。然后,再后补上8字节(64位)的报文数据长度(填充前字节数)。这样,数据就被填充为64Byte(512bit)的整数倍。

(2)初始化MD5参数

上一篇:谈谈瓶组自然气化集中供气的供气能力- 下一篇:没有了