掌桥专利:专业的专利平台
掌桥专利
首页

一种基于组合混沌加密算法的集成电路系统、方法及介质

文献发布时间:2024-04-18 19:58:26


一种基于组合混沌加密算法的集成电路系统、方法及介质

技术领域

本发明属于加密技术领域,尤其涉及一种基于组合混沌加密算法的集成电路系统、方法及介质。

背景技术

混沌系统具有行为不确定性、初值敏感性、不可复制性、不可重复性等特点,天生适合应用于加密系统中;而按照动力学系统的性质,混沌可分为四类,分别是时间混沌、空间混沌、时空混沌和功能混沌,在加密领域中,Tent映射和Logistic映射被广泛应用于伪随机数生成和密码学算法中,这两种映射的混沌特性和非线性性质使它们成为保护敏感信息的关键工具,因此,基于Tent映射与Logistic映射组成的混沌系统加密方案,能够打破混沌序列的周期性,介入Logistic系统的迭代,改变加密系统的轨迹,从而在计算量相等的情况下,显著提高加密系统生成序列的随机性,增强加密系统的加密性能。

而混沌系统的硬件资源消耗与所需的实现精度有关,在更高的精度下,硬件实现需要更多的计算单元和数据存储空间,从而理论上增加了硬件复杂度;同时,由于浮点系统需要更多的计算单元和更复杂的体系结构,在数据位相同的情况下,其硬件复杂度高于定点系统。在FPGA中,测试单个混沌Logistic算法在所提出的实现精度下所需的硬件资源,结果如下:与32位定点中的Slice数量相比,24位定点和16位定点中的Slice数量分别减少了36.59%和63.78%,这表明降低精度可以有效地减少硬件资源的使用;而单浮点与32位定点具有相同的数据位宽,但Slice数是32位定点的1.07倍,这证明浮点系统比定点系统消耗更多的硬件资源,此外,使用双浮点类型的硬件实现将导致更高的资源消耗。因此,在设计加密方案时,需要实现根据加密等级要求动态调整混沌系统精度,以此节省更多功耗。

发明内容

本发明所解决的技术问题在于提供一种基于组合混沌加密算法的集成电路系统、方法及介质,以实现根据加密等级要求动态调整混沌系统精度,达到节省更多功耗的目的。

本发明提供的基础方案:一种基于组合混沌加密算法的集成电路系统,包括:

串口处理模块,用于与外部串口连接,接收外部串口的输入数据,并将输入数据发送给加密系统;

加密系统,用于接收串口处理模块传输的输入数据,并基于时钟控制电路,对输入数据进行数据提取后,传输至基于Tent映射与Logistic映射构建的随机序列生成器中生成密钥,并将密钥与待加密明文数据进行逐位异或操作生成加密数据;

所述时钟控制电路中,包括三个多路复用器和对应连接三个寄存器,所述三个多路复用器用于根据不同电平信号将低数据位设置为0,并根据预设规则进行翻转速率降低控制,所述三个寄存器用于在翻转速率降低控制后输出对应的输出信号。

进一步,所述三个多路复用器为第一多路复用器、第二多路复用器和第三多路复用器,所述第一多路复用器的输入位为16位,所述第二多路复用器和第三多路复用器的输入均为8位;

所述三个寄存器为分别与第一多路复用器连接的第一寄存器,与第二多路复用器连接的第二寄存器,与第三多路复用器连接的第三寄存器。

进一步,所述根据不同电平信号将低数据位设置为0,并根据预设规则进行翻转速率降低控制具体为:

当第一多路复用器的控制信号为高电平,第二多路复用器和第三多路复用器的控制信号为低电平时,第二寄存器和第三寄存器禁用,第一寄存器启用,并输出16位数据;

当第一多路复用器和第二多路复用器的控制信号为高电平,第三多路复用器的控制信号为低电平,则第三寄存器禁用,第一寄存器和第二寄存器启用,并输出24位数据;

当第一多路复用器、第二多路复用器和第三多路复用器的控制信号均为高电平时,则第一寄存器、第二寄存器和第三寄存器启用,并输出32位数据。

进一步,所述加密系统包括参数提取模块、数据控制模块、随机序列生成模块以及异或处理模块,其中:

参数提取模块,基于时钟控制电路,在接收输入数据后提取输入参数、精度选择、明文信息和输入有效位,并将提取的数据传输至数据控制模块;

数据控制模块,用于接收参数提取模块提取的数据,将精度选择生成控制指令,将明文信息生成二进制明文序列,并根据加密需求将输入参数生成对应的初始因子,将控制指令和初始因子传输至随机序列生成模块,将二进制明文序列传输至异或处理模块;

