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

一种海量数据快速加密方法及系统

文献发布时间:2023-06-19 16:12:48



技术领域

本发明涉及数字信息技术领域,具体涉及一种海量数据快速加密方法及系统。

背景技术

DES算法是一个非常普遍的加密算法,一般情况下该算法由64位的密钥对64位的明文数据块进行加密解密。该算法的优点是加密解密速度快,非常适用于大数据的加密,然而该算法的缺点就是安全性不足,其中64位的密钥只有56位在履行加密职责,其余8位是奇偶校验码,在此情况下,只要穷举2

发明内容

为了解决DES算法的安全性较低的问题,本发明的目的在于提供一种海量数据快速加密方法及系统,所采用的技术方案具体如下:

第一方面,本发明一个实施例提供了一种海量数据快速加密方法包括以下步骤:

获取目标明文序列;

利用DES算法对第一密钥进行处理,得到对目标明文序列加密时各轮加密运算对应的第一子密钥;利用DES算法对第二密钥进行处理,得到对目标明文序列加密时各轮加密运算对应的第二子密钥;

利用DES算法对目标明文序列进行处理,得到目标明文序列对应的第一明文序列和第二明文序列;根据各轮加密运算对应的第一子密钥对第一明文序列进行处理,得到第一目标序列;根据各轮加密运算对应的第二子密钥对第二明文序列进行处理,得到第二目标序列;

根据第一目标序列和第二目标序列得到目标明文序列对应的密文;对第一密钥和第二密钥进行加密,得到第一密钥和第二密钥的密文。

第二方面,本发明另一个实施例提供了一种海量数据快速加密系统,包括存储器和处理器,所述处理器执行所述存储器存储的计算机程序,以实现上述所述的海量数据快速加密方法。

优选的,根据各轮加密运算对应的第一子密钥对第一明文序列进行处理,得到第一目标序列,包括:

对于任一一轮加密运算:对输入到该轮加密运算的第一明文序列进行扩展置换,得到第一初始序列;利用该轮对应的第一子密钥对第一初始序列进行异或操作,得到该轮对应的第一中间序列;利用s盒和p盒分别对第一中间序列进行处理,得到第一序列;将第一序列与输入到该轮加密运算的第二明文序列进行异或操作,得到更新后的第一明文序列;

将最后一轮加密运算得到第一明文序列,作为第一目标序列。

优选的,对于任一一轮加密运算得到更新后的第一明文序列的表达式为:

其中,L

优选的,根据各轮加密运算对应的第二子密钥对各轮对应的第二初始序列进行处理,得到第二目标序列,包括:

对于任一轮加密运算:对输入到该轮加密运算的第二明文列进行扩展置换,第二初始序列;利用该轮对应的第二子密钥对第一初始序列进行异或操作,得到该轮对应的第二中间序列;利用s盒和p盒分别对第二中间序列进行处理,得到第二序列;将第二序列与输入到该轮加密运算的第一明文序列进行异或操作,得到更新后的第二明文序列;

将最后一轮加密运算得到第二明文序列,作为第二目标序列。

优选的,对于任一一轮加密运算得到更新后的第二明文序列的表达式为:

其中,R

优选的,对第一密钥和第二密钥进行加密,得到第一密钥和第二密钥的密文,包括:

将第一密钥转换成矩阵,记为第一矩阵;将第二密钥转换成矩阵,记为第二矩阵,所述第一矩阵和所述第二矩阵为可逆矩阵;

根据第一矩阵和第二矩阵,对第一密钥和第二密钥进行加密,得到第一密文矩阵和第二密文矩阵;所述第一密文矩阵和第二密文矩阵共同最为第一密钥和第二密钥的密文。

优选的,所述对第一密钥和第二密钥进行加密,包括:

计算第一矩阵和第二矩阵的乘积,作为第一密文矩阵;

计算第一矩阵和第二矩阵的和,作为第二密文矩阵。

本发明具有如下有益效果:

本发明利用DES算法对第一密钥和第二密钥进行处理,得到对目标明文序列加密时各轮加密运算对应的第一子密钥和第二子密钥,然后利用DES算法对目标明文序列进行处理,得到目标明文序列对应的第一明文序列和第二明文序列,并根据各轮加密运算对应的第一子密钥和第二子密钥分别对第一明文序列和第二明文序列进行处理,得到第一目标序列和第二目标序列,最后根据第一目标序列和第二目标序列得到目标明文序列对应的密文,并对第一密钥和第二密钥进行加密,得到第一密钥和第二密钥的密文。本发明利用两个密钥对明文进行加密,并再次对密钥进行加密,提高了传统DES算法对明文进行加密的安全性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。

图1为本发明一个实施例所提供的一种海量数据快速加密方法的流程图。

具体实施方式

为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功能效果,以下结合附图及较佳实施例,对依据本发明提出的一种海量数据快速加密方法及系统进行详细说明如下。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。

