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

文档序号:11253715阅读:389来源:国知局
一种数据加密方法及装置与流程

本发明涉及数据加密领域,特别是涉及一种数据加密方法及装置。



背景技术:

伴随着信息社会的飞速发展以及大数据时代的到来,数据的安全越来越受人们重视,并且也在经受着多方面的安全威胁。

用户在日常使用中所传输以及储存的数据往往都是明文的形式,这就可能导致保存在磁盘或网络上的数据以及经过邮件等方式传输的数据在被窃取后,不法分子能够直接获取到明文内容的后果,因此采用明文进行传输数据的方式对于数据的安全性威胁过高。由此可见,对数据进行加密是提高数据安全的有效方法,但是由于现有的数据加密的方法没有在加密时效上进行约束,这就给了不法分子充足的破解时间,这相对降低了加密数据的安全性。

由此可见,提供一种数据加密方法以改善加密后数据没有时效性约束的缺点,提高数据在存储和传输时的安全性,是本领域技术人员亟待解决的问题。



技术实现要素:

本发明的目的是提供一种数据加密方法及装置,提高了加密后数据的安全性与可靠性。

为解决上述技术问题,本发明提供一种数据加密方法,包括:

获取至少包括有时效参数的密钥参数,通过将密钥参数相结合生成加密密钥;

接收原始数据,通过加密密钥对原始数据进行加密,以得到加密数据;

其中,在对加密数据进行解密时,如果当前时刻超出时效参数的范围,则解密失败。

优选的,通过加密密钥对原始数据进行加密具体包括:

确定原始数据内的字符的位置,并对位置进行编号;

将编号作为加密参数,并通过加密密钥分别对原始数据内的各字符进行加密。

优选的,密钥参数还包括:

用户账号及用户魔数。

优选的,将密钥参数相结合生成加密密钥具体为:

将用户账号与用户魔数进行组合生成安全账号;

将安全账号、时效参数及用户魔数进行混合运算生成加密密钥。

优选的,在得到加密数据后,该方法进一步包括:

将加密数据编译为二进制序列。

优选的,在将加密数据编译为二进制序列后,该方法进一步包括:

将时效参数编译为二进制序列,并作为加密数据的首部。

优选的,二进制序列具体为32位的二制序列。

此外,本发明还提供一种数据加密装置,包括:

密钥生成模块,用于获取至少包括有时效参数的密钥参数,通过将密钥参数相结合生成加密密钥;

数据加密模块,用于接收原始数据,通过加密密钥对原始数据进行加密,以得到加密数据;

其中,在对加密数据进行解密时,如果当前时刻超出时效参数的范围,则解密失败。

优选的,数据加密模块具体包括:

编号子模块,用于确定原始数据内的字符的位置,并对位置进行编号;

加密子模块,用于将编号作为加密参数,并通过加密密钥分别对原始数据内的各字符进行加密。

优选的,密钥参数还包括:

用户账号及用户魔数。

本发明所提供的数据加密方法,将时效参数作为密钥参数之一进行加密密钥的生成,并通过加密密钥对原始数据进行加密得到加密数据。由于加密密钥中具有时效参数,所以通过加密密钥进行加密后的加密数据也具有了时效上的约束。当通过加密密钥对加密数据进行解密时,首先判断当前时刻是否在时效参数的范围内,如果当前时刻已经超出了时效参数范围,即使加密密钥正确,也无法对加密数据进行解密。因此,本方法缩短了破解者可对加密数据进行破解的时间,进而增加了对数据的破解难度,进而提高了加密后数据的安全性与可靠性。此外,本发明还提供一种数据加密装置,有益效果如上所述。

附图说明

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

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

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

图3为本发明实施例提供的一种数据加密装置结构图。

具体实施方式

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

本发明的核心是提供一种数据加密方法,缩短了破解者可对加密数据进行破解的时间,进而提高了加密后数据的安全性与可靠性。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

实施例一

图1为本发明实施例提供的一种数据加密方法的流程图。请参考图1,数据加密方法的具体步骤包括:

