一种基于异步电路的加解密方法及电路

文档序号:36412261发布日期:2023-12-19 04:37阅读:22来源:国知局
一种基于异步电路的加解密方法及电路

本发明属于信息安全领域,具体涉及一种基于异步电路的加解密方法及电路。


背景技术:

1、近年来,随着物联网技术的日益提高,物联网设备之间存在着大量的数据存储、处理和传输的操作。信息技术和计算机技术不断发展,数字信息的交互越来越频繁,数字信息的安全越来越受到重视,信息数据的加密则成为保障数据安全的重要手段,软件端需要对数据进行加密,硬件数字信息安全同样不可或缺。

2、相较于同样硬件架构的同步电路clk信号控制下的aes加密算法,异步控制电路能够有效的缓解加密算法硬件电路增加后带来的功耗问题:得益于异步控制电路的触发方式是基于事件驱动的,事件驱动的电平翻转代替了原本的时钟翻转,减少了许多不必要的时钟翻转,极大的降低了加解密电路所产生的的功耗。另一方面,异步电路的事件驱动方式,在运用了流水线结构的加解密电路中,大大减少了原本流水线结构中延时较小模块中无用的等待延时,极大的提高了加解密算法的运算效率。最后,异步电路在电路中几乎无规律的电平翻转,进一步提高了aes加密算法在侧信道攻击中的破解难度。保证了低功耗的同时,又能够高性能更安全地完成电路控制功能。

3、对于该加密方法,aes算法是一种分组加密算法,算法支持128bit的数据明文分组长度,采用的密钥长度为128bit,主要包括密钥扩展算法和加解密算法。加解密算法模块采用全流水线式结构,其优势相比普通aes算法硬件结构,能够连续对输入数据,进行加解密的运算操作,极大的提高加解密的运算效率;密钥扩展算法硬件架构采用基于异步电路的流水线式结构生成密钥配合密钥存储的硬件结构,其优势相比普通aes算法硬件电路,能够做到对于连续加解密的数据,自定义不同的密钥对应不同的数据,在不影响加解密模块正常功能的情况下,大大提高该算法硬件电路的安全性能。

4、如何将异步电路与aed算法电路进行结合,并在不影响加密功能的情况下,进一步提高其运算效率,优化其电路结构成了亟待解决的问题。


技术实现思路

1、为解决现有技术的不足,将传输中大量的连续数据,通过改进的流水线方式进行连续加解密处理,通过异步控制电路的优势,实现保证加解密效果的同时,避免时钟亚稳态问题,降低功耗,提高运行效率、安全性,且为后期的模块化集成提供便利的目的,本发明采用如下的技术方案:

2、一种基于异步电路的aes加解密电路,包括异步控制模块、密钥扩展及存储模块和加解密模块,所述异步控制模块通过其click单元,分解控制通路与数据通路来构建控制轮,将局部控制信号替换全局时钟,控制加解密模块全流水线的每一轮运算,

3、生成的每轮子密钥用于加解密操作。异步控制模块在代替原本同步电路的clk时钟信号和rst_n复位信号的同时,控制部分模块由异步电路代替,通过异步电路无规律输出信号电平翻转,对密钥扩展及存储模块、加密模块和解密模块的控制调度,click单元电路采用“约束捆绑数据”的握手协议,将控制通讯通路和事务处理分成不同的时间动态方式,与同步电路下时钟翻转的功耗相比,没有了规律的翻转功耗,进一步降低了整个算法电路的功耗;此外,全流水线的形式能够对大量数据进行连续加解密运算,实现更为简洁高效的异步控制;密钥扩展生成一轮子密钥的速度快于一组明文加密的速度,因而一轮完整的密钥扩展运算所有密钥均可快于明文加密的速度,提高了加解密整体的速率,并且不影响加密流水线的运行,通过不同数据对用不同密钥的操作,加强了该算法模块的安全性能。

