一种加解密架构、方法、处理器和服务器技术

技术编号:36166081 阅读:15 留言:0更新日期:2022-12-31 20:15
本发明专利技术涉及一种加解密架构、方法、处理器和服务器。加解密架构中,控制器连接数据流控制模块,将待运算数据传输给数据流控制模块;数据流控制模块将待运算数据分组发送给算法引擎核模块,算法引擎核模块内部集成了能独立完成各自的算法运算的SM4算法引擎与AES算法引擎,数据流控制模块判断执行算法种类后控制算法引擎核模块启动相应算法引擎,算法引擎核模块利用数据流控制模块提供的待运算数据和寄存器堆模块中配置的加解密运算所需要的密钥和初始向量进行加解密运算并将运算结果反馈给数据流控制模块,数据流控制模块通过控制器将运算结果数据输出,实现对SM4算法和AES算法兼容的加解密处理。法兼容的加解密处理。法兼容的加解密处理。

【技术实现步骤摘要】
一种加解密架构、方法、处理器和服务器


[0001]本专利技术涉及加解密架构设计领域,尤其涉及一种加解密架构、方法、处理器和服务器。

技术介绍

[0002]现有BMC芯片支持多种对称算法,如AES算法、DES算法及RC4算法,支持多种算法工作模式,如ECB、CBC、CTR、OFB模式等,外部接口挂接在AHB总线上,支持算法独立配置,软件在算法运算开始前配置算法所需的相关参数,如密钥、初始向量等,最后启动运算,待运算结束后清除中断、中断状态和相关指令寄存器,待下一次运算开始前在进行同样的操作,每次运算前都需要重复性配置,在参数没有配置完之前不得启动算法运算。现有的BMC芯片内部加解密模块,其理论基础是密码算法,从算法的安全性方面考虑,DES算法和RC4算法无法抵御重放攻击,密钥易被破解,从运算效率考虑,DES算法和RC4算法的运算速率已低于业界主流水平;国密算法如SM4,算法运算速率和安全性均高于DES算法和RC4算法,而现有的BMC芯片并不支持SM4或其它国密算法,若对其进行重放攻击可能会造成隐私数据甚至国家机密泄露,极大的威胁到用户和国家的数据安全。

技术实现思路

[0003]为了解决上述技术问题或者至少部分地解决上述技术问题,本专利技术提供一种加解密架构、方法、处理器和服务器。
[0004]第一方面,本专利技术提供一种加解密架构,包括:控制器,所述控制器通过总线与外部连接,用于通过总线实现与外部通信;数据流控制模块,所述数据流控制模块连接所述控制器;算法引擎核模块,所述算法引擎核模块连接所述数据流控制模块;以及寄存器堆模块,所述寄存器堆模块通过总线与外部连接,且所述寄存器堆模块还与所述数据流控制模块连接;其中,所述算法引擎核模块利用所述数据流控制模块提供的分组待运算数据和所述寄存器堆模块中配置的加解密运算所需要的密钥和初始向量进行加解密运算并将所述加解密运算的运算结果数据反馈给所述数据流控制模块,所述数据流控制模块通过所述控制器将所述运算结果数据输出。
[0005]更进一步地,算法引擎核模块内部集成了能独立完成各自的算法运算的SM4算法引擎与AES算法引擎。
[0006]更进一步地,SM4算法引擎内部包括SM4字节替换单元、SM4加密/解密运算单元和SM4密钥扩展单元,SM4字节替换单元用来做字节替换操作,通过查找第一查找表将输入数据以字节为单位替换为对应的数据并输出;SM4加密/解密运算单元内部集成了32级流水的轮函数,可实现单个时钟周期的输入输出,SM4密钥扩展模块产生的轮密钥供SM4加密/解密运算单元使用;AES算法引擎单元集成了AES

128、AES

192、AES