随机序列生成模块,基于Tent映射与Logistic映射构建随机序列生成器,在接收控制命令和初始因子后生成对应的密钥,并将密钥传递至数据控制模块;

所述数据控制模块还用于将密钥、明文信息和输入有效位传输至异或处理模块;

所述异或处理模块用于根据密钥和输入有效位生成二进制随机序列,并将二进制明文序列和二进制随机序列进行逐位异或运算,生成加密数据。

一种基于组合混沌加密算法的加密方法,应用于上述的一种基于组合混沌加密算法的集成电路系统,包括:

S1:将待加密的明文数据转换为二进制明文序列;

S2:根据加密等级选择对应的量化精度和参数;

S3:将量化精度和参数输入至随机序列生成器中,生成组合混沌加密序列;

S4:根据通过预设的阈值判断公式对组合混沌加密序列的阈值进行判断,生成二进制加密序列;

S5:将二进制加密序列与二进制明文序列进行逐位异或运算,生成二进制密文序列。

进一步,所述S2中参数包括Tent映射的初始值和结构参数,以及Logistic映射的初始值和结构参数,所述Tent映射的初始值为x∈(0,1),结构参数为μ∈(3.569,4);所述Logistic映射的初始值为y∈(0,1),结构参数为α∈(0.4,0.5)。

进一步,所述S3包括:

S3-1:构建基于Tent映射与Logistic映射的随机序列生成器,并根据量化精度和参数设置随机序列生成器的初始条件;

S3-2:通过Tent映射迭代51次,迭代的同时进行向下取整,舍弃前50次的值,取第51次的值作为Logistic映射迭代的初始值进行第一轮的预设次数迭代,生成混沌序列;

S3-3:当第一轮迭代之后,再进行一次Tent映射后得到第52次Tent映射结果,并将其作为Logistic迭代的初始值进行下一轮预设次数迭代,再生成新的混沌序列;

S3-4:根据二进制明文序列的长度设置随机序列生成的循环次数,并在循环次数结束后生成组合混沌加密序列。

进一步,所述S4中预设的阈值判断公式为:

其中,x

所述S5中逐位异或操作的计算公式为:

其中,I

一种电子设备,包括处理器和存储器,所述存储器中存储程序或指令,所述处理器通过调用所述存储器存储的程序或指令,执行如上所述的一种基于组合混沌加密算法的加密方法。

一种计算机可读存储介质,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如上所述的一种基于组合混沌加密算法的加密方法。

本发明的原理及优点在于:本申请的一种基于混合混沌加密算法的集成电路系统以及加密方法,通过串口处理模块接收外部输入数据,并将数据发送给加密系统,加密系统中的参数提取模块负责接收与传输信息,然后通过数据控制模块判断是否加密,若得到加密请求,随机序列生成模块则接收指令和数据生成密钥,并让异或处理模块对明文信息进行加密操作,其中,在加密系统的运行过程中,通过时钟控制电路根据精度的选择,将低数据位设置为0,实现在精度选择的同时,通过降低翻转速率来降低系统的功耗以及减少控制电路的启用,实现集成电路系统的整体功耗相抵;此外,本申请的组合混沌加密算法的使用,能够有效提高数据的随机性,提高数据安全保护问题。因此,本申请的优点在于,实现根据加密等级要求动态调整混沌系统精度,有效解决了加密领域在低功耗、低算力条件下的数据安全保护问题。

附图说明

图1为本发明实施例一的集成电路系统的功能框图;

图2为本发明实施例一的集成电路系统整体架构图;

图3为本发明实施例一的时序逻辑图;

图4为本发明实施例一的门控时钟结构示意图;

图5为本发明实施例一的加密方法的流程框图;

图6为本发明实施例二的电路组合逻辑图;

图7为本发明实施例中的电子设备功能框图。

具体实施方式

下面通过具体实施方式进一步详细说明:

说明书附图中的标记包括:电子设备400、处理器401、存储器402、输入装置403、输出装置404。

实施例基本如附图1所示:一种基于组合混沌加密算法的集成电路系统,包括串口处理模块和加密系统,其中,串口处理模块用于与外部串口连接,接收外部串口的输入数据,并将输入数据发送给加密系统;

如图2所示,加密系统中,用于接收串口处理模块传输的输入数据,并基于时钟控制电路,对输入数据进行数据提取后,传输至基于Tent映射与Logistic映射构建的随机序列生成器中生成密钥,并将密钥与待加密明文数据进行逐位异或操作生成加密数据;具体的,加密系统中包括参数提取模块、数据控制模块、随机序列生成模块以及异或处理模块,具体的:

参数提取模块,基于时钟控制电路,在接收输入数据后提取输入参数、精度选择、明文信息和输入有效位,并将提取的数据传输至数据控制模块;