4、进一步地,所述加解密模块包括加密模块和解密模块,加、解密模块采用多级流水线的形式,形成相同循环迭代的多个单轮加、解密模块加上最后一轮单轮加、解密模块;

5、所述多个单轮加密模块分别包括字节代换模块、行位移模块、列混淆模块和轮密钥加模块,所述最后一轮单轮加密模块包括字节代换模块、行位移模块和轮密钥加模块,异步控制模块中均设有对应的click单元控制模块间数据流动,轮密钥加模块基于最后一轮单轮加密模块的输出及其对应的扩展子密钥,生成密文;该数据流运算中,没有采用模块复用的方式,整体采用流水线迭代的架构方法,从整体架构上实现流水线数据加密效果,配合异步控制电路的模块间控制,使得相比于一般的同步aes加密算法结构,运算效率更高,速度更快;

6、所述多个单轮解密模块分别包括逆字节代换模块、逆行位移模块、逆列混淆模块和轮密钥加模块,所述最后一轮单轮解密模块包括逆字节代换模块、逆行位移模块和轮密钥加模块,异步控制模块中均设有对应的click单元控制模块间数据流动,轮密钥加模块基于最后一轮单轮解密模块的输出及其对应的密钥扩展及存储模块存储的扩展子密钥,生成明文;该数据流运算中,没有采用模块复用的方式,整体采用流水线迭代的架构方法,从整体架构上实现流水线数据解密效果,配合异步控制电路的模块间控制,使得相比于一般的同步aes加密算法结构,运算效率更高,速度更快。

7、进一步地,所述字节代换模块,内部采用流水线处理,依次对明文进行拆分、s盒代换及合成;所述逆字节代换模块,内部采用流水线处理,依次对密文进行拆分、逆s盒代换及合成;字节代换模块和逆字节代换模块,通过添加的寄存器组,在一个电平翻转内将拆分的多组明文数据s盒代换和逆s盒代换,提升了可输入数据的速率,提高加密效率;同时,通过流水线的方式,实现五级流水线连续输入与输出功能,来保证加解密的连续运行不被中断。

8、进一步地,所述行位移模块,将明文转换为矩阵,完成生成矩阵的每行位置替换算法;所述逆行位移模块,将密文转换为矩阵,完成生成矩阵的每行位置替换算法的逆向运算。

9、进一步地,所述列混淆模块,利用域gf(8)上的算数特性的一个代替,将明文转换为矩阵,完成生成矩阵的矩阵乘法的算法;所述逆列混淆模块,利用域gf(8)上的算数特性的一个代替,将密文转换为矩阵,完成生成矩阵的矩阵乘法算法的逆向算法。

10、进一步地,所述加密模块的轮密钥加模块,将当前分组明文与当前扩展密钥按位异或;所述解密模块的轮密钥加模块,将当前分组密文与当前密钥扩展及存储模块中对应的扩展密钥按位异或。

11、进一步地,所述加密模块中的轮密钥加模块,包括密钥扩展模块,以使密钥经字节代换、字循环、轮常量异或后得到当前扩展密钥,然后将当前扩展密钥与当前分组明文按位异或。

12、所述密钥扩展模块中,字循环是将第1个字中的4个字节循环左移1个字节,轮常量异或,对前两步的结果128bit数据同轮常量rcon[j]进行异或算法。

13、一种基于异步电路的aes加解密方法,包括如下步骤:

14、步骤一:获取配置信息,基于配置信息运行加密或解密模块,接收明文或密文数据,接收初始密钥;

15、步骤二:判断使能信号;

16、步骤三:判断加密或解密信号,以及执行加密或解密流程;

17、步骤四:若执行加密流程,则进入加密运算和密钥扩展运算,并行执行;若执行解密流程,则进入解密运算;通过异步控制,分解控制通路与数据通路来构建控制轮,将局部控制信号替换全局时钟,控制加解密模块全流水线的每一轮运算;通过模块迭代的方式,对密钥经每轮计算得到的子密钥进行存储,扩展生成的每轮子密钥用于加解密操作;

