一种文件加密方法及装置与流程

专利检索2022-05-11  16



1.本技术涉及文件加密技术领域,尤其涉及一种文件加密方法及装置。


背景技术:

2.当今社会科技发展越来越迅速,身处大数据的时代中,数据产生和获取的途径越来越多样化,各种电子设备和软件都能轻易采集到个人相关资料信息,黑客,漏洞的出现时刻困扰着我们,为了保护数据不因偶然和恶意原因被破坏、更改、泄露,数据安全变得尤为重要。对数据进行加密是其中不可缺少的一部分,数据加密可以使数据不易被破解读取,从而保证数据的可用性、完整性和保密性。
3.当前,数据加密的方式也多种多样,很多数据加密是通过私有密钥的规则,将数据进行加密,发送方和接收方都采用相同的密钥,但这种加密方式具有对称性,如果一方的密钥被人破解获取,数据就可能被泄露;而采用公有密钥的规则加密的方式,密钥对固定,也有泄露的风险。


技术实现要素:

4.本技术实施例提供了一种文件加密方法及装置,用以解决现有的加密方式容易造成数据泄露的技术问题。
5.一方面,本技术实施例提供了一种文件加密方法,包括:通过预设密钥算法,根据预设密钥层数,生成非对称密钥,并将所述非对称密钥存储至密钥服务器中;其中,所述非对称密钥包括公钥密钥与私钥密钥;在所述密钥服务器中获取公钥密钥,并通过所述公钥密钥以及预先生成的随机码对待加密文件进行加密,得到加密文件;在所述密钥服务器中获取私钥密钥,并基于所述私钥密钥对所述加密文件进行解密,得到待加密文件。
6.在本技术的一种可能实现方式中,所述预设密钥算法至少包括以下任一项或者多项:rsa非对称加密算法、ecc非对称加密算法;所述预设密钥层数为一层或者三层。
7.在本技术的一种可能实现方式中,在所述密钥服务器中获取公钥密钥,具体包括:通过用户终端获取动态验证码;基于所述动态验证码验证所述密钥服务器的http;验证通过后,获取所述公钥密钥。
8.在本技术的一种可能实现方式中,通过所述公钥密钥以及预先生成的随机码对待加密文件进行加密,得到加密文件,具体包括:在所述预设密钥层数为一层的情况下,通过预设规则生成第一随机码;基于所述第一随机码生成第一密钥,并使用所述公钥密钥对所述第一密钥进行加密,得到第一层密钥;使用所述第一层密钥对所述待加密文件进行加密,并将加密后的所述待加密文件与所述第一层密钥进行压缩,得到加密文件。
9.在本技术的一种可能实现方式中,所述方法还包括:在所述预设密钥层数为三层的情况下,通过预设规则生成第一随机码、第二随机码以及第三随机码,以及通过预设密钥算法生成第一非对称密钥、第二非对称密钥以及第三非对称密钥;基于第一随机码生成第一密钥,并使用所述第一非对称密钥中的公钥密钥对所述第一密钥进行加密,得到第一层
密钥;使用所述第一层密钥对所述待加密文件进行加密,并将加密后的所述待加密文件与所述第一层密钥进行压缩,得到第一加密文件;基于第二随机码生成第二密钥,并使用所述第二非对称密钥中的公钥密钥对所述第二密钥进行加密,得到第二层密钥;使用所述第二层密钥对所述第一加密文件进行加密,并将加密后的所述第一加密文件与所述第二层密钥进行压缩,得到第二加密文件;基于第三随机码生成第三密钥,并使用所述第三非对称密钥中的公钥密钥对所述第三密钥进行加密,得到第三层密钥;使用所述第三层密钥对所述第二加密文件进行加密,并将加密后的所述第二加密文件与所述第三层密钥进行压缩,得到第三加密文件,进而得到所述加密文件。
10.在本技术的一种可能实现方式中,基于所述私钥密钥对所述加密文件进行解密,得到待加密文件,具体包括:对所述加密文件进行解压缩处理,得到使用第一层密钥加密后的所述待加密文件以及所述第一层密钥;通过所述私钥密钥对所述第一层密钥进行解密,得到所述第一密钥;基于所述第一密钥对使用第一层密钥加密后的所述待加密文件进行解密,得到所述待解密文件。
11.在本技术的一种可能实现方式中,在得到加密文件之后,所述方法还包括:记录得到所述加密文件的时间点;基于所述非对称密钥的有效时间以及所述加密文件的时间点,确定所述私钥密钥的有效期限;在所述私钥密钥超过所述有效期限的情况下,确定所述私钥密钥失效。
12.在本技术的一种可能实现方式中,在确定所述私钥密钥失效之后,所述方法还包括:通过预设密钥算法,重新生成新的非对称密钥;动态调整所述新的非对称密钥的有效时间。
13.在本技术的一种可能实现方式中,在重新生成新的非对称密钥之后,所述方法还包括:通过所述新的非对称密钥中的公钥密钥,重新对所述待加密文件进行加密;将重新加密后的所述待加密文件与所述新的非对称密钥中的私钥密钥一起存储至所述密钥服务器中。
14.另一方面,本技术实施例还提供了一种文件加密装置,包括:密钥生成模块,通过预设密钥算法,根据预设密钥层数,生成非对称密钥,并将所述非对称密钥存储至密钥服务器中;其中,所述非对称密钥包括公钥密钥与私钥密钥;加密模块,在所述密钥服务器中获取公钥密钥,并通过所述公钥密钥以及预先生成的随机码对待加密文件进行加密,得到加密文件;解密模块,在所述密钥服务器中获取私钥密钥,并基于所述私钥密钥对所述加密文件进行解密,得到待加密文件。
15.本技术实施例提供的一种文件加密方法及装置,通过使用单层或者多层加密的方式对待加密文件进行加密,使得加密文件不容易被破解,保证了加密文件的安全性及加密过程的可靠性,同时降低了文件泄露的风险。另外,密钥具有有效性,失效后重新生成密钥对,实现了密钥的灵活性配置。
附图说明
16.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
17.图1为本技术实施例提供的一种文件加密方法流程图;
18.图2为本技术实施例提供的一种三层加密流程图;
19.图3为本技术实施例提供的一种文件加密装置内部结构示意图。
具体实施方式
20.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
21.本技术实施例提供了一种文件加密方法及装置,用于解决现有的加密方式容易造成数据泄露的技术问题。
22.下面通过附图对本技术实施例提出的技术方案进行详细的说明。
23.图1为本技术实施例提供的一种文件加密方法流程图。如图1所示,本技术实施例提供的加密方法,至少包括以下执行步骤:
24.步骤101、通过预设密钥算法,根据预设密钥层数,生成非对称密钥。
25.本技术实施例提供的文件加密方法中,首先是生成非对称密钥。因为对称密钥如果一方的密钥被人破解获取,数据就可能被泄露,会增加文件或者数据泄露的风险。因此,本技术实施例中采用非对称密钥对待加密文件进行加密。
26.进一步地,本技术实施例中采用rsa非对称加密算法或者ecc非对称加密算法中一种,生成非对称密钥。需要说明的是,本技术实施例中生成的密钥存在一个有效期,且该有效期是可以动态配置时间的,即该有效期是可以根据实际情况预先设定的。在有效期内,生成的非对称密钥是有效的,超出有效期,该非对称密钥则会失效,此时,会再次生成一对非对称密钥对。通过动态更改密钥,实现了密钥的灵活性。还需要说明的是,通过密钥算法生成非对称密钥的过程可以通过现有技术实现,本技术实施例在此不作赘述。
27.更进一步地,本技术实施例中的非对称密钥的生成过程,还会考虑预设密钥层数。具体地,需要根据预先配置的密钥层数,动态生成密钥对个数,每一层的加密都需要一对密钥。例如,如果预设密钥层数为一层,则生成一对非对称密钥进行加密即可;而如果预设密钥层数为三层,则生成三队非对称密钥进行加密。
28.在本技术的一个或多个可能的实施例中,将生成的非对称密钥存储至一台密钥服务器中,并通过http接口将上述非对称密钥分为公钥密钥和私钥密钥。该http需要使用用户身份验证,才可进行密钥的下载。
29.步骤102、获取公钥密钥,并通过公钥密钥以及预先生成的随机码对待加密文件进行加密,得到加密文件。
30.在生成非对称密钥之后,便可以进行文件的加密解密过程。首先,对文件进行加密需要在上述密钥服务器中下载公钥密钥。具体地,通过用户终端获取动态验证码;然后基于该动态验证码验证上述密钥服务器的http;如果验证通过,则获取或下载到公钥密钥。
31.在获取到公钥密钥之后,就可以根据该公钥密钥以及预先生成的随机码,对待加密文件进行加密,最终得到加密文件。
32.具体地,如果预设密钥层数为一层,则生成的非对称密钥为一对,且根据预设规则生成的随机码也为一个。而如果预设密钥层数为三层,则生成的非对称密钥为三对,且根据
预设规则生成的随机码也为三个。
33.进一步地,在预设密钥层数为一层的情况下,通过预设规则生成第一随机码;然后基于该第一随机码生成第一密钥,并使用获取的公钥密钥对第一密钥进行加密,得到第一层密钥。在得到第一层密钥之后,使用该第一层密钥对待加密文件进行加密,最后将加密后的待加密文件与第一层密钥进行压缩,得到加密文件。
34.例如,根据预设规则生成1组随机码a,将随机码a生成秘钥a.key,使用公钥密钥加密a.key,即生成第一层密钥first.key。然后使用first.key加密相对应的待加密文件,最后将加密得到的文件与first.key进行压缩,得到加密文件。
35.在本技术的一个或者多个实施例中,在加密完成后,记录加密时间,即记录得到加密文件的时间点。然后根据非对称密钥的有效时间,开始计算私钥密钥的有效期限。这就需要加密/解密双方在有效的时间内,进行双方的互通,才能保证密钥的有效性。如果私钥密钥失效,则需要重新根据预设密钥算法,重新生成非对称密钥,需要说明的是,重新生成的非对称密钥的有效时间是可以动态调整的,即可以延长非对称密钥的有效时间进而延长私钥密钥的有效期限。然后,通过新的非对称密钥中的公钥密钥,重新对待加密文件进行加密;并将重新加密后的待加密文件与新的非对称密钥中的私钥密钥一起存储至密钥服务器中,方便解密方获取。
36.更进一步地,在预设密钥层数为三层的情况下,会通过预设规则生成第一随机码、第二随机码以及第三随机码,以及通过预设密钥算法生成第一非对称密钥、第二非对称密钥以及第三非对称密钥。此时文件的加密过程如下:首先,基于第一随机码生成第一密钥,并使用第一非对称密钥中的公钥密钥对第一密钥进行加密,得到第一层密钥;使用第一层密钥对待加密文件进行加密,并将加密后的待加密文件与第一层密钥进行压缩,得到第一加密文件;然后,基于第二随机码生成第二密钥,并使用第二非对称密钥中的公钥密钥对第二密钥进行加密,得到第二层密钥;使用第二层密钥对第一加密文件进行加密,并将加密后的第一加密文件与第二层密钥进行压缩,得到第二加密文件;最后,基于第三随机码生成第三密钥,并使用第三非对称密钥中的公钥密钥对第三密钥进行加密,得到第三层密钥;使用第三层密钥对第二加密文件进行加密,并将加密后的第二加密文件与第三层密钥进行压缩,得到第三加密文件,最终得到加密文件。
37.图2为本技术实施例提供的一种三层加密流程图。如图2所示,以三层加密为例:
38.第一层加密主要是使用rsa非对称加密算法(此部分可进行配置)生成3套非对称密钥1,2,3,用一定规则生成1组随机码a,将随机码a生成密钥a.key,使用第1套密钥加密a.key,生成第一层密钥first.key,使用first.key加密相对应的文件,并将加密后的文件与first.key进行压缩,得到加密文件1。
39.第二层加密主要是再用一定规则生成一组随机码b,将随机码b生成密钥b.key,使用第2套密钥加密b.key,生成第二层密钥second.key,使用second.key对第一层压缩的文件(即加密文件1)进行加密,并将second.key和加密后的文件进行压缩,得到加密文件2。
40.第三层加密主要是再用一定规则生成一组随机码c,将随机码c生成密钥c.key,使用第3套密钥加密c.key,生成第三层密钥third.key,使用third.key对第二层压缩的文件(即加密文件2)进行加密,并将third.key和加密后的文件进行压缩,得到最终版的加密文件(图2中的加密文件3)。
41.步骤103、获取私钥密钥,并基于私钥密钥对加密文件进行解密,得到待加密文件。
42.在得到加密文件之后,便可以对该加密文件进行解密,具体地,首先对加密文件进行解压缩处理,得到使用第一层密钥加密后的待加密文件以及第一层密钥;然后通过私钥密钥对第一层密钥进行解密,得到第一密钥;最后,基于第一密钥对使用第一层密钥加密后的待加密文件进行解密,得到待解密文件。
43.在本技术的一个可能实施例中,解密方通过提前预制的手机号动态信息认证成功后,通过路径获取密钥服务器中的私钥密钥和加密文件。首先对加密文件进行解压,获取解压后的加密文件和加密密钥,通过服务器的私钥密钥解密该加密密钥,以获取到随机码生成的密钥,通过该密钥解密加密文件,最终获取到原始的待加密文件,即传输文件。
44.需要说明的是,三层加密算法得到的加密文件的解密过程,与上述一层加密算法得到的加密文件的解密过程类似,本技术实施例在此不作赘述。
45.以上为本技术实施例提供的方法实施例,基于同样的发明构思,本技术实施例还提供了一种文件加密装置,其内部结构如图3所示。
46.图3为本技术实施例提供的一种文件加密装置内部结构示意图,如图3所示,装置包括:
47.密钥生成模块301,通过预设密钥算法,根据预设密钥层数,生成非对称密钥,并将所述非对称密钥存储至密钥服务器中;其中,所述非对称密钥包括公钥密钥与私钥密钥。
48.加密模块302,在所述密钥服务器中获取公钥密钥,并通过所述公钥密钥以及预先生成的随机码对待加密文件进行加密,得到加密文件。
49.解密模块303,在所述密钥服务器中获取私钥密钥,并基于所述私钥密钥对所述加密文件进行解密,得到待加密文件。
50.本技术中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
51.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
52.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
转载请注明原文地址:https://win.8miu.com/read-1056247.html

最新回复(0)