数据控制模块,用于接收参数提取模块提取的数据,将精度选择生成控制指令,将明文信息生成二进制明文序列,并根据加密需求将输入参数生成对应的初始因子,将控制指令和初始因子传输至随机序列生成模块,将二进制明文序列传输至异或处理模块;

随机序列生成模块,基于Tent映射与Logistic映射构建随机序列生成器,在接收控制命令和初始因子后生成对应的密钥,并将密钥传递至数据控制模块;

所述数据控制模块还用于将密钥、明文信息和输入有效位传输至异或处理模块;

所述异或处理模块用于根据密钥和输入有效位生成二进制随机序列,并将二进制明文序列和二进制随机序列进行逐位异或运算,生成加密数据。

在本实施例中,参数提取模块将串口处理模块传输的数据进行提取出输入参数、精度选择、明文信息和输入有效位,再传输至数据控制模块中,能够有效确保输入的稳定性;在数据控制模块中,在接收到来自参数提取模块的信息后,判断是否需要进行加密,随后选择将参数提取模块提取的精度选择作为控制命令,将明文信息生成二进制明文序列等待加密,将输入参数生成随机序列生成器的初始因子,最后全部传输至随机序列生成模块中,由随机序列生成模块生成用于加密的密钥,随机生成模块由两个子模块组成,分别是Logistic Core”与“Tent Core”,对应Logistic映射与Tent映射,随后数据控制模块再接收随机生成模块返回的密钥,传输至异或处理模块中将密钥生成二进制随机序列,与二进制明文序列进行逐位异或操作,生成最终的加密数据。

在上述的整个处理过程中,时钟控制电路如图3所示,包括第一多路复用器、第二多路复用器和第三多路复用器,以及分别与第一多路复用器连接的第一寄存器,与第二多路复用器连接的第二寄存器,与第三多路复用器连接的第三寄存器,如图3所示,以en1作为第一多路复用器的精度选择的控制信号,以en2作为第二多路复用器的精度选择的控制信号,以en3作为第三多路复用器的精度选择的控制信号,图3中的In和Out分别是输入信号和输出信号,Gclk1、Gclk2和Gclk3分别是第一寄存器、第二寄存器和第三寄存器对应的门控时钟,在本实施例中,精度选择分别为16位、24位和32位,在上述的电路时序逻辑处理过程为:

当第一多路复用器的控制信号为高电平,第二多路复用器和第三多路复用器的控制信号为低电平时,第二寄存器和第三寄存器禁用,第一寄存器启用,并输出16位数据;具体过程为:

当en1为高电平,en2和en3为低电平时,第一寄存器被启用,因此,第一寄存器输出“Out”高16位可以接受输入端口“In”高16比特数据。第二寄存器和第三寄存器的路径电路被禁用,这使得第二寄存器和第三寄存器的低8位保持为0,因此,在电路运行中只能翻转16位数据,实现了16位定点类型的时序逻辑处理。

当第一多路复用器和第二多路复用器的控制信号为高电平,第三多路复用器的控制信号为低电平,则第三寄存器禁用,第一寄存器和第二寄存器启用,并输出24位数据;具体过程为:

当en1和en2为高电平,以及en3为低电平时,第一寄存器和第二寄存器的路径电路被启用。因此,“Out”的高24位可以接收“In”高24位数据。第三寄存器的路径电路被禁用,这使得第三寄存器的低8位保持为0,结果,在电路操作中,只有24位的数据可以被切换,这对应24位定点的时序逻辑处理。

当第一多路复用器、第二多路复用器和第三多路复用器的控制信号均为高电平时,则第一寄存器、第二寄存器和第三寄存器启用,并输出32位数据;具体过程为:

当en1、en2和en3均为高电平时,三条路径的电路被启用,因此“Out”的所有位都可以接收“In”数据。因此,在电路工作中可以反转32位数据,实现32位定点的时序逻辑处理。

进一步的,本申请展示了门控时钟的电路结构,如图4所示,电路的部分功耗来自于时钟翻转,因此可以通过减少时钟的切换活动来减少功耗开销;当电路运行时,如果某些逻辑门不需要工作,则采用时钟门控技术暂时切断这些门的时钟信号;图4中en是时钟控制信号,clk是输入时钟,门控时钟单元分为两种类型,基于锁存器和不基于锁存器,基于锁存器的门控时钟单元避免能够避免毛刺的影响,因此,本申请集成电路设计使用了基于锁存器的门控时钟单元,通过锁存器和与门将clk转换为门控时钟Gclk。

因此,本申请设计的用于加密的集成电路,其硬件架构通过降低翻转速率和减少时钟门控来降低整体功耗,有效地解决了物联网加密领域在低功耗、低算力条件下的数据安全保护问题,为填补这一领域上专用集成电路的空白做出贡献。

