一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据加密及签名方法、装置、计算机设备和存储介质与流程

2022-03-26 14:25:50 来源:中国专利 TAG:


1.本技术涉及加密技术领域,特别是涉及一种数据加密及签名方法、装置、计算机设备和存储介质。


背景技术:

2.物联网、云计算、大数据飞速发展,用户的数据安全和隐私保护越来越重要,因此数据安全加密算法也相继被提,比如des、aes等对称性加密算法,rsa、ecc等非对称性加密算法,对称性加密算法和非对称性加密算法组合构成的混合加密体制等。
3.混沌信号具有非周期性连续宽带频谱,类似噪声的特性,具有较好的隐蔽性。另外,混沌信号对初始条件的高度敏感(以正的lyapunov指数为特征),即使是两个完全相同的混沌系统从几乎相同的初始条件开始演化,二者的轨道也会很快变得互不相关,从而使得混沌信号具有长期不可预测性和抗截获能力。具有多个正的lyapunov指数的超混沌系统,有着更为复杂的运动轨迹,这使得混沌信号具有很高的复杂度。同时混沌系统本身又是确定性的,由非线性系统的方程、参数和初始条件所完全决定,因此又使得混沌信号易于产生和复制。混沌信号的隐蔽性、不可预测性、高复杂度和易于实现等特性都特别适用于保密通信。所以超混沌系统用于加密的应用方案也逐渐增多。
4.sm4密码算法是密码算法中的一个分组算法,其算法设计简沽,结构有特点,安全高效,数据分组长度为128比特,密钥长度为128比特。加密算法与密钥扩展算法均采取32轮迭代结构。sm4密码算法以字节(8位)和字节(32位)作为单位进行数据处理。sm4密码算法是对合运算,因此解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。
5.然后,目前技术中公开的数据加密及签名方法都是采用已经设定后的加密算法,灵活性差,难以适应用户的需求。


技术实现要素:

