加密电路制造技术

技术编号:37546595 阅读:7 留言:0更新日期:2023-05-12 16:20
本申请提供了一种加密电路,可用于芯片技术领域。该加密电路包括:寄存器模块,包括多个寄存器;计数器模块,被配置为基于时钟信号来生成第一计数信号和第二计数信号;状态机模块,被配置为连接计数器模块,状态机模块被配置为基于功能选择信号、第一计数信号和第二计数信号来生成状态信号;运算模块,包括多个运算单元,运算单元被配置为利用基于运算单元确定的运算逻辑来处理运算单元的输入数据,得到运算单元的输出数据;控制模块,被配置为在接收到启动信号的情况下,基于功能选择信号、第一计数信号、第二计数信号和状态信号来控制多个运算单元的输入端的输入数据和多个寄存器中的数据。中的数据。中的数据。

【技术实现步骤摘要】
加密电路


[0001]本申请涉及芯片
,尤其涉及信息安全领域,更具体地,涉及一种加密电路。

技术介绍

[0002]在信息安全领域中,加密技术可以是利用各种加密算法把数据转换为密文进行传输,待密文到达目的地后再使用相应的解密算法来还原得到原始数据。在各种加密算法中,哈希算法是用途最多的加密算法之一,它被广泛应用于各种不同的安全应用和网络协议中。
[0003]在相关技术中,针对基于哈希算法的加密电路的设计一般是依据算法原理来布局使用多个加法器和异或门等。在多种加密算法混合应用的场景下,采用相关技术的方法设计得到的加密电路的硬件复用率较低,在占用较大的硬件面积的同时也无法带来性能上的提高。

技术实现思路