256这3种算法独立的AES加密/解密运算单元和AES密钥扩展单元,AES列混淆单元、AES字节替换单元,AES字节替换单元主要用来做字节替换操作,通过查找第二查找表将输入数据以字节为单位替换为对应的
数据并输出,AES列混淆单元经行移位后的状态矩阵与固定的矩阵相乘,得到混淆后的状态矩阵来实列混淆变换。
[0007]更进一步地,所述控制器内部集成包括DMA寄存器和DMA读写数据流控制单元;DMA寄存器经一AHB从接口连接AHB总线;DMA读写数据流控制单元经一AHB主接口连接AHB总线,DMA读写数据流控制单元连接数据流控制模块;DMA读写数据流控制单元根据DMA寄存器中的配置通过AHB总线获取待运算数据并传输给数据流控制模块。
[0008]更进一步地,所述寄存器堆模块通过一AHB从接口连接对外连接的AHB总线,所述寄存器堆模块经内部总线连接数据流控制模块;寄存器堆模块针对算法引擎核模块实现的AES算法配置第一密钥寄存器、第一初始向量寄存器,寄存器堆模块针对算法引擎核模块实现的SM4算法配置第二密钥寄存器、第二初始向量寄存器;寄存器堆模块配置多组通道状态寄存器,用于记录运算状态;寄存器堆模块配置一组指令寄存器。
[0009]更进一步地,对应寄存器堆模块和DMA寄存器的AHB从接口经AHB总线连接设置相应AHB主接口的CPU。
[0010]更进一步地,所述数据流控制模块包括内部缓存和流控制单元;其中,内部缓存包括输入FIFO缓存和输出FIFO缓存,输入FIFO缓存用于缓存控制器利用总线读取的待运算数据,输出FIFO用于缓存算法引擎核模块输出到待运算数据的运算结果数据;流控制单元包括:用于将输入FIFO缓存中数据串并转换的串并转换逻辑电路,用于将运算结果数据进行并串转换的并串转换逻辑电路,用于对指令寄存器中指令进行译码的指令译码器,用于对指令进行解析的指令解析器,用于根据内部缓存中数据缓存状态控制控制器数据读写的流量控制器,用于与算法引擎核模块交互的数据下发回收接口,连接到所述寄存器堆模块的调试追踪信号输出接口、状态机FSM状态输出接口和通道状态监控器,用于对待运算数据中不足一个分组的数据进行暂存的数据暂存器,用于检测内部缓存中等待一个分组长度的数据是否超时的超时检测器。
[0011]更进一步地,流控制单元实现状态机FSM,状态机FSM根据算法种类启动算法引擎核模块相应的算法引擎,状态机FSM控制读取输入FIFO缓存中的数据,并经过串并转换逻辑电路串并转换后通过数据下发回收接口写入到算法引擎核模块中进行加解密业务运算,运算完成后状态机FSM获取运算结果数据经数据下发回收接口回收到流控制单元,并经过并串转换后写入到输出FIFO缓存中等待控制器从输出FIFO缓存中读取。
[0012]更进一步地,流量控制器在输出FIFO缓存有数据时请求控制器读输出FIFO缓存,并根据控制器的响应信号产生输出FIFO缓存的读使能;流控制单元在输入FIFO缓存非空时产生一个脉冲用来启动输入FIFO缓存的读使能,读取输入FIFO缓存的数据;在输入FIFO缓存中数据满时,流量控制器向控制器的DMA读写数据流控制单元发送停止数据读入的信息。
[0013]更进一步地,流控制单元收到的数据无法实现一个分组时,数据暂存器将不足一个分组的数据进行暂存,流控制单元收到后续数据时,提取暂存的数据与后续数据组合成一个分组。
[0014]第二方面,本专利技术提供一种加解密控制方法,应用于所述的加解密架构,包括:对控制器和寄存器堆模块进行配置;检测加解密架构是否空闲;空闲则启动控制器,控制器根据控制器的配置获取待运算数据传输给数据流控制模块;
数据流控制模块根据寄存器堆模块的配置确定算法类型,数据流控制模块控制对待运算数据进行串并转换后通过数据下发回收接口写入到算法引擎核模块中进行对应相应算法类型的加解密业务运算;数据流控制模块回收算法引擎核模块的运算结果数据并经并串转换后发送给控制器,控制器根据控制器的配置将运算结果数据输出到相应的存储位置。
[0015]更进一步地,对控制器的配置包括:配置控制器的DMA寄存器中的数据起始地址寄存器、数据长度寄存器、数据标志位寄存器,运算结果起始地址寄存器和DMA启动寄存器;控制器根据DMA启动寄存器的启动指示而启动,控制器本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种加解密架构,其特征在于,包括:控制器,所述控制器通过总线与外部连接,实现与外部通信;数据流控制模块,所述数据流控制模块连接所述控制器;算法引擎核模块,所述算法引擎核模块连接所述数据流控制模块;以及寄存器堆模块,所述寄存器堆模块通过总线与外部连接,且所述寄存器堆模块还与所述数据流控制模块连接;其中,所述算法引擎核模块利用所述数据流控制模块提供的分组待运算数据和所述寄存器堆模块中配置的加解密运算所需要的密钥和初始向量进行加解密运算并将所述加解密运算的运算结果数据反馈给所述数据流控制模块,所述数据流控制模块通过所述控制器将所述运算结果数据输出。2.根据权利要求1所述的加解密架构,其特征在于,算法引擎核模块内部集成了能独立完成各自的算法运算的SM4算法引擎与AES算法引擎。3.根据权利要求2所述的加解密架构,其特征在于,SM4算法引擎内部包括SM4字节替换单元、SM4加密/解密运算单元和SM4密钥扩展单元,SM4字节替换单元用来做字节替换操作,通过查找第一查找表将输入数据以字节为单位替换为对应的数据并输出;SM4加密/解密运算单元内部集成了32级流水的轮函数,可实现单个时钟周期的输入输出,SM4密钥扩展模块产生的轮密钥供SM4加密/解密运算单元使用;AES算法引擎单元集成了AES

