一种实验室数据加密方法、装置、终端及介质与流程

文档序号:32049875发布日期:2022-11-03 08:34阅读:48来源:国知局
一种实验室数据加密方法、装置、终端及介质与流程

1.本发明涉及数据加密的技术领域,尤其涉及一种实验室数据加密方法、装置、终端及介质。


背景技术:

2.随着互联网的迅速发展,计算机网络在各高校和科研机构的实验室建设中已成为基础设施,几乎所有的实验室都采用计算机收集、加工和存储实验室数据,但随之而来的数据安全问题日益突出。
3.目前实验室数据一般采用的安全加密方法有对称加密和非对称加密,加密方式较为单一,容易被破解,导致数据的正确性和安全性无法的得到保证。


技术实现要素:

4.本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本技术的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
5.鉴于上述现有存在的问题,提出了本发明。
6.因此,本发明提供了一种实验室数据加密方法、装置、终端及介质,能够解决现有加密方法中加密的数据容易被破解,安全性和正确性低的问题。
7.为解决上述技术问题,本发明提供如下技术方案,包括:获取待加密的实验室数据,将所述实验室数据划分为n个大小相同的数据块,并对所述数据块进行加密;将第一密钥的字节长度与数据块加密结果的字节长度进行哈希运算,其中,根据第一参数生成所述第一密钥;通过第二密钥对数据块加密结果和哈希运算结果进行加密,获得密文;其中,根据所述哈希运算结果和随机数生成所述第二密钥;获取第三密钥,利用所述第三密钥对所述密文进行加密,得到目标密文;其中,所述第一参数由随机序列、数据块编号和时间戳组合生成,所述时间戳为获取待加密的实验室数据的时间。
8.作为本发明所述的实验室数据加密方法的一种优选方案,其中:对所述数据块进行加密包括:若不为整数,则将n个数据块依此放入1n矩阵,分别与1n密钥阵进行异或运算;若为整数,将n个数据块从左到右或从上到下依次放入矩阵,与密钥阵进行异或运算;将异或运算结果进行置换,将所有置换结果循环左移两位,将循环左移结果与轮常量进行异或运算,完成加密;其中,n=待加密的实验室数据的字节长度/32;密钥阵包括n个随机密钥,随机密钥由密钥导出函数生成。
9.作为本发明所述的实验室数据加密方法的一种优选方案,其中:第一参数包括:当随机序列sn与数据块编号dn进行组合时,结合哈希函数生成第一密钥k1,即第一参数x:x=hash(dn)sn对随机序列sn和时间戳t进行组合运算,结合哈希函数生成第一参数x:x= hash(t)sn式中,hash( )为哈希函数。
10.作为本发明所述的实验室数据加密方法的一种优选方案,其中:第一参数包括:利用随机序列sn与数据块编号dn、时间戳t进行组合运算,生成第一密钥,即第一参数x:x= [hash(t)dn+dn]sn。
[0011]
作为本发明所述的实验室数据加密方法的一种优选方案,其中:哈希运算包括:通过下式,将数据块加密结果的字节长度lc与第一密钥的字节长度l
x
进行哈希运算:hj=(h(c1)+dj)%(lc+l
x
)式中,hj为哈希运算结果,h(c1)为数据块加密结果c1的哈希地址,dj为伪随机数序列,j=1,2
……
n。
[0012]
作为本发明所述的实验室数据加密方法的一种优选方案,其中:密文包括:根据哈希运算结果和随机数生成第二密钥:k2=(c1*hj+1) mod s通过第二密钥对哈希运算结果进行加密,获得密文c2:c2=rijndael(hj,k2)式中,k2为第二密钥,ssn为随机数;rijndael( )为加密函数。
[0013]
作为本发明所述的实验室数据加密方法的一种优选方案,其中:第三密钥包括:定义中间变量w和序列q[m],m=1,2,

,a,

,b,