步骤s10:获取至少包括有时效参数的密钥参数,通过将密钥参数相结合生成加密密钥。

可以理解的是,由于本发明所提供的方法对于加密的数据在时效上有一定的约束,因此在用于组成加密密钥的密钥参数中应该具有时效参数,进而使用加密密钥对数据进行加密时才可以将数据与解密的有效时间相关联。需要说明的是,所谓的时效参数,是用来表示加密数据能够被解密的规定期限范围的参数,时效参数根据加密者的需求而定,在此不做限定,但应能体现加密数据的有效时间区间或有效期截止时刻,可以为系统当前时刻与加密时长相加所得的数值等。

步骤s11:接收原始数据,通过加密密钥对原始数据进行加密,以得到加密数据。

其中,在对加密数据进行解密时,如果当前时刻超出时效参数的范围,则解密失败。例如,在对数据进行加密时所设定的时效参数为2000年1月1日,那么则说明时效参数的范围是在2000年1月1日之前,如果对加密数据进行解密的时刻在2000年1月1日之后,则解密失败。由于加密密钥中具有时效参数,因此经过加密密钥进行加密的原始数据,均具有时效性。

本实施例提供的数据加密方法,将时效参数作为密钥参数之一进行加密密钥的生成,并通过加密密钥对原始数据进行加密得到加密数据。由于加密密钥中具有时效参数,所以通过加密密钥进行加密后的加密数据也具有了时效上的约束。当通过加密密钥对加密数据进行解密时,首先判断当前时刻是否在时效参数的范围内,如果当前时刻已经超出了时效参数范围,即使加密密钥正确,也无法对加密数据进行解密。因此,本方法缩短了破解者可对加密数据进行破解的时间,进而增加了对数据的破解难度,进而提高了加密后数据的安全性与可靠性。

实施例二

图2为本发明实施例提供的另一种数据加密方法的流程图。图2中步骤s10与图1相同,在此不再赘述。

如图2所示,在上述实施例的基础上,作为一种优选的实施方式,步骤s11具体包括:

步骤s20:接收原始数据,确定原始数据内的字符的位置,并对位置进行编号。

对原始数据字符的位置进行编号的目的在于,在后续分别对字符进行加密时,每个字符各自使用自身的编号作为加密的参数,因此,即使相同的字符经过不同编号作为参数的加密后,结果也不相同。

步骤s21:将编号作为加密参数,并通过加密密钥分别对原始数据内的各字符进行加密,以得到加密数据。

可以理解的是,本步骤对原始数据中的每一个字符分别单独进行加密,并且将每一个字符在原始数据中的位置编号作为加密的参数,所以即使在原始数据中两个字符相同,但是由于两个字符在原始数据中的位置不同,导致用于加密的位置编号参数不同,因此加密后的结果也不同。因此,避免了由于原始数据中某一个字符被破解后,其它与该字符相同字符也同样被破解的情况发生,增加了破解数据的难度,进而提高了加密后数据的安全性与可靠性。

在具体实施中,对各字符进行加密的方式可以为:

n=c–key+(i*imagicnum)。其中n为加密后的字符;c为加密前的字符;i为所加密的字符在数据中的位置编号;imagicnum为用户魔数。可见每一个字符的i都不同,因此即使加密前的字符c相同,加密后的字符n也不同。可以理解的是,上述对各字符进行加密的方式只是众多方式中的一种,在此不一一列举。

此外,作为一种优选的实施方式,密钥参数还包括:

用户账号及用户魔数。

采用用户账号作为密钥参数是由于用户账号方便获取并且可以象征加密人的身份信息,而采用用户魔数是由于其完全由加密人设置或是系统生成,不易被他人得知,用户魔数的获取方式可以是采用用户的密码,或根据用户密码生成等。由于通过用户账号、用户魔数及时效参数这三个维度组成了密钥,因此要对加密数据进行解密需要同时具有这三个参数,进而提升了加密数据的安全性。需要说明的是,密钥参数还可以包括其他组成部分,在此不做限定。

