System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种可配置的HMAC消息认证码电路及方法技术_技高网

一种可配置的HMAC消息认证码电路及方法技术

技术编号:43260327 阅读:1 留言:0更新日期:2024-11-08 20:40
本发明专利技术公开了一种可配置的HMAC消息认证码电路及方法,其具体步骤包括:在填充、消息扩展和迭代压缩模块采用资源复用并对其中多操作数加法部分进行优化,使一个块可以实现SM3和SHA‑256两种哈希函数节约了资源的占用,同时在消息扩展模块和迭代压缩模块中对加法电路优化,降低了计算的复杂度;对SHA3‑512哈希函数的轮处理函数模块采用展开、流水线切割的方式设计,并对轮常数的存储进行优化,缩短了关键路径提升了效率;使用状态机设计HMAC功能模块,设计的各个部分模块采用分层次设计,彼此之间相对独立。在实现功能上具有一定的灵活性,既可以实现SM3、SHA‑256和SHA3‑51哈希函数的运算,也可以实现HMAC‑SM3、HMAC‑SHA256、HMAC‑SHA3‑512消,息认证码的运算。

【技术实现步骤摘要】

本专利技术涉及加密芯片,具体涉及一种可配置的hmac消息认证码电路及方法。


技术介绍

1、为了保障网络安全,密码学被广泛使用,成为构建安全可靠网络环境的重要支撑和工具。密码学是研究加密算法和解密算法的学科,涉及加密技术、身份认证、数字签名、消息认证等技术。它致力于保护通信过程中的信息安全,防止信息被未授权的个人或实体访问、篡改或窃取。在数字信息时代,密码学的影响不可忽视,它为互联网、物联网和大数据等新兴技术的安全提供了关键保障。

2、消息在信息传输过程中可能会遭受到的威胁可分为主动攻击和被动攻击主动攻击包括篡改、重放、伪造等方式,而被动攻击则是窃听和监视等形式。为了有效地应对这些攻击,确保通信的安全性和完整性,可以使用加密和认证技术。加密技术可以将敏感信息转化为不可读的密文,只有被授权的接收方才能解密并获取原始信息。认证技术主要包括数字签名、身份认证以及消息认证。其中的消息认证通过在消息上附加认证标记(如消息认证码mac)来确保消息的完整性和真实性的技术。消息认证技术可以确认自己收到的消息是否是发送者发送的本意,有助于防止未经授权的修改和伪造,保证了消息的隐私性和完整性。消息认证码是一种确认完整性并进行认证的技术,是消息认证的一种具体实现方式,在ipsec和ssl/tls等通信协议中得到广泛应用。在信息
,消息认证码可进一步提升网络通信的安全性和可靠性。消息认证码主要使用单向散列函数(也称为散列函数、杂凑函数、哈希函数)、分组密码、流密码、公钥密码等方法实现。为了适配网络信息的高速传输,需要计算速度快,并且能抵御常见攻击的消息认证码。使用哈希函数构成的消息认证算法能够满足上述需求。

3、hmac是一种共享密钥加密算法,使用底层哈希函数验证数据完整性和真实性,已经在网络安全中得到了广泛应用。hmac将密钥和明文使用哈希函数进行多轮迭代生成消息认证码。hmac使用的哈希函数不局限于特定一种,任何高强度的哈希函数都可以为之使用,同时它的强度基于底层哈希函数的强度。hmac的常用的哈希函数有md5、sha-1、sha-2、sha-3等。为应对哈希函数日益增长的需求,我国自主研发了sm3算法,该算法可以被用于hmac、随机序列等的构造上。

4、在实际应用当中,可能需要多种不同的hmac搭配使用,例如在ssl/tls通信协议中,客户端和服务器会采用不同的hmac,还可能使用其他哈希函数实现伪随机数。虽然各种hmac可以灵活使用,但若在同一内核上为各算法配备一个独立的模块会增加系统的复杂性和成本。一个可行的方案是使用具有多种功能的可重配置单元。可重配置单元允许根据特定的安全需求选择不同的哈希函数和hmac算法,从而实现灵活的定制和配置。通过将多个安全功能集成到一个单元中,从而节省系统资源,并减少硬件实现的成本。可重配置单元的灵活性和定制性还可以帮助系统针对不同的安全威胁和攻击场景选择合适的安全策略和算法,从而提高系统的安全性。在之前关于hmac硬件设计的研究中大多只实现一种哈希函数对应的hmac算法,本文基于sm3、sha-256、sha3-512和hamc算法以对可重配单元进行研究。


技术实现思路

1、本专利技术提出的一种可配置的hmac消息认证码电路及方法,可至少解决
技术介绍
中的技术问题之一。

2、为实现上述目的,本专利技术采用了以下技术方案:

3、一种可配置的hmac消息认证码电路,其包括数据流控制单元、sm3-sha256哈希函数单元、sha3-512哈希函数单元;

4、所述hmac消息认证码电路内部模块均由时钟信号输出入端clk和复位信号输入端rst_n控制;

5、所述hmac消息认证码电路的mode信号选择电路通过一个异或门和一个与门来控制sha3-512哈希函数单元和sm3-sha256哈希函数单元的使能信号;sm3-sha256哈希函数单元的使能信号与mode[0]经过一个与门作为sm3-sha256模块的选择信号;