,128,为第二密钥的字节长度;若第二密钥的字节长度m大于128,则将第二密钥赋值给中间变量w,根据中间变量w计算第三密钥k3:k3= q[w mod 128]否则,则根据序列q[a]和q[b]计算中间变量w:w=[(q[a]+ q[b]) /2] mod 128根据中间变量w计算第三密钥k3:k3= q[w];本发明还提供了一种终端设备,包括:一个或多个处理器;存储器,与所述处理器耦接,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上任一项所述的实验室数据加密方法。
[0014]
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行实现如上任一项所述的实验室数据加密方法。
[0015]
本发明的有益效果:本发明基于对称加密算法,通过结合哈希算法和自定义密钥,可以对任意的实验室数据进行快速加密,且具有良好的安全性和鲁棒性。
附图说明
[0016]
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用
的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:图1为本发明第一个实施例所述的实验室数据加密方法的流程示意图;图2为本发明第一个实施例所述的生成第一参数的流程示意图;图3为本发明第一个实施例所述的生成第三密钥的流程示意图。
具体实施方式
[0017]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0018]
应当理解,文中所使用的步骤编号仅是为了方便描述,不作为对步骤执行先后顺序的限定。
[0019]
应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0020]
术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0021]
术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0022]
实施例1参照图1,为本发明的第一个实施例,该实施例提供了一种实验室数据加密方法,包括:s1:获取待加密的实验室数据,将实验室数据划分为n个大小相同的数据块,并对数据块进行加密。
[0023]
(1)若不为整数,则将n个数据块依此放入1n矩阵,分别与1n密钥阵进行异或运算;若为整数,将n个数据块从左到右或从上到下依次放入矩阵,与密钥阵进行异或运算。
[0024]
其中需要说明的是,n=待加密的实验室数据的字节长度/32;密钥阵包括n个随机密钥,随机密钥由密钥导出函数(key derivation function,kdf)生成;较佳的是,密钥导出函数使用伪随机函数从秘密值导出一个或多个密钥,kdf可用于将密钥扩展到更长的密钥或获得所需格式的密钥,密钥导出函数通常与非秘密参数一起使用,以从公共秘密值导出一个或多个密钥;通过这种方式,可以防止获得派生密钥的攻击者学习关于输入秘密值或任何其他导出密钥的有用信息,也可以使用kdf来确保派生密钥具有其他期望的属性,例如,在某些特定加密系统中避免“弱密钥”。
[0025]
(2)将异或运算结果进行置换,将所有置换结果循环左移两位,将循环左移结果与轮常量进行异或运算,完成加密。
[0026]
置换异或运算结果:a)设定s盒的空间为gf(256),对于随机数p≡1mod(x^2+1)∈gf(256),求解其逆运算,其中x为异或运算结果;b)将逆运算结果与gf(16)进行仿射变换,获得重排的s盒,即置换结果。
[0027]
其中,轮常量为rcon[n],其部分取值如表1所示。
[0028]
表1:轮常量n12345rcon[n]0100000002000000040000000800000010000000
[0029]
s2:将第一密钥的字节长度与数据块加密结果的字节长度进行哈希运算,其中,根据第一参数生成第一密钥。
[0030]
第一参数由随机序列、数据块编号和时间戳组合生成,时间戳为获取待加密的实验室数据的时间,排列顺序为年月日时分秒,例如,2020年02月09日10时27分32秒的时间戳为20200209102732。
[0031]
参照图2,第一参数具体包括如下三种组合生成方式:(1)当随机序列sn与数据块编号dn进行组合时,结合哈希函数生成第一密钥k1,即第一参数x:x=hash(dn)sn(2)对随机序列sn和时间戳t进行组合运算,结合哈希函数生成第一参数x:x= hash(t)sn式中,hash( )为哈希函数。
[0032]
(3)利用随机序列sn与数据块编号dn、时间戳t进行组合运算,生成第一密钥,即第一参数x:x= [hash(t)dn+dn]sn。
[0033]
较佳的是,本实施例结合随机序列、数据块编号和时间戳生成第一密钥,细化了数据加密的颗粒度,第一密钥的多种生成方式使得数据安全性进一步提升。
[0034]
进一步的,将第一密钥的字节长度与数据块加密结果的字节长度进行哈希运算。
[0035]
通过下式,将数据块加密结果的字节长度lc与第一密钥的字节长度l
x
进行哈希运算:hj=(h(c1)+dj)%(lc+l
x
)式中,hj为哈希运算结果,h(c1)为数据块加密结果c1的哈希地址,dj为伪随机数序列,j=1,2
……
n。
[0036]
较佳的是,结合再散列法构造性能良好的哈希函数,可以减少冲突,其基本思想是:当数据块加密结果c1的哈希地址出现冲突时,以h(c1)为基础,产生另一个哈希地址,如果该哈希地址仍然冲突,再以h(c1)为基础,产生另一个哈希地址,