[0004]有鉴于此,本申请提供了一种加密电路,包括:寄存器模块,包括多个寄存器;计数器模块,被配置为基于时钟信号来生成第一计数信号和第二计数信号;状态机模块,被配置为连接上述计数器模块,上述状态机模块被配置为基于功能选择信号、上述第一计数信号和上述第二计数信号来生成状态信号,其中,上述功能选择信号的值表示选择的目标加密算法;运算模块,包括多个运算单元,上述运算单元被配置为利用基于上述运算单元确定的运算逻辑来处理运算单元的输入数据,得到上述运算单元的输出数据;以及控制模块,被配置为在接收到启动信号的情况下,基于上述功能选择信号、上述第一计数信号、上述第二计数信号和上述状态信号来控制上述多个运算单元的输入端的输入数据和上述多个寄存器中的数据,以控制上述多个运算单元利用上述目标加密算法对明文数据进行加密,得到密文数据。
[0005]根据本申请的实施例,通过接收功能选择信号来确定使用的目标加密算法,控制模块可以基于状态信号、第一计数信号和第二计数信号,来控制各个寄存器中的数据以及各个运算单元的输入数据,可以实现多种加密算法对寄存器和运算单元复用,所以至少部分地克服了相关技术中加密电路的硬件复用率较低的技术问题,有效提高了加密电路的硬件复用率和性能,降低了加密电路的面积。
附图说明
[0006]通过以下参照附图对本申请实施例的描述,本申请的上述以及其他目的、特征和优点将更为清楚,在附图中。
[0007]图1示意性示出了根据本申请实施例的加密电路的示意图。
[0008]图2示意性示出了根据本申请另一实施例的加密电路的示意图。
[0009]图3A示意性示出了根据本申请实施例的第一函数运算单元的示意图。
[0010]图3B示意性示出了根据本申请实施例的第二函数运算单元的示意图。
[0011]图3C示意性示出了根据本申请实施例的第三函数运算单元的示意图。
[0012]图3D示意性示出了根据本申请实施例的第四函数运算单元的示意图。
[0013]图3E示意性示出了根据本申请实施例的异或运算单元的示意图。
[0014]图4示意性示出了根据本申请实施例的计数器模块的示意图。
[0015]图5示意性示出了根据本申请实施例的计数器模块和状态机模块的工作流程示意图。
[0016]图6示意性示出了根据本申请又一实施例的加密电路的示意图。
实施方式
[0017]以下,将参照附图来描述本申请的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本申请的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本申请实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本申请的概念。
[0018]在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本申请。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
[0019]在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
[0020]在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
[0021]在信息安全领域中,加密技术可以是利用各种加密算法把数据转换为密文进行传输,待密文到达目的地后再使用相应的解密算法来还原得到原始数据。在各种加密算法中,哈希算法,特别是安全哈希算法是用途最多的加密算法之一,它被广泛应用于各种不同的安全应用和网络协议中。
[0022]在相关技术中,针对基于哈希算法的加密电路的设计一般是依据算法原理来布局使用多个加法器和异或门等,或者,在电路中只使用1个加法器和异或门,依靠控制芯片中写入的控制逻辑来实现加密电路的使用。在多种加密算法混合应用的场景下,采用相关技术的方法设计得到的加密电路的硬件复用率较低,在占用较大的硬件面积的同时也无法带
来性能上的提高。
[0023]有鉴于此,本申请的实施例提供了一种加密电路,可以提高多种加密算法复合应用时的硬件复用率,适用于对性能和面积都有较高要求的应用场景。具体地,该加密电路包括:寄存器模块,包括多个寄存器;计数器模块,被配置为基于时钟信号来生成第一计数信号和第二计数信号;状态机模块,被配置为连接计数器模块,状态机模块被配置为基于功能选择信号、第一计数信号和第二计数信号来生成状态信号,其中,功能选择信号的值表示选择的目标加密算法;运算模块,包括多个运算单元,运算单元被配置为利用基于运算单元确定的运算逻辑来处理运算单元的输入数据,得到运算单元的输出数据;以及控制模块,被配置为在接收到启动信号的情况下,基于功能选择信号、第一计数信号、第二计数信号和状态信号来控制多个运算单元的输入端的输入数据和多个寄存器中的数据,以控制多个运算单元利用目标加密算法对明文数据进行加密,得到密文数据。
[0024]图1示意性示出了根据本申请实施例的加密电路的示意图。
[0025]如图1所示,该加密电路可以包括寄存器模块10、计数器模块20、状态机模块30、运算模块40和控制模块50。
[0026]根据本申请的实施例,寄存器模块10可以包括多个寄存器,寄存器的数量在此不作限定,例如,可以根据为该加密电路所配置的多种加密算法所需要的寄存器的最大数量来配置寄存器模块10包括的寄存器的数量。寄存器模块10包括的各个寄存器可以分别用于存储各个加密算法对应的初始本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种加密电路,包括:寄存器模块,包括多个寄存器;计数器模块,被配置为基于时钟信号来生成第一计数信号和第二计数信号;状态机模块,被配置为连接所述计数器模块,所述状态机模块被配置为基于功能选择信号、所述第一计数信号和所述第二计数信号来生成状态信号,其中,所述功能选择信号的值表示选择的目标加密算法;运算模块,包括多个运算单元,所述运算单元被配置为利用基于所述运算单元确定的运算逻辑来处理运算单元的输入数据,得到所述运算单元的输出数据;以及控制模块,被配置为在接收到启动信号的情况下,基于所述功能选择信号、所述第一计数信号、所述第二计数信号和所述状态信号来控制所述多个运算单元的输入端的输入数据和所述多个寄存器中的数据,以控制所述多个运算单元利用所述目标加密算法对明文数据进行加密,得到密文数据。2.根据权利要求1所述的加密电路,其中,所述多个运算单元包括第一函数运算单元、第二函数运算单元、第三函数运算单元、第四函数运算单元、异或运算单元、第一加法运算单元、第二加法运算单元、第三加法运算单元和参数运算单元;其中,所述第一函数运算单元的输入端被配置为连接所述寄存器模块,所述第一函数运算单元的输出端被配置为连接所述控制模块;所述第二函数运算单元的输入端被配置为连接所述寄存器模块,所述第二函数运算单元的输出端被配置为连接所述控制模块;所述第三函数运算单元的输入端被配置为连接所述寄存器模块,所述第三函数运算单元的输出端被配置为连接所述控制模块;所述第四函数运算单元的输入端被配置为连接所述寄存器模块,所述第四函数运算单元的输出端被配置为连接所述控制模块;所述异或运算单元的第一输入端、第二输入端和第三输入端分别被配置为连接所述控制模块,所述异或运算单元的输出端被配置为连接所述控制模块;所述第一加法运算单元的第一输入端和第二输入端分别被配置为连接所述控制模块,所述第一加法运算单元的输出端被配置为连接所述控制模块;所述第二加法运算单元的第一输入端和第二输入端分别被配置为连接所述控制模块,所述第二加法运算单元的输出端被配置为连接所述控制模块;所述第三加法运算单元的第一输入端、第二输入端、第三输入端和第四输入端分别被配置为连接所述控制模块,所述第三加法运算单元的输出端被配置为连接所述控制模块;以及所述参数运算单元的第一输入端被配置为连接所述寄存器模块,所述参数运算单元的第二输入端被配置为连接所述计数器模块,所述参数运算单元的输出端被配置为分别连接所述寄存器模块和所述控制模块。3.根据权利要求2所述的加密电路,其中,所述第一函数运算单元包括第一异或门和第二异或门,所述第一函数运算单元的输入端包括第一输入端、第二输入端和第三输入端;其中,所述第一异或门的第一输入端和第二输入端分别被配置为连接所述第一函数运算单元的第一输入端和第二输入端,所述第一异或门的输出端被配置为连接所述第二异或
门的第一输入端,所述第二异或门的第二输入端被配置为连接所述第一函数运算单元的第三输入端,所述第二异或门的输出端被配置为连接所述第一函数运算单元的输出端。4.根据权利要求2所述的加密电路,其中,所述第二函数运算单元包括第三异或门和第四异或门,所述第二函数运算单元的输入端包括第一输入端、第二输入端和第三输入端;其中,所述第三异或门的第一输入端和第二输入端分别被配置为连接所述第二函数运算单元的第一输入端和第二输入端,所述第三异或门的输出端被配置为连接所述第四异或门的第一输入端,所述第四异或门的第二输入端被配置为连接所述第二函数运算单元的第三输入端,所述第四异或门的输出端被配置为连接所述第二函数运算单元的输出端。5.根据权利要求2所述的加密电路,其中,所述第三函数运算单元包括第一输入控制子单元、第一与门、第二与门、非门、第五异或门、第一或门和第一输出控制子单元;其中,所述第一输入控制子单元的输入端被配置为连接所述第三函数运算单元的输入端,所述第一输入控制子单元的第一输出端被配置为连接所述第一...

【专利技术属性】
技术研发人员:朱敏范炯孙进军
申请(专利权)人:无锡沐创集成电路设计有限公司
类型:发明
国别省市:

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

1