18、步骤五:当执行一个电平周期,基于异步控制,通过握手信号连接下一执行模块,判断执行下一步操作或完成加解密流程和密钥扩展流程,输出相应数据。

19、内部加密模块和解密模块均采用了大量的寄存器,实现流水线的结构,通过由控制模块的有效握手控制,加解密运算单元的合理调度,在保证与传统状态机模块复用实现功能的基础上,实现能够连续加密,功耗更低,更为简洁高效的aes加密算法硬件架构。

20、进一步地,所述步骤四中,当start_i为高电平,encrypt_i为高电平,decrypt_i为低电平,start_req为高电平时,执行加密流程包括如下步骤:

21、步骤4.1.1:基于click单元的异步控制,执行一轮加密运算,依次对明文进行字节代换、行位移、列混淆;依次执行以click6 ~ click11、click12~ click17 …… click48~click53为控制的一共八轮加密循环,每轮循环中执行的步骤与第一轮相同;

22、步骤4.1.2:输入keystart_req为高电平,基于click单元进行异步控制,进行一轮密钥扩展,得到一轮加密运算对应的子密钥并存储;每轮子循环同时,相应密钥扩展同步执行,依次执行以click64 ~ click68、click69~ click73 …… click104~ click108为控制的一共9轮加密循环,每轮循环中执行的步骤与第一轮相同;

23、步骤4.1.3:基于步骤4.1.1的输出及其对应的子密钥,进行轮密钥加操作,得到该轮次密文;

24、步骤4.1.4:最后一轮加密运算时,将行位移的输出与最后一轮加密对应的子密钥,进行轮密钥加操作,得到加密的密文;以click54~ click58为控制单元,配合click104~click108生成的最后一轮子密钥,完成最后一轮加密运算,输出加密密文。

25、进一步地,所述步骤四中,当start_i为高电平,decrypt_i为高电平,encrypt_i为低电平,invstart_req为高电平时,执行解密流程包括如下步骤:

26、步骤4.2.1:首先为async_ctr_inv_round1,基于click单元的异步控制,其中包括click109到click114分别执行aes解密算法中一轮解密运算的步骤,依次对密文进行逆行位移、逆字节代换和逆列混淆,配合存储的子密钥,完成一轮解密运算;依次执行以click115 ~ click120、click121~ click126 …… click157~ click162为控制的一共八轮解密循环,每轮循环中执行的步骤与第一轮相同;

27、步骤4.2.2:最后一轮解密运算时,将逆字节代换的输出与最后一轮解密对应的子密钥,进行轮密钥加操作,得到解密的明文;以click163 ~ click167为控制单元,配合最后一轮子密钥,完成最后一轮解密运算,输出明文。

28、本发明的优势和有益效果在于:

29、本发明与现有的aes加解密电路相比,更高效、更低功耗、更安全。

30、更高效:首先本发明采用的异步电路设计方法,在运用了流水线结构的加解密电路中,大大减少了原本流水线结构中延时较小模块中无用的等待延时,极大的提高了加解密算法的运算效率;其中加解密模块支持连续的数据明文、密文、密钥同时运算的方式,同样对加解密运算效率有很大的提高。

31、更低功耗:本发明采用的异步电路控制方法,可在零功耗无数据状态与最大吞吐状态之间迅速切换,减少了许多一本同步电路中不必要的时钟翻转,将处理算法数据过程中的功耗大大降低。

32、更安全:首先是异步电路事件驱动方式的优势,异步电路在电路中几乎无规律的电平翻转,对于部分根据时钟跳转能量来破解加密的侧信道攻击方法,进一步提高了该aes加密算法电路在侧信道攻击中的破解难度;其次,该aes算法电路可支持密钥的实时更新,支持每组密钥可对应不同的数据明文,进而进一步提高算法的安全性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1