,直到找出一个不冲突的哈希地址,将相应元素存入其中。
[0037]
s3:通过第二密钥对数据块加密结果和哈希运算结果进行加密,获得密文;其中,
根据哈希运算结果和随机数生成第二密钥。
[0038]
根据哈希运算结果和随机数生成第二密钥:k2=(c1*hj+1) mod s通过第二密钥对哈希运算结果进行加密,获得密文c2:c2=rijndael(hj,k2)式中,k2为第二密钥,ssn为随机数;rijndael( )为加密函数。
[0039]
较佳的是,rijndael是一个反复运算的加密算法,相较于其他的对称加密算法,例如des、3des,rijndael加密算法的运行速度较快,安全性较高,资源消耗较低。
[0040]
s4:获取第三密钥,利用第三密钥对密文进行加密,得到目标密文。
[0041]
参照图3,定义中间变量w和序列q[m],m=1,2,

,a,

,b,

,128,为第二密钥的字节长度,序列q[m]由16~1024位可变长度的密钥组成。
[0042]
(1)若第二密钥的字节长度m大于128,则将第二密钥赋值给中间变量w,根据中间变量w计算第三密钥k3:k3= q[w mod 128](2)否则,则根据序列q[a]和q[b]计算中间变量w:w=[(q[a]+ q[b]) /2] mod 128根据中间变量w计算第三密钥k3:k3= q[w]进一步的,利用第三密钥对密文进行加密,得到目标密文c:c=encrypt(k3,c2)式中,encrypt( )为加密函数。
[0043]
较佳的是,本实施例基于第一密钥和第二密钥生成第三密钥,显著提高加密数据的安全性,且由于生成的密钥随机性,难以通过穷举法进行破解,特别适用于具有高安全性要求的数据加密,同时通过结合对称加密算法,提高了加密的速度,实验结果表明,对于1mb的数据,使用本发明进行加密所需的时间为1.7秒,使用des算法进行加密所需的时间为7.8秒,使用rsa算法进行加密所需的时间为16.1秒,使用ecc算法进行加密所需的时间为39.4秒。
[0044]
实施例2本实施例提供了一种终端设备,包括:一个或多个处理器;存储器,与所述处理器耦接,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的实验室数据加密方法。
[0045]
处理器用于控制该终端设备的整体操作,以完成上述的实验室数据加密方法的全部或部分步骤。存储器用于存储各种类型的数据以支持在该终端设备的操作,这些数据例如可以包括用于在该终端设备上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(static random access memory,简称sram),电可擦除可编程只读存储器(electrically erasable programmable read-only memory,简称eeprom),可擦除可
编程只读存储器(erasable programmable read-only memory,简称eprom),可编程只读存储器(programmable read-only memory,简称prom),只读存储器(read-only memory,简称rom),磁存储器,快闪存储器,磁盘或光盘。
[0046]
终端设备可以被一个或多个应用专用集成电路(application specific 1ntegrated circuit,简称as1c) 、数字信号处理器(digital signal processor,简称dsp) 、数字信号处理设备(digital signal processing device ,简称dspd)、可编程逻辑器件(programmable logic device,简称pld) 、现场可编程门阵列(field programmable gate array ,简称fpga) 、控制器、微控制器、微处理器或其他电子元件实现,用于执行如上述任一项实施例所述的实验室数据加密方法,并达到如上述方法一致的技术效果。
[0047]
实施例3本实施例提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现如上述任一项实施例所述的实验室数据加密方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器,上述程序指令可由终端设备的处理器执行以完成如上述任一项实施例所述的实验室数据加密方法,并达到如上述方法一致的技术效果。
[0048]
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1