数据加密的方法及装置与流程

文档序号:18899036发布日期:2019-10-18 21:40阅读:178来源:国知局
数据加密的方法及装置与流程

本发明涉及数据安全技术领域,特别涉及一种数据加密的方法及装置。



背景技术:

随着科技的发展,网络成为了人们生活中必不可少的一部分,随着使用网络的人们越来越多,在网络信息的加密过程中,数据安全变得越来越重要。在对外提供网络服务时,服务端和客户端要遵循同一套数据通讯协议,即通过加密算法对通信数据进行加密,才能正常的进行通讯。

从数据加密性的角度来看,现有的加密算法可以将数据明文加密为不可以理解的密文,他人虽然无法直观的理解加密后的数据,但可以通过技术手段进行模拟或针对数据进行伪造,从而破解数据加密算法,进而导致用户信息泄露。



技术实现要素:

有鉴于此,本发明实施例提供一种数据加密的方法及装置,用于增加数据加密过程的复杂性,从而确保用户信息安全。

为实现上述目的,本发明实施例提供如下技术方案:

一种数据加密的方法,包括:

将待加密数据按照预设的大小进行分段,得到多个待加密子数据;

分别对所述多个待加密子数据进行加密;

将加密后的所述多个待加密子数据合并,得到加密后的待加密数据;

利用第一加密策略对所述加密后的待加密数据进行加密,得到第一加密数据,其中,所述第一加密策略为通用加密策略;

确定所述第一加密数据的组别,利用所述第一加密数据所属的组别中的加密函数组,对所述第一加密数据进行加密,得到第二加密数据;

对所述第二加密数据进行加密,得到第三加密数据。

可选的,所述分别对所述多个待加密子数据进行加密,包括:

利用第二加密策略对重要的待加密子数据进行加密;

利用第三加密策略对非重要的待加密子数据进行加密;

其中,所述第二加密策略的复杂度大于所述第三加密策略。

可选的,所述利用第二加密策略对重要的待加密子数据进行加密,包括:

判断所述重要的待加密子数据是否在分段加密策略的范围内;

若判断出所述重要的待加密子数据在分段加密策略的范围内,将所述重要的待加密子数据中的数字与下一个分段加密策略的范围的最小值相加,且在末位补充0;

若判断出所述重要的待加密子数据不在分段加密策略的范围内,则保持所述重要的待加密子数据不变。

可选的,所述利用第三加密策略对非重要的待加密子数据进行加密,包括:

将所述非重要的待加密子数据转换为二进制数值;

将转换为二进制的非重要的待加密子数据进行4分位拆分;

将4分位拆分得到的非重要的待加密子数据转换为十进制数值。

可选的,所述利用所述第一加密数据所属的组别中的加密函数组,对所述第一加密数据进行加密,得到第二加密数据,包括:

获取所述第一加密数据所属的组别中所包含的固定长度的加密函数组;

利用所述固定长度的加密函数组对所述第一加密数据中的二进制的数,进行每两位数字分别加密。

可选的,所述对所述第二加密数据的进行加密,得到第三加密数据,包括:

利用第四加密策略对重要的第二加密数据进行加密,得到第四加密数据;

将所述第四加密数据中的数值转化成十进制数值,得到第三加密数据;

直接将非重要的第二加密数据中的数值转化成十进制数值,得到所述第三加密数据。

可选的,所述将所述第四加密数据中的数值转化成十进制数值,得到第三加密数据,包括:

利用与所述第四加密数据所在阶层对应的加密秘钥,和所述第四加密数据构成动态的加密字符串;

根据所述第四加密数据与所述动态的加密字符串的对应关系,得到第四加密数值;

将所述第四加密数值转化为二进制;

将二进制的第四加密数值每8位数字转换成十进制,得到所述第三加密数据。

一种数据加密的装置,包括:

分段单元,用于将待加密数据按照预设的大小进行分段,得到多个待加密子数据;

第一加密单元,用于分别对所述多个待加密子数据进行加密;

合并单元,用于将加密后的所述多个待加密子数据合并,得到加密后的待加密数据;

第二加密单元,用于利用第一加密策略对所述加密后的待加密数据进行加密,得到第一加密数据,其中,所述第一加密策略为通用加密策略;

第三加密单元,用于确定所述第一加密数据的组别,利用所述第一加密数据所属的组别中的加密函数组,对所述第一加密数据进行加密,得到第二加密数据;

第四加密单元,用于对所述第二加密数据进行加密,得到第三加密数据。

可选的,所述第一加密单元,包括:

第一加密子单元,用于利用第二加密策略对重要的待加密子数据进行加密;

所述第一加密子单元,还用于利用第三加密策略对非重要的待加密子数据进行加密;

其中,所述第二加密策略的复杂度大于所述第三加密策略。

可选的,所述第四加密单元,包括:

第四加密子单元,利用第四加密策略对重要的第二加密数据进行加密,得到第四加密数据;

所述第四加密子单元,还用于将所述第四加密数据中的数值转化成十进制数值,得到第三加密数据;

所述第四加密子单元,还用于直接将非重要的第二加密数据中的数值转化成十进制数值,得到所述第三加密数据。

由以上方案可知,本发明实施例提供一种数据加密的方法及装置,该方法通过将待加密数据按照预设的大小进行分段,得到多个待加密子数据;分别对所述多个待加密子数据进行加密;将加密后的所述多个待加密子数据合并,得到加密后的待加密数据;利用第一加密策略对所述加密后的待加密数据进行加密,得到第一加密数据,其中,所述第一加密策略为通用加密策略;确定所述第一加密数据的组别,利用所述第一加密数据所属的组别中的加密函数组,对所述第一加密数据进行加密,得到第二加密数据;对所述第二加密数据进行加密,得到第三加密数据。该方法极大的增加了数据加密过程的复杂性,从而确保用户信息安全。

附图说明

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

图1为本发明实施例提供的一种数据加密的方法的具体流程图;

图2为本发明另一实施例提供的一种数据加密的方法的具体流程图;

图3为本发明另一实施例提供的一种数据加密的方法的具体流程图;

图4为本发明另一实施例提供的一种数据加密的方法的具体流程图;

图5为本发明另一实施例提供的一种数据加密的方法的具体流程图;

图6为本发明另一实施例提供的一种数据加密的方法的具体流程图;

图7为本发明另一实施例提供的一种数据加密的方法的具体流程图;

图8为本发明另一实施例提供的一种数据加密的装置的示意图;

图9为本发明另一实施例提供的一种数据加密的装置的示意图;

图10为本发明另一实施例提供的一种数据加密的装置的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供的一种数据加密的方法,如图1所示,包括:

s101、将待加密数据按照预设的大小进行分段,得到多个待加密子数据。

其中,待加密数据可以是通信过程中发送的消息的消息头、消息单元、消息单元组等。消息头是自定义通信协议中数据最前端的部分,包含整体协议摘要信息、唯一标识、版本信息等;消息单元为每个数据项经过组织、编码后的数据基本单元;消息单元组是有多个消息单元组织而成的一组消息单元组。

具体的,可以将通信过程中的待加密的消息头按照预设的大小进行分段,得到多个子消息头,即上述的待加密子数据;也可以将通信过程中的待加密的消息单元按照预设的大小进行分段,得到多个子消息单元,即上述的待加密子数据。并且,在分段过程中,可以对每一个待加密子数据进行标号,方便后续将多个待加密子数据重新组合成待加密数据时,可以得到最原始的待加密数据。

需要说明的是,待加密数据可以为通信过程中发送的消息的消息头、消息单元、消息单元组,但不限于在通信过程中的消息数据,也可以是仅仅是需要加密保存的一种数据。

在本实施例的具体实现过程中,将待加密数据按照预设的大小进行分段,其中,预设的大小可以为相同的数据大小,也可以为不相同的数据大小;例如:可以将一个长度为10的数据分为5个长度为2的数据;也可以将一个长度为10的数据分为长度为2、3、5的三个数据。

s102、分别对多个待加密子数据进行加密。

可选的,本发明的另一实施例中,步骤s102的一种实施方式,如图2所示,包括:

s201、判断待加密子数据是否为重要数据。

需要说明的是,待加密数据中只有一部分数据是重要数据,是在传输之前早已约定好的,在数据的传输过程之前,可以对该部分进行标记,通过步骤s101,将待加密数据按照预设的大小进行分段,得到多个待加密子数据后,就会有部分待加密子数据携带有重要数据的标识。所以,可以根据待加密子数据中是否携带的重要数据的标识来判断该待加密子数据是否为重要数据。

在本实施例的具体实现过程中,可以根据待加密子数据中是否携带的重要数据的标识来判断该待加密子数据是否为重要数据。

具体的,若判断出待加密子数据为重要数据,则执行步骤s202;若判断出待加密子数据为非重要数据,则执行步骤s203。

s202、利用第二加密策略对待加密子数据进行加密。

其中,由于在步骤s201中,判断出待加密子数据为重要数据,所以第二加密策略采用复杂程度较高的加密策略。