6、所述数据流控制单元包括五个输入端分别为hmac使能信号端hmac_en、输入有效信号端date_en、明文或密钥端data_in、最后一字节输入信号端msg_is_last_word、最后一字节字节数端byte_num,其中使能信号端hmac_en控制其余四个端口是否作为sm3-sha256哈希函数单元和sha3-512哈希函数单元的直接数据输入端;

7、所述数据流控制单元包括七个输出端,其中输出有效信号端hmac_vld和数据输出信号端msg_hmac均与sha3-512哈希函数单元和sm3-sha256哈希函数单元的输出端连接,输出端need_data用于输出数据请求信号;

8、数据流控制单元的另四个输出端分别为数据状态输入端in_vld、输入数据输入端data、字节数输入端byte_numb及最后一个字节输入端last_word均与数据流控制单元对应的输入端通过选择器相连接,选择器的控制端与hmac使能信号输入端相连接;

9、所述sm3-sha256哈希函数单元和sha3-512哈希函数单元的数据输出端out和out_ready信号输出端分别同时接入一个选择器中,并通过输入mode信号端控制输出,其选择器的输出端与数据流控制单元对应的输出端通过选择器相连接,通过选择器输出hmac电路的最终数据。

10、进一步地,本专利技术的hmac消息认证码电路中sha3-512哈希函数单元包括填充模块、置换模块;

11、所述的填充模块包含三个输出端分别为数据输出端、最后消息块示意信号输出端last_block和输出有效信号输出端pout_r,其中最后消息块示意信号输出端和输出有效信号输出端与置换模块的输入端相连接,数据输出端与小端转换模块recode1连接;

12、所述的置换模块包含六个输入端,其中三个输入端分别为数据输入端in、最后消息块示意信号输入端last_block和输入有效信号输入端in_ready,数据输入端与小端转换模块recode1的输出端相连接,最后消息块示意信号输入端和输入有效信号输入端与填充模块对应的输出端相连接;

13、所述的置换模块包含三个输出端分别为数据输出端out、输出有效信号输出端out_ready和ack信号输出端,其中数据输出端与小端转换模块recode2的输入端相连接,ack信号输出端与填充模块的输入端相连接。

14、进一步地,本专利技术的hmac消息认证码电路中sha3-512哈希函数单元中置换模块包括轮函数模块,轮函数模块选择内部流水线结构,进行二级展开处理轮运算,第一级轮函数对偶数轮进行处理,第二级轮函数对奇数轮进行处理。

15、进一步地,本专利技术的hmac消息认证码电路sha3-512哈希函数单元中流水线结构的偶数轮在θ2逻辑电路和θ3逻辑电路之间插入流水线寄存器,奇数轮在θ逻辑电路和ρ逻辑电路之间插入流水线寄存器的结构;

16、其中,轮函数模块中,偶数轮本文档来自技高网...

【技术保护点】

1.一种可配置的HMAC消息认证码电路,其特征在于,包括数据流控制单元、SM3-SHA256哈希函数单元、SHA3-512哈希函数单元;

2.根据权利要求1所述的一种可配置的HMAC消息认证码电路,其特征在于:所述的SHA3-512哈希函数单元包括填充模块、置换模块;

3.根据权利要求2所述的一种可配置的HMAC消息认证码电路,其特征在于:SHA3-512哈希函数单元中置换模块包括轮函数模块,轮函数模块选择内部流水线结构,进行二级展开处理轮运算,第一级轮函数对偶数轮进行处理,第二级轮函数对奇数轮进行处理。

4.根据权利要求3所述的一种可配置的HMAC消息认证码电路,其特征在于:流水线结构的偶数轮在θ2逻辑电路和θ3逻辑电路之间插入流水线寄存器,奇数轮在θ逻辑电路和ρ逻辑电路之间插入流水线寄存器的结构;

5.根据权利要求1所述的一种可配置的HMAC消息认证码电路,其特征在于:所述的SM3-SHA256哈希函数单元包括消息填充模块、消息扩展模块及迭代压缩模块;

6.根据权利要求5所述的一种可配置的HMAC消息认证码电路,其特征在于,SM3-SHA256哈希函数单元的迭代压缩模块将SM3算法和SHA-256算法中压缩函数的A寄存器和E寄存器更新电路采用复用结构实现,就进一步将SM3算法和SHA-256算法所需要的A~H的8×32位寄存器进行复用。

7.一种可配置的HMAC消息认证方法,其特征在于,包括以下步骤:

8.根据权利要求7所述的一种可配置的HMAC消息认证方法,其特征在于,其填充方式,具体包括以下两种:

...

【技术特征摘要】

1.一种可配置的hmac消息认证码电路,其特征在于,包括数据流控制单元、sm3-sha256哈希函数单元、sha3-512哈希函数单元;

2.根据权利要求1所述的一种可配置的hmac消息认证码电路,其特征在于:所述的sha3-512哈希函数单元包括填充模块、置换模块;

3.根据权利要求2所述的一种可配置的hmac消息认证码电路,其特征在于:sha3-512哈希函数单元中置换模块包括轮函数模块,轮函数模块选择内部流水线结构,进行二级展开处理轮运算,第一级轮函数对偶数轮进行处理,第二级轮函数对奇数轮进行处理。

4.根据权利要求3所述的一种可配置的hmac消息认证码电路,其特征在于:流水线结构的偶数轮在θ2逻辑电路和θ3逻辑电路之间插入流水线寄存器,奇数轮在θ逻辑电路...

【专利技术属性】
技术研发人员:解光军刘雪晴尤保祺杨依忠
申请(专利权)人:合肥工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1