System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 支持多算法多分组模式的加解密电路、方法及SOC系统技术方案_技高网

支持多算法多分组模式的加解密电路、方法及SOC系统技术方案

技术编号:42104735 阅读:4 留言:0更新日期:2024-07-25 00:29
本发明专利技术涉及一种支持多算法多分组模式的加解密电路、方法及SOC系统,通过寄存器配置模块获取数据处理请求对寄存器中的配置参数进行配置生成配置信息,所述配置参数包括算法核类型、分组模式和工作模式,从而实现较为灵活的按需更改加密算法类型、分组模式、工作模式等配置信息;通过数据流控制模块来根据所述配置信息控制所述待处理数据的流向,在不同的算法类型或分组模式下,数据流向不同的算法控制模块或数据处理模块,不需要针对不同的算法设计不同的外围电路,从而实现了多算法多分组模式的应用。总之,本发明专利技术通过加密算法核心的外围结构设计实现了支持高优先级计算流打断后的挂起和恢复,可以较为方便的通过更换算法核心来进行算法迭代升级。

【技术实现步骤摘要】

本专利技术涉及集成芯片,特别是涉及一种支持多算法多分组模式的加解密电路、方法及soc系统。


技术介绍

1、随着社会的数字化程度不断提高,信息安全越来越受到人们的关注,各种加密算法被提出、推广并应用在各种不同的场合之中。集成电路芯片中对加密算法的硬件实现相比软件实现可以大幅提升信息加密和解密的计算速度,因此对数据安全有需求的芯片内往往会集成常用的加密算法的硬件加速器模块。

2、当前使用较多的是单加密算法的硬件加速电路,但单独的加密算法扩展性弱,适用场景单一,无法根据具体使用情况更换算法。为了解决上述问题,现有技术(cn111488310-一种soc系统中分组算法功能扩展适配结构及方法)提出了一种由总线接口管理模块、dma接口管理模块、模式解析重组模块、data选择控制模块、iv选择控制模块和传输单元管理模块组成的结构,用于扩展加密算法的分组模式。该方案虽然实现了在不同安全等级的应用中,加密的分组模式可以按需求配置,但该技术方案只能为传统的分组算法如des、aes或sm4等适配了一套支持多种分组模式的电路结构,其本质还是传统的单一算法核心的多分组模式应用,不能实现多套加密算法核心共用同一套分组模式电路结构。

3、为了实现多加密算法,现有技术的另一方案(cn114244510-硬件加速装置、方法、设备及存储介质)提出一种由16个加密计算单元实现的sm4加密、aes128加密、aes192加密和aes256加密的多种秘钥长度加密方式。该专利技术聚焦于加密算法核心层次,通过加密计算单元复用的方法提高计算效率,在同一个加密核心中实现了两种加密算法的复用。但是该方法虽然通过复用方法精简了电路,但底层计算单元设计固定后,不能更换加密算法和加密算法的迭代更新。

4、因此现有的实现多算法加密的技术方案存在以下问题:现有技术可以在soc系统内对每个加密算法模块分别实现,算法选择信号、加密数据信息和配置信息等通过总线传输,但该方法资源共享率低,会产生大量的冗余电路;而通过将多个相似的加密算法在算法核心层次内进行逻辑复用可实现多种算法的计算单元合并,在单独模块内实现多种加密算法的计算,但该方法固定了底层计算方式,算法模式的组合有限,通用性差,难以升级和迭代。


技术实现思路

1、本专利技术实施例提供了一种支持多算法多分组模式的加解密电路、方法及soc系统,以至少解决相关技术中不能实现多个算法和多个分组模式不能自由组合的问题。

2、第一方面,本专利技术实施例提供了一种,支持多算法多分组模式的加解密电路,所述加解密电路包括寄存器配置模块、数据流控制模块、数据处理模块和一个以上的算法核控制模块;其中,

3、所述寄存器配置模块获取配置信息并存储其中的数据寄存器中,在接收到数据处理请求时将所述配置信息传递给数据流控制模块、数据处理模块和/或算法核控制模块;所述配置信息包括算法核类型、分组模式和工作模式;