下面结合附图具体的说明本发明所提供的一种海量数据快速加密方法及系统的具体方案。

一种海量数据快速加密方法实施例:

如图1所示,本实施例的一种海量数据快速加密方法包括以下步骤:

步骤S1,获取目标明文序列。

DES加密算法是一种分组加密算法,它能处理64位的数据;传统的DES加密算法得到密文安全性较低,为了提高DES加密算法得到的密文的安全性,本实施例对DES加密算法作出了改进。

本实施例首先对明文数据数据进行预处理,将明文数据分成不同的块,每一块为64位的数据;本实施例将任一一块明文数据记为目标明文序列,所述目标明文序列为64位;本实施例以目标明文序列为例来对改进后的DES加密算法的加密过程进行说明。

步骤S2,利用DES算法对第一密钥进行处理,得到对目标明文序列加密时各轮加密运算对应的第一子密钥;利用DES算法对第二密钥进行处理,得到对目标明文序列加密时各轮加密运算对应的第二子密钥。

DES算法的密钥长度为64位,在现今的计算机的计算能力下,64位的密钥能够很容易的被攻破;现有的方法通过加长密钥长度来对DES算法进行改进,以增强安全性,比如3DES加密算法,该算法将密钥长度增加到192位,但是由于使用192位的密钥相当于对明文进行了三次64位密钥的加密,极大的增加了计算量。

为了增加传统DES算法加密的安全性,本实施例基于DES算法,增加了一个同样大小的密钥,即64位的密钥,但并不是粗暴的对明文进行二次加密,而是将利用两个不同的密钥共同对明文进行加密,为一次加密,其计算量比二次加密或现有的3DES加密算法的计算量要小很多。

本实施例中对明文进行加密的密钥分别为第一密钥和第二密钥;本实施例中将第一密钥转换为矩阵,记为第一矩阵,将第二密钥转换为矩阵,记为第二矩阵;所述第一矩阵和第二矩阵为8×8的矩阵,且为可逆矩阵。

接下来,本实施例对利用改进后的DES算法对目标明文序列进行加密的过程进行分析;

使用密钥对明文进行加密时,需要将64位的密钥进行密钥转换,现有DES算法是将初始密钥根据不同的旋转排列组合得到16个子密钥,子密钥的个数也表示了在对明文加密时需要进行转换的轮数,每一轮需要一个子密钥对明文进行处理,所述子密钥为48位。

本实施例设置了两个密钥(即第一密钥和第二密钥)共同对目标明文序列进行加密,首先利用DES算法对第一密钥和第二密钥进行处理,得到第一密钥对目标明文序列加密时各轮加密运算对应第一子密钥和第二密钥对目标明文序列加密时各轮加密运算对应的第二子密钥。

在本实施例依旧对目标明文序列进行16轮的处理,所述第一子密钥和第二子密钥各16个;本实施例中得到第一密钥对目标明文序列加密时各轮置换对应第一子密钥和第二密钥对目标明文序列加密时各轮加密运算对应的第二子密钥的过程相同,且本实施例中利用DES算法对密钥进行处理得到各轮加密运算对应的子密钥的过程为现有技术,在此就不再赘述。

步骤S3,利用DES算法对目标明文序列进行处理,得到目标明文序列对应的第一明文序列和第二明文序列;根据各轮加密运算对应的第一子密钥对第一明文序列进行处理,得到第一目标序列;根据各轮加密运算对应的第二子密钥对第二明文序列进行处理,得到第二目标序列。

本实施例根据步骤S2得到了第一密钥对目标明文序列加密时各轮加密运算对应第一子密钥和第二密钥对目标明文序列加密时各轮加密运算对应的第二子密钥,然后根据各轮对应的第一子密钥和第二子密钥共同对目标明文序列进行迭代加密,即进行16轮的加密运算,得到目标明文序列对应的密文,具体的:

本实施例首先利用DES算法将目标明文序列分为两部分,将左半部分记为第一明文序列,将右半部分记为第二明文序列;所述第一明文序列和第二明文序列均为32位;第一明文序列和第二明文序列每经过一轮加密运算后都会更新,得到新的第一明文序列和第二明文序列,并且将得到新的第一明文序列和第二明文序列作为下一轮的原始数据继续进行加密。本实施例中利用DES算法将目标明文序列分为两部分的过程为现有技术,在此就不再赘述。

本实施例将中由于子密钥是48位的,因此在进行每轮加密运算时首先对第一明文序列和第二明文列分别进行扩展置换,将32位的序列转换为48位的序列,得到第一明文序列对应的第一初始序列和第二明文序列对应的第二初始序列,所述扩展置换是在加密数据的过程中制造一些雪崩效应,使用数据块中的1位将在下一步操作中影响更多位,从而产生扩散效果。