可选的,本发明的另一实施例中,步骤s202的一种实施方式,如图3所示,包括:

s301、判断待加密子数据是否在分段加密策略的范围内。

需要说明的是,分段加密策略的范围是预先进行设定的,可以为-127~128,假如,待加密子数据为65,则说明待加密子数据在分段策略内。

具体的,若判断出待加密子数据在分段加密策略的范围内,则执行步骤s302;若判断出待加密子数据不在分段加密策略的范围内,则执行步骤s303。

s302、将待加密子数据中的数字与下一个分段加密策略的范围的最小值相加,且在末位补充0。

需要说明的是,假如待加密子数据中的数字为65,分段加密策略的范围为-127~128,那么下一个分段加密策略的范围的最小值为128,待加密子数据最终被转化为(193,0)。

s303、保持待加密子数据不变。

需要说明的是,假如待加密子数据中的数字为137,分段加密策略的范围为-127~128,则保持待加密子数据不变。

还需要说明的是,在本实施例的具体实现过程中,假如待加密数据中有两个数字(65,137),分段加密策略的范围为-127~128,则待加密子数据最终被转化为(193,0,137)。

s203、利用第三加密策略对待加密子数据进行加密。

需要说明的是,对比非重要数据,重要数据在后续的加密程度上要更加的复杂,即第二加密策略的复杂度大于第三加密策略。

还需要说明的是,由于待加密数据,会在同一次加密过程中,将不同的待加密子数据进行不同的加密算法,即待加密数据最终是由不同的加密方法组合而成,极大的增加了数据加密的复杂性,使其很难被伪造。

可选的,本发明的另一实施例中,步骤s203的一种实施方式,如图4所示,包括:

s401、将待加密子数据转换为二进制数值。

s402、将转换为二进制的待加密子数据进行4分位拆分。

s403、将拆分得到的待加密子数据转换为十进制数值。

具体的,假如待加密子数据中有两个数字(65,137),将数字65转化为二进制为01000001,进行4分位拆分得到(0100,0001);将数字137转化为二进制为10001001,进行4分位拆分得到(1000,1001);再将0100,0001,1000,1001四个数字转化为十进制,得到4,1,8,9四个数值;最终待加密子数据(65,137)被转化为(4,1,8,9)。

在本实施例的具体实现过程中,由于对不同待加密子数据的加密方式不同,当待加密子数据(65,137)在为重要数据时,可以被转换为(193,0,137);当待加密子数据(65,137)在为非重要数据时,也可以被转换为(4,1,8,9)。使得在有人想恶意破解一段待加密数据时,很难知道某一部分的待加密子数据是用哪一种加密算法进行加密的。

s103、将加密后的多个待加密子数据合并,得到加密后的待加密数据。

需要说明的是,将加密后的多个待加密子数据合并,要按之前待加密数据中的顺序进行合并,保证在后续在解密的过程中,可以得到最原始的待加密数据。

s104、利用第一加密策略对加密后的待加密数据进行加密,得到第一加密数据。

其中,第一加密策略为通用加密策略。

s105、确定第一加密数据的组别,利用第一加密数据所属的组别中的加密函数组,对第一加密数据进行加密,得到第二加密数据。

其中,组别信息可以为预先设定好的组别信息,在数据传输加密过程中,确定了待加密数据为该组的信息后,就可以使用该组的加密函数组进行再次加密。

需要说明是,不同的分组,加密函数组具有完全不同的加密秘钥。

可选的,本发明的另一实施例中,步骤s105的一种实施方式,如图5所示,包括:

s501、获取第一加密数据所属的组别中所包含的固定长度的加密函数组。

s502、利用固定长度的加密函数组对第一加密数据中的二进制的数,进行每两位数字分别加密。

s106、对第二加密数据的进行加密,得到第三加密数据。

可选的,本发明的另一实施例中,步骤s106的一种实施方式,如图6所示,包括:

s601、判断第二加密数据是否为重要的加密数据。

需要说明的是,待加密数据中只有一部分数据是重要数据,是在传输之前早已约定好的,在数据的传输过程之前,可以对该部分进行标记,通过步骤s101,将待加密数据按照预设的大小进行分段,得到多个待加密子数据后,就会有部分待加密子数据携带有重要数据的标识。所以,可以根据待加密子数据中是否携带的重要数据的标识来判断该待加密子数据是否为重要数据。

在本实施例的具体实现过程中,可以根据待加密子数据中是否携带的重要数据的标识来判断该待加密子数据是否为重要数据。