4、所述数据流控制模块用于获取待处理数据,并根据所述配置信息控制所述待处理数据的流向,以发送到对应的算法控制模块;

5、所述算法核控制模块用于对接收到的数据进行加解密计算,得到加解密数据;

6、所述数据处理模块用于对所述待处理数据或加解密数据进行处理。

7、在其中一些实施例中,所述数据流控制模块包括数据流控制逻辑和数据缓存单元;其中

8、所述数据流控制逻辑用于根据所述配置信息控制所述待处理数据的流向,以选择不同的数据处理线路到达对应的算法控制模块;

9、所述数据缓存单元用于获取并存储数据处理过程中正常使用或将要使用的中间变量,所述中间变量包括所述加解密数据。

10、在其中一些实施例中,所述数据处理模块包括第一数据交换模块、第二数据交换模块和乘法器模块;其中,

11、所述第一数据交换模块、第二数据交换模块分别用于对所述待处理数据或加解密数据进行数据格式的交换处理;

12、所述乘法器模块用于当所述分组模式为gmac或gcm时对所述待处理数据进行有限域乘法运算。

13、在其中一些实施例中,所述寄存器配置模块包括总线接口、dma接口、中断输出接口、寄存器读写配置逻辑、dma控制器、中断产生逻辑、密钥有效性检查逻辑和数据读写有效性检查逻辑;其中,

14、所述总线接口连接所述寄存器读写配置逻辑,通过所述总线接口和寄存器读写配置逻辑将多种配置信息写入所述数据寄存器内存储待用;

15、所述dma接口连接所述dma控制器,所述dma控制器通过所述dma接口获取数据处理请求和待处理数据;

16、所述中断输出接口连接所述中断产生逻辑、密钥有效性检查逻辑和数据读写有效性检查逻辑,所述中断输出接口用于输出中断信号,所述中断信号包括计算完成中断、秘钥错误中断或读写错误中断。

17、在其中一些实施例中,每一所述算法核控制模块包括用于控制运算步骤的运行状态机以及一个以上的算法核。

18、在其中一些实施例中,所述数据流控制逻辑包括多个数据选择器和多个异或运算单元;其中,所述数据选择器用于对接收到的数据进行选择处理;所述异或运算单元用于对接收到的数据进行异或运算处理。

19、在其中一些实施例中,所述数据缓存单元包括第一寄存器、第二寄存器、第三寄存器和第四寄存器;所述中间变量还包括初始向量值、ccm模式有效负责的认证值、散列子密钥和散列函数运算结果;其中,所述第一寄存器、第二寄存器、第三寄存器和第四寄存器分别存储不同的中间变量。

20、具体地,所述数据流控制逻辑包括十一个数据选择器、四个异或运算单元和一个加法器;所述十一个数据选择器分别为:mux_0、mux_1、mux_2、mux_3、mux_4、mux_5、mux_6、mux_7、mux_8、mux_9和mux_a),所述四个异或运算单元分别为:xor1、xor2、xor3、xor4;所述算法核控制模块包括第一算法核控制模块和第二算法核控制模块;

21、其中,所述第一数据交换模块接入待处理数据,mux_0的输入端与第一数据交换模块的输出端连接、输出端与xor1连接;mux_2的第一输入端接入待处理数据、第二输入端与第一寄存器连接、输出端与mux_1连接;mux_1的输出端与xor1连接;xor1的输出端连接第一算法核控制模块;mux_4的第一输入端接入待处理数据、第二输入端连接第一寄存器、输出端连接加法器;所述加法器的输出端连接mux_3的第一输入端;mux_3的第二输入端连接第一数据交换模块、第三输入端连接第一算法核控制模块的输出端、输出端连接第一寄存器;mux_5的第一输入端连接mux_2的输出端、第二输入端连接第二寄存器、输出端连接第四寄存器;mux_6的输入端连接第二数据交换模块的输出端;mux_7的第一输入端连接第一数据交换模块的输出端、第二输入端连接第二数据交换模块的输出端、输出端连接xor3;mux_8的输入端连接第四寄存器、输入端连接xor3;xor3的输出端本文档来自技高网...