扩展置换结束之后,利用每一轮加密运算对应的第一子密钥对第一初始序列进行异或操作,得到每一轮对应的第一中间序列;利用每一轮对应的第二子密钥对第二初始序列进行异或操作,得到第二中间序列;本实施例中每一轮加密运算使用的第一子密钥和第二子密钥均各不相同。

然后先利用s盒分别对第一中间序列和第二中间序列进行处理,然后再利用p盒分别对经过s盒处理之后的第一中间序列和第二中间序列进行处理得到第一序列和第二序列,经过s盒和p盒的处理之后,第一序列和第二序列均为32位。本实施例中利用s盒和p盒对第一中间序列和第二中间序列进行处理的过程为现有技术在此就不再赘述。

最后将每一轮得到的第一序列和传入本轮的第二明文序列(即上一轮得到的第二明文序列)做异或操作,其结果作为本轮得到的第一明文序列;将每一轮得到的第二序列和传入本轮的第一明文序列(即上一轮得到的第一明文序列)做异或操作,其结果作为本轮得到的第二明文序列。

本实施例可以将通过每轮加密运算得到每轮对应的第一明文序列和第二明文序列表示为:

其中,L

本实施例将最后一轮加密运算,即第16轮加密运算得到第一明文序列记为第一目标序列;将最后一轮加密运算,即第16轮加密运算得到第二明文序列记为第二目标序列。

传统的DES算法仅将各轮对应的子密钥与对应的第二初始序列进行异或操作;而本实施例将增加了一个密钥,利用第一密钥对应的各第一子密钥对对应的第一明文序列进行处理和例用第二密钥对应的各第二子密钥对对对应的第二明文序列进行处理,尽管在一定程度上增加了计算量,但是其计算量要少于二次加密或现有的3DES加密算法的计算量,且相较于传统的DES算法得到的密文,本实施例利用改进后的DES算法得到密文安全性更高。

步骤S4,根据第一目标序列和第二目标序列得到目标明文序列对应的密文;对第一密钥和第二密钥进行加密,得到第一密钥和第二密钥的密文。

本实施例对目标明文序列对应的第一明文序列和第二明文序列经过16轮加密运算后得到第一目标序列和第二目标序列;将第一目标序列和第二目标序列进行结合得到64位的序列,记为目标序列;对目标序列进行置换操作,得到目标明文序列对应的密文。

得到目标明文序列对应的密文后,再次对密钥进行加密;本实施例利用第一密钥和第二密钥共同对明文进行加密,并且对明文进行加密后,本实施例还对第一密钥和第二密钥进行加密;本实施例中对第一密钥和第二密钥进行加密得到密文的过程具体为:

本实施例首先计算第一矩阵和第二矩阵的乘积,作为第一密文矩阵;然后计算第一矩阵和第二矩阵的和,作为第二密文矩阵,即C=A×B和D=A+B,其中A为第一密钥矩阵,B为第二密钥矩阵,C为第一密钥矩阵,D为第二密文矩阵;本实施例将第一密文矩阵和第二密文矩阵共同作为第一密钥和第二密钥的密文。

DES算法为对称算法,由于对称算法的密钥是相同的,因此对于DES算法来说,整个加密过程都是可逆的。本实施例对目标明文序列对应的密文进行解密,首先根据第一密文矩阵和第二密文矩阵解出矩阵A,B,然后将矩阵A,B恢复到序列状态,即第一密钥和第二密钥。然后再根据第一密钥和第二密钥对所述密文进行解密,得到对应的目标明文序列。本实施例中利用密钥对密文进行解密的过程为现有技术,在此就不再赘述。

本实施例利用DES算法对第一密钥和第二密钥进行处理,得到对目标明文序列加密时各轮加密运算对应的第一子密钥和第二子密钥,然后利用DES算法对目标明文序列进行处理,得到目标明文序列对应的第一明文序列和第二明文序列,并根据各轮加密运算对应的第一子密钥和第二子密钥分别对第一明文序列和第二明文序列进行处理,得到第一目标序列和第二目标序列,最后根据第一目标序列和第二目标序列得到目标明文序列对应的密文,并对第一密钥和第二密钥进行加密,得到第一密钥和第二密钥的密文。本实施例利用两个密钥对明文进行加密,并再次对密钥进行加密,提高了传统DES算法对明文进行加密的安全性。

一种海量数据快速加密系统的实施例:

本实施例的海量数据快速加密系统包括存储器和处理器,所述处理器执行所述存储器存储的计算机程序,以实现上述海量数据快速加密方法实施例的海量数据快速加密方法。

由于海量数据快速加密方法已经在海量数据快速加密方法实施例中进行了说明,所以本实施例不再对海量数据快速加密方法进行赘述。

需要说明的是:以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种海量数据快速加密方法及系统
  • 一种提升海量数据安全性能的加密方法和系统
技术分类

06120114741560