如图5所示,在本实施例的另一实施例中,还包括一种基于组合混沌加密算法的加密方法,应用于上述的一种基于组合混沌加密算法的集成电路系统,包括:

S1:将待加密的明文数据转换为二进制明文序列;

S2:根据加密等级选择对应的量化精度和参数;所述参数包括Tent映射的初始值和结构参数,以及Logistic映射的初始值和结构参数,所述Tent映射的初始值为x∈(0,1),结构参数为μ∈(3.569,4);所述Logistic映射的初始值为y∈(0,1),结构参数为α∈(0.4,0.5),α不等于0.5,能确保系统能处于混沌状态;

S3:将量化精度和参数输入至随机序列生成器中,生成组合混沌加密序列;S3包括:

S3-1:构建基于Tent映射与Logistic映射的随机序列生成器,并根据量化精度和参数设置随机序列生成器的初始条件;

S3-2:通过Tent映射迭代51次,迭代的同时进行向下取整,舍弃前50次的值,取第51次的值作为Logistic映射迭代的初始值进行第一轮的预设次数迭代,生成混沌序列;

S3-3:当第一轮迭代之后,再进行一次Tent映射后得到第52次Tent映射结果,并将其作为Logistic迭代的初始值进行下一轮预设次数迭代,再生成新的混沌序列;

S3-4:根据二进制明文序列的长度设置随机序列生成的循环次数,并在循环次数结束后生成组合混沌加密序列。

在本实施例中,由于混沌系统对初始值很敏感,初始值微小的变化可以显著地影响序列生成,因此该算法通过改变Logistic映射初始值的方式来扰乱序列生成规则,极大地提高了轨迹的不可预测性

S4:根据通过预设的阈值判断公式对组合混沌加密序列的阈值进行判断,生成二进制加密序列;预设的阈值判断公式为:

其中,x

S5:将二进制加密序列与二进制明文序列进行逐位异或运算,生成二进制密文序列;逐位异或操作的计算公式为:

其中,I

实施例二:

实施例二中,公开了本申请集成电路系统的组合逻辑电路,具体的,如图6所示,“Simple operation”模块是指简单计算模块,用于执行消耗资源少的运算,例如反转和移位;“Supplement”模块是指扩位模块,用于将输入数据的位宽扩展到32位;“Complexoperation”模块是指复杂计算模块,用于执行高资源成本的运算,例如乘法和除法;端口“Precision”是多路复用器的控制信号,用于控制精度选择,取值分别为2’b00、2’b01和2’b10;此外,图6中的三条分支电路路径分别表示对应的16位、24位和32位精度的路径电路,输入端口“Data”的输入数据经过计算后分别得到位宽为16、24或32的数据,在前两种情况下,分别通过在数据末端附加16和8个零位,使数据位宽达到32位。然后,数据通过图6上方的第一个多路复用器后完成复杂的计算,最后,通过图6下方的第二个多路复用器输出最终的结果。

此外,还包括一种电子设备,如图7所示,电子设备400包括一个或多个处理器401和存储器402。

处理器401可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备400中的其他组件以执行期望的功能。

存储器402可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器401可以运行所述程序指令,以实现上文所说明的本发明任意实施例的基于脑电信号的双混沌加密方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如初始外参、阈值等各种内容。

在一个示例中,电子设备400还可以包括:输入装置403和输出装置404,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。该输入装置403可以包括例如键盘、鼠标等等。该输出装置404可以向外部输出各种信息,包括预警提示信息、制动力度等。该输出装置404可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。

当然,为了简化,图7中仅示出了该电子设备400中与本发明有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备400还可以包括任何其他适当的组件。

除了上述方法和设备以外,本发明的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本发明任意实施例所提供的基于脑电信号的双混沌加密方法的步骤。

所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本发明实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。

此外,本发明的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本发明任意实施例所提供的基于脑电信号的双混沌加密方法的步骤。

所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

以上的仅是本发明的实施例,方案中公知的具体结构及特性等常识在此未作过多描述,所属领域普通技术人员知晓申请日或者优先权日之前发明所属技术领域所有的普通技术知识,能够获知该领域中所有的现有技术,并且具有应用该日期之前常规实验手段的能力,所属领域普通技术人员可以在本申请给出的启示下,结合自身能力完善并实施本方案,一些典型的公知结构或者公知方法不应当成为所属领域普通技术人员实施本申请的障碍。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。本申请要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。

相关技术
  • 基于混沌加密算法的文件加密方法、电子设备及存储介质
  • 基于混沌加密算法的文件加密方法、电子设备及存储介质
技术分类

06120116488079