【技术保护点】

1.一种支持多算法多分组模式的加解密电路,其特征在于,所述加解密电路包括寄存器配置模块、数据流控制模块、数据处理模块和一个以上的算法核控制模块;其中,

2.根据权利要求1所述的加解密电路,其特征在于,所述数据流控制模块包括数据流控制逻辑和数据缓存单元;其中

3.根据权利要求2所述的加解密电路,其特征在于,所述数据处理模块包括第一数据交换模块、第二数据交换模块和乘法器模块;其中,

4.根据权利要求1所述的加解密电路,其特征在于,所述寄存器配置模块包括总线接口、DMA接口、中断输出接口、寄存器读写配置逻辑、DMA控制器、中断产生逻辑、密钥有效性检查逻辑和数据读写有效性检查逻辑;其中,

5.根据权利要求1所述的加解密电路,其特征在于,每一所述算法核控制模块包括用于控制运算步骤的运行状态机以及一个以上的算法核。

6.根据权利要求3所述的加解密电路,其特征在于,所述数据流控制逻辑包括多个数据选择器和多个异或运算单元;其中,所述数据选择器用于对接收到的数据进行选择处理;所述异或运算单元用于对接收到的数据进行异或运算处理。

>7.根据权利要求6所述的加解密电路,其特征在于,所述数据缓存单元包括第一寄存器、第二寄存器、第三寄存器和第四寄存器;所述中间变量还包括初始向量值、CCM模式有效负责的认证值、散列子密钥和散列函数运算结果;其中,所述第一寄存器、第二寄存器、第三寄存器和第四寄存器分别存储不同的中间变量。

8.根据权利要求7所述的加解密电路,其特征在于,所述数据流控制逻辑包括十一个数据选择器、四个异或运算单元和一个加法器;所述十一个数据选择器分别为:mux_0、mux_1、mux_2、mux_3、mux_4、mux_5、mux_6、mux_7、mux_8、mux_9和mux_a,所述四个异或运算单元分别为:XOR1、XOR2、XOR3、XOR4;所述算法核控制模块包括第一算法核控制模块和第二算法核控制模块;

9.一种SOC系统,其特征在于,所述系统包括权利要求1至8中任一项所述的支持多算法多分组模式的加解密电路。

10.一种支持多算法多分组模式的加解密方法,其特征在于,应用在权利要求1-9任一项所述的加解密电路中;所述加解密方法包括:

...

【技术特征摘要】

1.一种支持多算法多分组模式的加解密电路,其特征在于,所述加解密电路包括寄存器配置模块、数据流控制模块、数据处理模块和一个以上的算法核控制模块;其中,

2.根据权利要求1所述的加解密电路,其特征在于,所述数据流控制模块包括数据流控制逻辑和数据缓存单元;其中

3.根据权利要求2所述的加解密电路,其特征在于,所述数据处理模块包括第一数据交换模块、第二数据交换模块和乘法器模块;其中,

4.根据权利要求1所述的加解密电路,其特征在于,所述寄存器配置模块包括总线接口、dma接口、中断输出接口、寄存器读写配置逻辑、dma控制器、中断产生逻辑、密钥有效性检查逻辑和数据读写有效性检查逻辑;其中,

5.根据权利要求1所述的加解密电路,其特征在于,每一所述算法核控制模块包括用于控制运算步骤的运行状态机以及一个以上的算法核。

6.根据权利要求3所述的加解密电路,其特征在于,所述数据流控制逻辑包括多个数据选择器和多个异或运算单元;其中,所述数据选择器用于对接收到的数据进行选择处理;所述异或运算单元用于对接收到的数据进行异或运算处理...

【专利技术属性】
技术研发人员:李宇聪王大伟刘建军易玲何杰黄超崔国宇
申请(专利权)人:杭州万高科技股份有限公司
类型:发明
国别省市:

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

1