为了便于对上述实施方式的理解,下面提供一组具体的密钥参数以进一步说明。密钥参数中用户魔数为8341、用户账号为guest、时效参数为加密时刻后的30秒。在对加密数据进行解密时,如果密钥参数中的用户魔数不为8341,即使是同一个用户账号guest且时效参数同样为加密时刻后的30秒,也无法正确解密;同理的,如果超过了加密时刻后的30秒的时效参数要求,即使用同一个用户账号guest和用户魔数8341,也无法正确解密;同理的,如果用户账号为root而不是guest,即使满足时效参数要求以及用户魔数8341,也无法正确解密。

此外,作为一种优选的实施方式,将密钥参数相结合生成加密密钥具体为:

将用户账号与用户魔数进行组合生成安全账号;

将安全账号、时效参数及用户魔数进行混合运算生成加密密钥。

将用户账号与用户魔数进行组合生成的安全账号对于用户账号的保密性更高,所以由安全账号作为密钥参数生成的密钥也更难以被不法分子获得。

在具体实施中,密钥参数混合运算生成密钥方式可以为:key=its–(imagicnum*16)+isecid。其中,key为密钥;its为时效参数;imagicnum为用户魔数;isecid为用户账号与用户魔数进行组合生成的安全账号。需要说明的是,上述密钥的生成方式只是众多方式中的一种,在此不一一列举。

如图2所示,作为一种优选的实施方式,在得到加密数据后,该方法进一步包括:

步骤s22:将加密数据编译为二进制序列。

由于二进制数字为计算机可直接读取的语言,因此计算机在传输和处理二进制序列时,不易出错,具有更高的可靠性。

如图2所示,作为一种优选的实施方式,在将加密数据编译为二进制序列后,该方法进一步包括:

步骤s23:将时效参数编译为二进制序列,并作为加密数据的首部。

可以理解的是,将时效参数作为加密数据首部的目的是为了在使用密钥解密数据前先判断是否在有效时间内,可以省去使用密钥中的时效参数进行时效性判断的步骤。相对应的,在对加密数据进行解密时,需要先读取加密数据首部的时效参数,并且判断该加密数据是否在解密时效的范围内。如果已经超出解密时效的范围,可以生成一个无效的密钥,导致解密后的数据为乱码;否则按照逐字符进行解密。

在上述实施方式的基础上,作为一种优选的实施方式,二进制序列具体为32位的二制序列。

由于32位可以表示的数字范围更大,可以提高一次性加密数据的总量,因此可以使数据加密的效率更高。

实施例三

在上文中对于一种数据加密方法的实施例进行了详细的描述,本发明还提供一种数据加密装置,由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

图3为本发明实施例提供的一种数据加密装置结构图。如图3所示,本发明实施例提供的数据加密装置,包括:

密钥生成模块10,用于获取至少包括有时效参数的密钥参数,通过将密钥参数相结合生成加密密钥。

数据加密模块11,用于接收原始数据,通过加密密钥对原始数据进行加密,以得到加密数据。

其中,在对加密数据进行解密时,如果当前时刻超出时效参数的范围,则解密失败。

本发明所提供的数据加密装置,将时效参数作为密钥参数之一进行加密密钥的生成,并通过加密密钥对原始数据进行加密得到加密数据。由于加密密钥中具有时效参数,所以通过加密密钥进行加密后的加密数据也具有了时效上的约束。当通过加密密钥对加密数据进行解密时,首先判断当前时刻是否在时效参数的范围内,如果当前时刻已经超出了时效参数范围,即使加密密钥正确,也无法对加密数据进行解密。因此,本装置缩短了破解者可对加密数据进行破解的时间,进而增加了对数据的破解难度,进而提高了加密后数据的安全性与可靠性。

在实施例三的基础上,作为一种优选的实施方式,数据加密模块具体包括:

编号子模块,用于确定原始数据内的字符的位置,并对位置进行编号;

加密子模块,用于将编号作为加密参数,并通过加密密钥分别对原始数据内的各字符进行加密。

在实施例三的基础上,作为一种优选的实施方式,密钥参数还包括:

用户账号及用户魔数。

以上对本发明所提供的一种数据加密方法及装置进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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