6.基于此,有必要针对上述技术问题,提供一种数据加密及签名方法、装置、计算机设备和存储介质。
7.一种数据加密及签名方法,所述方法包括:
8.设定数据加密体系为分组加密算法以及公钥加密算法组合构成的混合加密体系;其中,所述分组加密算法为根据用户需求选择的超混沌加密算法或者sm4加密算法;所述超混沌加密算法采用第一超混沌系统和第二超混沌系统的初始值作为密钥参数,对第一超混沌系统和第二超混沌系统执行离散化处理获取混沌序列,对第一超混沌系统和第二超混沌系统的混沌序列进行混淆处理;所述sm4加密算法基于加解密算法和密钥扩展算法实现,分别采用32轮非线性迭代结构;
9.获取明文数据,并对所述明文数据进行分片处理,通过所述分组加密算法对分片处理后的明文数据进行一次加密处理得到初级加密数据,通过所述公钥加密算法对所述初
级加密数据进行二次加密得到分片密文数据;
10.对所述分片密文数据进行排序和合并操作,得到密文数据;
11.对所述密文数据执行数字签名操作。
12.一种数据加密及签名装置,包括:
13.体系设定模块,用于设定数据加密体系为分组加密算法以及公钥加密算法组合构成的混合加密体系;其中,所述分组加密算法为根据用户需求选择的超混沌加密算法或者sm4加密算法;所述超混沌加密算法采用第一超混沌系统和第二超混沌系统的初始值作为密钥参数,对第一超混沌系统和第二超混沌系统执行离散化处理获取混沌序列,对第一超混沌系统和第二超混沌系统的混沌序列进行混淆处理;所述sm4加密算法基于加解密算法和密钥扩展算法实现,分别采用32轮非线性迭代结构;
14.明文处理模块,用于获取明文数据,并对所述明文数据进行分片处理,通过所述分组加密算法对分片处理后的明文数据进行一次加密处理得到初级加密数据,通过所述公钥加密算法对所述初级加密数据进行二次加密得到分片密文数据;
15.密文处理模块,用于对所述分片密文数据进行排序和合并操作,得到密文数据;
16.密文签名模块,用于对所述密文数据执行数字签名操作。
17.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
18.设定数据加密体系为分组加密算法以及公钥加密算法组合构成的混合加密体系;其中,所述分组加密算法为根据用户需求选择的超混沌加密算法或者sm4加密算法;所述超混沌加密算法采用第一超混沌系统和第二超混沌系统的初始值作为密钥参数,对第一超混沌系统和第二超混沌系统执行离散化处理获取混沌序列,对第一超混沌系统和第二超混沌系统的混沌序列进行混淆处理;所述sm4加密算法基于加解密算法和密钥扩展算法实现,分别采用32轮非线性迭代结构;获取明文数据,并对所述明文数据进行分片处理,通过所述分组加密算法对分片处理后的明文数据进行一次加密处理得到初级加密数据,通过所述公钥加密算法对所述初级加密数据进行二次加密得到分片密文数据;对所述分片密文数据进行排序和合并操作,得到密文数据;对所述密文数据执行数字签名操作。
19.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
20.设定数据加密体系为分组加密算法以及公钥加密算法组合构成的混合加密体系;其中,所述分组加密算法为根据用户需求选择的超混沌加密算法或者sm4加密算法;所述超混沌加密算法采用第一超混沌系统和第二超混沌系统的初始值作为密钥参数,对第一超混沌系统和第二超混沌系统执行离散化处理获取混沌序列,对第一超混沌系统和第二超混沌系统的混沌序列进行混淆处理;所述sm4加密算法基于加解密算法和密钥扩展算法实现,分别采用32轮非线性迭代结构;获取明文数据,并对所述明文数据进行分片处理,通过所述分组加密算法对分片处理后的明文数据进行一次加密处理得到初级加密数据,通过所述公钥加密算法对所述初级加密数据进行二次加密得到分片密文数据;对所述分片密文数据进行排序和合并操作,得到密文数据;对所述密文数据执行数字签名操作。
21.上述数据加密及签名方法、装置、计算机设备和存储介质,设定数据加密体系为分组加密算法以及公钥加密算法组合构成的混合加密体系,该分组加密算法为根据用户需求
选择的超混沌加密算法或者sm4加密算法,获取明文数据并进行分片处理,通过分组加密算法对分片处理后的明文数据进行一次加密处理得到初级加密数据,通过公钥加密算法对初级加密数据进行二次加密得到分片密文数据,对分片密文数据进行排序和合并操作得到密文数据,最后对该密文数据执行数字签名操作。该方案可根据用户的需求选择超混沌加密算法或sm4加密算法,提高了数据加密处理的灵活性,解决了传统技术都是采用已经设定后的加密算法而导致的无法根据用户需求选择对应的加密算法,难以适应用户的准确需求的问题。
附图说明
22.图1为一个实施例中数据加密及签名方法的流程示意图;
23.图2为一个实施例中对密文数据执行数字签名操作的流程示意图;
24.图3为一个实施例中数据加密及签名装置的结构框图;
25.图4为一个实施例中计算机设备的内部结构图。
具体实施方式
26.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
27.在一个实施例中,提供了一种数据加密及签名方法,该方法可以由终端、服务器等计算机设备执行,该终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,该服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现,如图1所示,该数据加密及签名方法,可以包括如下步骤:
28.步骤s101,设定数据加密体系为分组加密算法以及公钥加密算法组合构成的混合加密体系。
29.其中,分组加密算法为根据用户需求选择的超混沌加密算法或者sm4加密算法,超混沌加密算法采用第一超混沌系统和第二超混沌系统的初始值作为密钥参数,对第一超混沌系统和第二超混沌系统执行离散化处理获取混沌序列,对第一超混沌系统和第二超混沌系统的混沌序列进行混淆处理;sm4加密算法基于加解密算法和密钥扩展算法实现,分别采用32轮非线性迭代结构。
30.步骤s102,获取明文数据,并对明文数据进行分片处理,通过分组加密算法对分片处理后的明文数据进行一次加密处理得到初级加密数据,通过公钥加密算法对初级加密数据进行二次加密得到分片密文数据。
31.步骤s103,对分片密文数据进行排序和合并操作,得到密文数据。
32.步骤s104,对密文数据执行数字签名操作。
33.在一些实施例中,第一超混沌系统和第二超混沌系统采用不同的混沌模型;步骤s101中的设定数据加密体系为分组加密算法以及公钥加密算法组合构成的混合加密体系,包括:
34.记录各个混沌模型对应的密钥长度、加密时间、密钥统计特性、密钥敏感性,记录sm4加密算法的密钥长度、加密时间、扩散性和安全性,记录超混沌加密算法或者sm4加密算
法与公钥加密算法组合构成的混合加密体系的密钥长度、加密时间、密钥统计特性、密钥敏感性、扩散性和安全性,以及根据用户设定的条件选择符合该条件的混沌模型得到超混沌加密算法。
35.在一些实施例中,公钥加密算法可以为rsa加密算法或者ecc加密算法或者sm2加密算法。
36.在一些实施例中,步骤s102中的明文数据可采用分布式存储方式存储;步骤s102中的通过分组加密算法对分片处理后的明文数据进行一次加密处理得到初级加密数据,可以包括:通过超混沌加密算法对分片处理后的明文数据进行并行超混沌加密处理得到初级加密数据。
37.在其中一些实施例中,步骤s104中的对密文数据执行数字签名操作,可以包括:采用椭圆曲线算法对密文数据执行数字签名操作。
38.具体的,如图2所示,采用椭圆曲线算法对密文数据执行数字签名操作的具体步骤可以包括:
39.步骤s201,判断数字签名为单方签名或多方联合签名;
40.步骤s202,若数字签名为单方签名,则采用椭圆曲线算法产生密钥对,对密文数据执行数字签名操作
41.步骤s203,若数字签名为多方联合签名,则基于多个互相独立的子私钥按照设定顺序对密文数据执行数字签名操作。
42.在另外一些实施例中,步骤s104中的对密文数据执行数字签名操作,可以包括:基于散列消息认证码对所述密文数据执行数字签名操作,或者,基于公钥加密算法对所述密文数据执行数字签名操作。
43.下面结合具体应用示例对本技术提供的数据加密及签名方法进行说明:
44.步骤s1,设定数据加密体系为分组加密算法以及公钥加密算法组合构成的混合加密体系;
45.其中,用户需要密钥长度大于372bit,则分组加密算法为根据用户需求选择的超混沌加密算法,其中超混沌加密算法采用第一超混沌系统和第二超混沌系统的初始值作为密钥参数,然后对第一超混沌系统和第二超混沌系统执行离散化处理获取混沌序列,对第一超混沌系统和第二超混沌系统的混沌序列进行混淆处理。
46.具体的,第一超混沌系统的数据模型为:
[0047][0048]
其中,x1、y1、z1、u1为状态变量,a1、b1为第一超混沌系统的参数,当参数满足(a1,b1)
=(10,43)时,获得四个李氏指数,σ1=4.737,σ2=0.388,σ3=0,σ4=-42.118。计算相应的lyapunov维数d
l
=3 (σ1 σ2)/|σ4|=3.121。
[0049]
第二超混沌系统的数据模型为:
[0050][0051]
其中,x2、y2、z2、u2为状态变量,a2、b2、c2、d2为第二超混沌系统的参数,当参数符合(a2,b2,c2、d2)=(10,4,1,0.5)时,获得四个李氏指数,σ1=0.145,σ2=0.101,σ3=0,σ4=-5.247,系统处于超混沌状态。lyapunov维数d
l
=3.047。
[0052]
保持第一超混沌系统和第二超混沌系统的参数不变,处于超混沌态,选取二者共计8个初始值作为密钥参数,从而使得算法具有足够大的密钥空间。采用高精度单步算法对连续时间超混沌系统进行离散化处理,然后对混沌序列进行小数点移位、取模等运算,得到混沌序列。对混沌序列进行异或操作,实现对第一超混沌系统和第二超混沌系统的混沌序列进行混淆处理,得到四组超混沌序列。
[0053]
步骤s2,获取明文数据,并对明文数据进行分片处理,通过分组加密算法对分片处理后的明文数据进行一次加密处理得到初级加密数据,通过公钥加密算法对初级加密数据进行二次加密得到分片密文数据;
[0054]
具体的,可将明文数据按照128mb大小进行分片处理,基于四组超混沌序列并行地对分片后的明文数据进行超混沌分组加密运算,得到初级加密数据。公钥加密算法可采用rsa加密算法。初级加密数据的分组长度小于log2n,由此根据初级加密数据产生rsa加密算法的密钥,公开密钥(e,n),秘密密钥(d,n),对初级加密数据进行加密运算,得到分片密文数据。rsa的密钥长度也较长。
[0055]
步骤s3,对分片密文数据进行排序和合并操作,得到密文数据;
[0056]
步骤s4,对密文数据执行数字签名操作,将数字签名设置在密文数据后端。
[0057]
本技术提供的数据加密及签名方法,设定数据加密体系为分组加密算法以及公钥加密算法组合构成的混合加密体系,该分组加密算法为根据用户需求选择的超混沌加密算法或者sm4加密算法,获取明文数据并进行分片处理,通过分组加密算法对分片处理后的明文数据进行一次加密处理得到初级加密数据,通过公钥加密算法对初级加密数据进行二次加密得到分片密文数据,对分片密文数据进行排序和合并操作得到密文数据,最后对该密文数据执行数字签名操作。该方案可根据用户的需求选择超混沌加密算法或sm4加密算法,提高了数据加密处理的灵活性,解决了传统技术都是采用已经设定后的加密算法而导致的无法根据用户需求选择对应的加密算法,难以适应用户的准确需求的问题。
[0058]
应该理解的是,虽然如上流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0059]
在一个实施例中,如图3所示,提供了一种数据加密及签名装置,该装置300可以包括:
[0060]
体系设定模块301,用于设定数据加密体系为分组加密算法以及公钥加密算法组合构成的混合加密体系;其中,所述分组加密算法为根据用户需求选择的超混沌加密算法或者sm4加密算法;所述超混沌加密算法采用第一超混沌系统和第二超混沌系统的初始值作为密钥参数,对第一超混沌系统和第二超混沌系统执行离散化处理获取混沌序列,对第一超混沌系统和第二超混沌系统的混沌序列进行混淆处理;所述sm4加密算法基于加解密算法和密钥扩展算法实现,分别采用32轮非线性迭代结构;
[0061]
明文处理模块302,用于获取明文数据,并对所述明文数据进行分片处理,通过所述分组加密算法对分片处理后的明文数据进行一次加密处理得到初级加密数据,通过所述公钥加密算法对所述初级加密数据进行二次加密得到分片密文数据;
[0062]
密文处理模块303,用于对所述分片密文数据进行排序和合并操作,得到密文数据;
[0063]
密文签名模块304,用于对所述密文数据执行数字签名操作。
[0064]
在一个实施例中,所述第一超混沌系统和第二超混沌系统采用不同的混沌模型;体系设定模块301,用于记录各个混沌模型对应的密钥长度、加密时间、密钥统计特性、密钥敏感性,记录sm4加密算法的密钥长度、加密时间、扩散性和安全性,记录超混沌加密算法或者sm4加密算法与公钥加密算法组合构成的混合加密体系的密钥长度、加密时间、密钥统计特性、密钥敏感性、扩散性和安全性,以及根据用户设定的条件选择符合所述条件的混沌模型得到超混沌加密算法。
[0065]
在一个实施例中,所述公钥加密算法为rsa加密算法或者ecc加密算法或者sm2加密算法。
[0066]
在一个实施例中,所述明文数据采用分布式存储方式;明文处理模块302,用于通过所述超混沌加密算法对分片处理后的明文数据进行并行超混沌加密处理得到所述初级加密数据。
[0067]
在一个实施例中,密文签名模块304,用于采用椭圆曲线算法对所述密文数据执行数字签名操作。
[0068]
在一个实施例中,密文签名模块304,用于判断数字签名为单方签名或多方联合签名;若所述数字签名为单方签名,则采用椭圆曲线算法产生密钥对,对所述密文数据执行数字签名操作;若所述数字签名为多方联合签名,则基于多个互相独立的子私钥按照设定顺序对所述密文数据执行数字签名操作。
[0069]
在一个实施例中,密文签名模块304,用于基于散列消息认证码对所述密文数据执行数字签名操作,或者,基于公钥加密算法对所述密文数据执行数字签名操作。
[0070]
关于数据加密及签名装置的具体限定可以参见上文中对于数据加密及签名方法的限定,在此不再赘述。上述数据加密及签名装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0071]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储如明文数据、初级加密数据、分片密文数据、密文数据等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据加密及签名方法。
[0072]
本领域技术人员可以理解,图4中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0073]
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0074]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0075]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic randomaccess memory,dram)等。
[0076]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0077]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献