128、AES

192、AES

256这3种算法独立的AES加密/解密运算单元和AES密钥扩展单元,AES列混淆单元、AES字节替换单元,AES字节替换单元主要用来做字节替换操作,通过查找第二查找表将输入数据以字节为单位替换为对应的数据并输出,AES列混淆单元经行移位后的状态矩阵与固定的矩阵相乘,得到混淆后的状态矩阵来实列混淆变换。4.根据权利要求1所述的加解密架构,其特征在于,所述控制器内部集成包括DMA寄存器和DMA读写数据流控制单元;DMA寄存器经一AHB从接口连接AHB总线;DMA读写数据流控制单元经一AHB主接口连接AHB总线,DMA读写数据流控制单元连接数据流控制模块;DMA读写数据流控制单元根据DMA寄存器中的配置通过AHB总线获取待运算数据并传输给数据流控制模块。5.根据权利要求1所述的加解密架构,其特征在于,所述寄存器堆模块通过一AHB从接口连接对外连接的AHB总线,所述寄存器堆模块经内部总线连接数据流控制模块;寄存器堆模块针对算法引擎核模块实现的AES算法配置第一密钥寄存器、第一初始向量寄存器,寄存器堆模块针对算法引擎核模块实现的SM4算法配置第二密钥寄存器、第二初始向量寄存器;寄存器堆模块配置多组通道状态寄存器,用于记录运算状态;寄存器堆模块配置一组指令寄存器。6.根据权利要求4或5所述的加解密架构,其特征在于,对应寄存器堆模块和DMA寄存器的AHB从接口经AHB总线连接设置相应AHB主接口的CPU。7.根据权利要求1所述的加解密架构,其特征在于,所述数据流控制模块包括内部缓存和流控制单元;其中,内部缓存包括输入FIFO缓存和输出FIFO缓存,输入FIFO缓存用于缓存控制器利用总线读取的待运算数据,输出FIFO用于缓存算法引擎核模块输出到待运算数据的运算结果数据;流控制单元包括:用于将输入FIFO缓存中数据串并转换的串并转换逻辑电路,用于将运算结果数据进行并串转换的并串转换逻辑电路,用于对指令寄存器中指令进行译码的指令译码器,用于对指令进行解析的指令解析器,用于根据内部缓存中数据缓存状态控制控制器数据读写的流量控制器,用于与算法引擎核模块交互的数据下发回收接
口,连接到所述寄存器堆模块的调试追踪信号输出接口、状态机FSM状态输出接口和通道状态监控器,用于对待运算数据中不足一个分组的数据进行暂存的数据暂存器,用于检测内部缓存中等待一个分组长度的数据是否超时的超时检测器。8.根据权利要求7所述的加解密架构,其特征在于,流控制单元实现状态机FSM,状态机FSM根据算法种类启动算法引擎核模块相应的算法引擎,状态机FSM控制读取输入FIFO缓存中的数据,并经过串并转换逻辑电路串并转换后通过数据下发回收接口写入到算法引擎核模块中进行加解密业务运算,运算完成后状态机FSM获取运算结果数据经数据下发回收接口回收到流控制单元,并经过并串转换后写入到输出FIFO缓存中等待控制器从...

【专利技术属性】
技术研发人员:赵新宇孙旭周玉龙刘刚
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1