具体的,若判断出第二加密数据为重要的加密数据,则执行步骤s602;若判断出第二加密数据为非重要的加密数据,则执行步骤s604。

s602、利用第四加密策略对第二加密数据进行加密,得到第四加密数据。

s603、将第四加密数据中的数值转化成十进制数值,得到第三加密数据。

可选的,本发明的另一实施例中,步骤s603的一种实施方式,如图7所示,包括:

s701、利用与第四加密数据所在阶层对应的加密秘钥,和第四加密数据构成动态的加密字符串。

s702、根据第四加密数据与动态的加密字符串的对应关系,得到第四加密数值。

s703、将第四加密数值转化为二进制。

s704、将二进制的第四加密数值每8位数字转换成十进制,得到第三加密数据。

s604、将第二加密数据中的数值转化成十进制数值,得到第三加密数据。

由以上方案可知,本发明实施例提供一种数据加密的方法,该方法通过将待加密数据按照预设的大小进行分段,得到多个待加密子数据;分别对所述多个待加密子数据进行加密;将加密后的所述多个待加密子数据合并,得到加密后的待加密数据;利用第一加密策略对所述加密后的待加密数据进行加密,得到第一加密数据,其中,所述第一加密策略为通用加密策略;确定所述第一加密数据的组别,利用所述第一加密数据所属的组别中的加密函数组,对所述第一加密数据进行加密,得到第二加密数据;对所述第二加密数据的进行加密,得到第三加密数据。该方法极大的增加了数据加密过程的复杂性,从而确保用户信息安全。

本发明实施例还提供一种数据加密的装置,如图8所示,该装置包括:

分段单元801,用于将待加密数据按照预设的大小进行分段,得到多个待加密子数据。

第一加密单元802,用于分别对多个待加密子数据进行加密。

可选的,本发明的另一实施例中,第一加密单元802的一种实施方式,如图9所示,包括:

第一判断单元901,用于判断待待加密子数据是否为重要数据。

第一加密子单元902,用于若第一判断单元901判断出,待加密子数据为重要数据,则利用第二加密策略对待加密子数据进行加密。

第一加密子单元902,还用于若第一判断单元901判断出,待加密子数据为非重要数据,则利用第三加密策略对待加密子数据进行加密。

其中,第二加密策略的复杂度大于第三加密策略。

本发明上述实施例公开的单元的具体工作过程,可参见对应的方法实施例内容,如图2所示,此处不再赘述。

合并单元803,用于将加密后的多个待加密子数据合并,得到加密后的待加密数据。

第二加密单元804,用于利用第一加密策略对加密后的待加密数据进行加密,得到第一加密数据。

其中,第一加密策略为通用加密策略。

第三加密单元805,用于确定第一加密数据的组别,利用第一加密数据所属的组别中的加密函数组,对第一加密数据进行加密,得到第二加密数据。

第四加密单元806,用于对第二加密数据进行加密,得到第三加密数据。

本发明上述实施例公开的单元的具体工作过程,可参见对应的方法实施例内容,如图1所示,此处不再赘述。

可选的,本发明的另一实施例中,第四加密单元806的一种实施方式,如图10所示,包括:

第二判断单元1001,用于判断第二加密数据是否为重要的加密数据。

第四加密子单元1002,用于若第二判断单元1001判断出,第二加密数据为重要的加密数据,利用第四加密策略对第二加密数据进行加密,得到第四加密数据。

第四加密子单元1002,还用于将第四加密数据中的数值转化成十进制数值,得到第三加密数据。

第四加密子单元1002,还用于若第二判断单元1001判断出,第二加密数据为非重要的加密数据,直接将第二加密数据中的数值转化成十进制数值,得到第三加密数据。

本发明上述实施例公开的单元的具体工作过程,可参见对应的方法实施例内容,如图6所示,此处不再赘述。

由以上方案可知,本申请提供一种数据加密的装置,该装置通过分段单元801将待加密数据按照预设的大小进行分段,得到多个待加密子数据;第一加密单元802分别对所述多个待加密子数据进行加密;合并单元803将加密后的所述多个待加密子数据合并,得到加密后的待加密数据;第二加密单元804利用第一加密策略对所述加密后的待加密数据进行加密,得到第一加密数据,其中,所述第一加密策略为通用加密策略;第三加密单元805确定所述第一加密数据的组别,利用所述第一加密数据所属的组别中的加密函数组,对所述第一加密数据进行加密,得到第二加密数据;第四加密单元806对所述第二加密数据进行加密,得到第三加密数据。该装置极大的增加了数据加密过程的复杂性,从而确保用户信息安全。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1