文件加密方法、文件解密方法及装置与流程

文档序号:33781492发布日期:2023-04-19 00:55阅读:129来源:国知局
文件加密方法、文件解密方法及装置与流程

本公开涉及计算机,尤其涉及文件加密方法、文件解密方法及装置。


背景技术:

1、随着社会的发展,网络质量得到了巨大的提升,随着网络质量的提升,云计算在日常生活中逐渐普及。

2、在云计算传输数据的过程中,面临着云技术传输的数据容易泄露的问题。相关技术中,存在着两种对云技术传输的数据进行加解密的方法。第一种是在云服务端对传输的数据进行加密,服务商掌握解密的密钥密钥。但是,这种情况会使得服务商掌握云服务端对应用户的隐私数据。另一种是由用户直接将传输的数据加密,将加密后的数据传输至服务商,这种情况会下,由用户完成加密操作又会使得用户的操作变得繁琐,降低了用户体验。


技术实现思路

1、有鉴于此,本公开实施例提供文件加密方法、文件解密方法及装置,能够在提高信息的安全性的同时,不影响用户的体验。

2、第一方面,本公开实施例提供一种文件加密方法,应用于文件传输的客户端,包括:

3、确定待加密的明文文件;

4、利用文件体加密密钥对明文文件的文件体进行加密,得到密文文件体;

5、利用主密钥对文件体加密密钥、明文文件的文件名进行加密,得到密文文件头和密文文件名;

6、基于密文文件体、密文文件头和密文文件名组成明文文件对应的密文文件。

7、在一些实施例中,确定待加密的明文文件包括:

8、响应于接收到将明文文件存放至本地指定盘符的存储指令,确定当前写入本地指定盘符的明文文件为待加密的明文文件;本地指定盘符是通过将云存储客户端中的同步文件夹映射到本地得到的,同步文件夹用于传输同步到云端的文件。

9、在一些实施例中,利用文件体加密密钥对写入本地指定盘符的明文文件的文件体进行加密,得到密文文件体,包括:

10、将明文文件的文件体分成多个文件体切片;

11、针对每一文件体切片,利用第一加密算法和文件体加密密钥、以及第一随机数对该文件体切片进行加密,得到该文件体切片对应的密文;不同文件体切片对应的第一随机数相同或者不同;

12、基于每一文件体切片对应的密文和第一随机数得到每一文件体切片对应的密文切片,将各密文切片按照文件体切片的顺序链接起来,以得到密文文件体。

13、在一些实施例中,利用主密钥对文件体加密密钥、明文文件的文件名进行加密,得到密文文件头和密文文件名,包括:

14、通过主密钥和第二随机数对文件体加密密钥进行加密,得到文件体加密密钥的密文,基于第二随机数和文件体加密密钥的密文得到密文文件头;

15、通过主密钥对明文文件的文件名进行加密,得到文件名对应的密文文件名。

16、在一些实施例中,主密钥包括主加密密钥以及主验证密钥;

17、密文切片还包括对应的第一验证码,第一验证码是通过第一验证码算法和主验证密钥,对密文切片、第一随机数、第二随机数和文件体切片编号进行计算得到的;

18、密文文件头还包括对应的第二验证码,第二验证码是通过第二验证码算法和主验证密钥,对第二随机数、文件体加密密钥的密文进行计算得到的;

19、密文文件名还包括对应的第三验证码,第三验证码是通过第三验证码算法对明文文件的文件名的密文进行计算得到的。

20、在一些实施例中,主密钥是基于预设的kek和安全随机数算法生成的,kek是利用密钥派生算法对口令短语进行密钥派生得到的。

21、第二方面,本公开实施例提供一种文件解密方法,应用于文件传输的客户端,方法包括:

22、接收待解密的密文文件;密文文件由密文文件体、密文文件头和密文文件名组成;

23、利用已获得的主密钥对密文文件名、和密文文件头进行解密,得到密文文件对应的明文文件名和文件体加密密钥;

24、利用文件体加密密钥对密文文件体进行解密,得到密文文件对应的明文文件体;

25、基于明文文件名和明文文件体得到密文文件对应的明文文件。

26、在一些实施例中,利用已获得的主密钥对密文文件名、和密文文件头进行解密,得到密文文件对应的明文文件名和文件体加密密钥,包括:

27、利用主密钥对密文文件名进行解密得到明文文件名;

28、利用密文文件头中包含的第二随机数和主密钥对密文文件头中的文件体加密密钥对应的密文进行解密,得到文件体加密密钥的明文;

29、利用文件体加密密钥对密文文件体进行解密,得到密文文件对应的明文文件体,包括:

30、针对明文文件体中的每一密文切片,利用每一密文切片中的第一随机数、和文件体加密密钥的明文对该密文切片中文件体切片的密文进行解密,得到该密文切片对应的文件体切片的明文;

