【技术实现步骤摘要】
HMAC算法的实现方法、装置、电子设备及可读介质
[0001]本专利技术是关于加密算法
,特别是关于一种HMAC算法的实现方法、装置、电子设备及可读介质。
技术介绍
[0002]MAC(Message Authentication Codes),消息认证码是一种基于密钥提供消息完整性检查的机制。HMAC(Keyed
‑
Hash Message Authentication Code)是基于加密Hash函数的MAC机制,它的加密强度取决于底层Hash函数的属性。HMAC可以与任何迭代加密Hash函数一起使用,比如SHA1、SHA2、SHA3、MD5。实现HMAC时可以将Hash函数视为“黑盒”,在Hash函数基础上增加HMAC控制逻辑就可以实现HMAC。然而,在嵌入式应用中,通常要求HMAC的实现速度快且面积小。
[0003]因此,针对上述技术问题,有必要提供一种新的HMAC算法的实现方法、装置、电子设备及可读介质。
技术实现思路
[0004]本专利技术的目的在于提供一种HMAC算法的实现方法、装置、电子设备及可读介质,其HMAC的实现不仅速度快,而且面积小。
[0005]为实现上述目的,本专利技术提供的技术方案如下:
[0006]第一方面,本专利技术提供了一种HMAC算法的实现方法,其包括:
[0007]将密钥写入第一存储单元,读取所述第一存储单元中的密钥进行ipad哈希运算,得到第一中间结果写入第二存储单元;
[0008]读取所述第一存 ...
【技术保护点】
【技术特征摘要】
1.一种HMAC算法的实现方法,其特征在于,包括:将密钥写入第一存储单元,读取所述第一存储单元中的密钥进行ipad哈希运算,得到第一中间结果写入第二存储单元;读取所述第一存储单元中的密钥进行opad哈希运算得到第二中间结果,读取所述第二存储单元中的第一中间结果作为哈希运算初始值,将所述第二中间结果写入所述第二存储单元,在进行所述opad哈希运算的过程中,将消息写入所述第一存储单元;以所述第一中间结果作为哈希运算初始值,读取所述第一存储单元中的消息进行哈希运算,得到第三中间结果写入所述第一存储单元;以所述第二存储单元中的第二中间结果作为哈希运算初始值,读取所述第一存储单元中的第三中间结果进行哈希运算。2.如权利要求1所述的HMAC算法的实现方法,其特征在于,将密钥写入第一存储单元,读取所述第一存储单元中的密钥进行ipad哈希运算,包括:当密钥的长度小于或等于第一存储单元的容量时,将密钥一次性写入第一存储单元,读取所述第一存储单元中的密钥进行ipad哈希运算;当密钥的长度大于第一存储单元的容量时,将密钥分多次写入第一存储单元,以在先写入的密钥的哈希计算结果为在后写入的密钥的哈希初始值,读取写入所述第一存储单元中的密钥进行哈希运算,密钥哈希运算完成后,读取最后一次写入第一存储单元的密钥的哈希计算结果进行ipad哈希运算。3.如权利要求1所述的HMAC算法的实现方法,其特征在于,将消息写入所述第一存储单元,包括:当消息的长度小于或等于所述第一存储单元的容量时,将消息一次性写入第一存储单元;当消息的长度小于或等于第一存储单元的容量时,将消息分多次写入所述第一存储单元。4.一种HMAC算法的实现方法,其特征在于,包括:将密钥写入第一存储单元和第二存储单元,读取所述第一存储单元中的密钥进行ipad哈希运算,得到第一中间结果,在进行所述ipad哈希运算的过程中,将消息写入所述第一存储单元;以所述第一中间结果作为哈希运算初始值,读取所述第一存储单元中的消息进行哈希运算,得到第二中间结果写入所述第二存储单元,同时将所述第二存储单元中的密钥写入所述第一存储单元;读取所述第一存储单元中的密钥进行opad哈希运算,得到第三中间结果,将所述第二存储单元中的所述第二中间结果写入所述第一存储单元;以所述第三中间结果作为哈希运算初始值,读取所述第一存储单元中的所述第二中间结果进行哈希运算。5.如权利要求1所述的HMAC算法的实现方法,其特征在于,将密钥写入第一存储单元,读取所述第一存储单元中的密钥进行ipad哈希运算,包括:当密钥的长度小于或等于第一存储单元的容量时,将密钥一次性写入第一存储单元,读取所述第一存储单元中的密钥进行ipad哈希运算;
当密钥的长度大于第一存储单元的容量时,将密钥分多次写入第一存储单元,以在先写入的密钥的哈希计算结果为在后写入的密钥的哈希初始值,读取写入所述第一存储单元中的密钥进行哈希运算,密钥哈希运算完成后读取最后一次写入第一存储单元的密钥的哈希计算结果进行ipad哈希运算。6.一种HMAC算法的实现装置,其特征在于,包括:HMAC控制单元、第一存储单元、第二存储单元、哈希单元和多路复用单元;所述HMAC控制单元控制所述多路复用单元将密钥写入所述第一存储单元,所述哈希单元读取所述第一存储单元中的密钥进行ipad哈希运算得到第一中间结果,所述HMAC控制单元控制所述多路复用单元将所述第一中间结果写入所述第二存储单元;所述哈希单元读取所述第一存储单元中的密钥进行opad哈希运算得到第二中间结果,所述哈希单元读取所述第二存储单元中的第一中间...
【专利技术属性】
技术研发人员:王权胜,
申请(专利权)人:思瑞浦微电子科技上海有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。