31、将多个文件体切片的明文按照顺序连接,得到明文文件体。

32、第三方面,本公开实施例提供一种文件加密装置,应用于文件传输的客户端,包括:

33、确定模块,用于确定待加密的明文文件;

34、第一加密模块,用于利用文件体加密密钥对明文文件的文件体进行加密,得到密文文件体;

35、第二加密模块,用于利用主密钥对文件体加密密钥、明文文件的文件名进行加密,得到密文文件头和密文文件名;

36、组合模块,用于基于密文文件体、密文文件头和密文文件名组成明文文件对应的密文文件。

37、在一些实施例中,确定模块包括:

38、确定单元,用于响应于接收到将明文文件存放至本地指定盘符的存储指令,确定当前写入本地指定盘符的明文文件为待加密的明文文件;本地指定盘符是通过将云存储客户端中的同步文件夹映射到本地得到的,同步文件夹用于传输同步到云端的文件。

39、在一些实施例中,第一加密模块,包括:

40、切分单元,用于将明文文件的文件体分成多个文件体切片;

41、第一加密单元,用于针对每一文件体切片,利用第一加密算法和文件体加密密钥、以及第一随机数对该文件体切片进行加密,得到该文件体切片对应的密文;不同文件体切片对应的第一随机数相同或者不同;

42、第一连接单元,用于基于每一文件体切片对应的密文和第一随机数得到每一文件体切片对应的密文切片,将各密文切片按照文件体切片的顺序链接起来,以得到密文文件体。

43、在一些实施例中,第二加密模块,包括:

44、第二加密单元,用于通过主密钥和第二随机数对文件体加密密钥进行加密,得到文件体加密密钥的密文,基于第二随机数和文件体加密密钥的密文得到密文文件头;

45、第三加密单元,用于通过主密钥对明文文件的文件名进行加密,得到文件名对应的密文文件名。

46、在一些实施例中,主密钥包括主加密密钥以及主验证密钥;

47、密文切片还包括对应的第一验证码,第一验证码是通过第一验证码算法和主验证密钥,对密文切片、第一随机数、第二随机数和文件体切片编号进行计算得到的;

48、密文文件头还包括对应的第二验证码,第二验证码是通过第二验证码算法和主验证密钥,对第二随机数、文件体加密密钥的密文进行计算得到的;

49、密文文件名还包括对应的第三验证码,第三验证码是通过第三验证码算法对明文文件的文件名的密文进行计算得到的。

50、在一些实施例中,主密钥是基于预设的kek和安全随机数算法生成的,kek是利用密钥派生算法对口令短语进行密钥派生得到的。

51、第四方面,本公开实施例提供一种文件解密装置,应用于文件传输的客户端,包括:

52、接收模块,用于接收待解密的密文文件;密文文件由密文文件体、密文文件头和密文文件名组成;

53、第一解密模块,用于利用已获得的主密钥对密文文件名、和密文文件头进行解密,得到密文文件对应的明文文件名和文件体加密密钥;

54、第二解密模块,用于利用文件体加密密钥对密文文件体进行解密,得到密文文件对应的明文文件体;

55、第三解密模块,用于基于明文文件名和明文文件体得到密文文件对应的明文文件。

56、在一些实施例中,第一解密模块,包括:

57、第一解密单元,用于利用主密钥对密文文件名进行解密得到明文文件名;

58、第二解密单元,用于利用密文文件头中包含的第二随机数和主密钥对密文文件头中的文件体加密密钥对应的密文进行解密,得到文件体加密密钥的明文;

59、第二解密模块,包括:

60、第三解密单元,用于针对明文文件体中的每一密文切片,利用每一密文切片中的第一随机数、和文件体加密密钥的明文对该密文切片中文件体切片的密文进行解密,得到该密文切片对应的文件体切片的明文;

61、第二连接单元,用于将多个文件体切片的明文按照顺序连接,得到明文文件体。

62、第五方面,本公开实施例提供一种电子设备,电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实现方式的方法。

63、第六方面,本公开的实施例还提供一种应用程序,应用程序被执行以实现本公开任一实施方式的方法。

64、本公开实施例提供的一种文件加密方法和文件解密方法,其中加密方法应用于文件传输的客户端,可以通过确定加密的明文文件,然后利用文件体加密密钥多明文文件的文件体进行加密,得到密文文件体,然后利用主密钥对文件体加密密钥、明文文件的文件名进行加密,得到密文文件头和密文文件名,然后基于密文文件体、密文文件头和密文文件名组成明文文件对应的密文文件。因此,在用户通过客户端传输文件时,可以由客户端通过以上加密方法对用户输入的明文文件进行加密,不需要用户操作加密,而且,加密方法应用于客户端,接收文件的服务端中不存在加密密钥,不会使得服务商掌握用户的隐私数据,并且本公开实施例对文件头、文件名和文件体分别进行加密,进一步提高了文件的安全性。

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