CN108334785A - 一种文件加密方法、解密方法及终端 - Google Patents

一种文件加密方法、解密方法及终端 Download PDF

Info

Publication number
CN108334785A
CN108334785A CN201710213918.8A CN201710213918A CN108334785A CN 108334785 A CN108334785 A CN 108334785A CN 201710213918 A CN201710213918 A CN 201710213918A CN 108334785 A CN108334785 A CN 108334785A
Authority
CN
China
Prior art keywords
encryption
file
key
operator
decryption
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710213918.8A
Other languages
English (en)
Inventor
闫鹏程
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN108334785A publication Critical patent/CN108334785A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例提供一种文件加密方法、解密方法及终端,涉及移动通信领域,用以解决现有技术中存在的采用同一种加密方案对文件加密所导致的文件安全性低的问题,包括:接收依次输入的i个密钥,其中,i为大于或等于1的整数;根据依次输入的i个密钥,确定i个密钥中每个密钥的加密算子,一个加密算子对应一个加密功能;按照预设加密策略调用每个密钥的加密算子对文件加密,获取加密文件。本发明实施例应用于文件加密/解密场景中。

Description

一种文件加密方法、解密方法及终端
技术领域
本发明实施例涉及移动通信领域,尤其涉及一种文件加密方法、解密方法及终端。
背景技术
云服务中的云存储功能可以存储用户的备份文件,但是近年来屡次发生存储在云服务的备份文件遭到泄密的恶性事件,使得保存在云服务中的备份文件的安全性 降低。
导致存储在云服务的备份文件遭到泄密的最根本原因在于:目前云服务提供商使用的文件加密算子往往是对于大批用户提供同一种加密方案,这样一旦某个用户 的备份文件被黑客攻破,则导致云服务中与被攻破的备份文件采用同一种加密方案 的备份文件的安全性较低。
发明内容
本申请提供一种文件加密方法、解密方法及终端,用以解决现有技术中存在的 采用同一种加密方案对文件加密所导致的文件安全性低的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,本发明实施例提供一种文件加密方法,包括:接收依次输入的i个 密钥,其中,i为大于或等于1的整数;根据依次输入的i个密钥,确定i个密钥中 每个密钥的加密算子,一个加密算子对应一个加密功能;按照预设加密策略调用每 个密钥的加密算子对文件加密,获取加密文件。
本发明实施例中提供一种文件加密方法,通过根据依次输入的i个密钥中每个 密钥,确定每个密钥各自的加密算子,并按照预设加密策略调用每个密钥的加密算 子对文件加密,即最终文件是通过多种加密算子实现加密的,由于在文件解密过程 中,需要通过解密算子对加密文件解密,且不同的加密算子通常对应的解密算子不 同。因此,当终端以i个密钥中每个密钥的加密算子对文件加密后,若解密方不知 道该加密文件所关联的i个密钥,则解密方通常需要同时破解多个解密算子才能实 现对加密文件的解密,提高了加密文件被破解的难度,从而提高了加密文件的安全 性,进一步的,在将加密文件存储在云服务器中时,由于加密文件时按照预设加密 策略调用i个密钥中每个密钥的加密算子加密后得到的,因此,可以避免采用云服 务器统一分配的加密方案对文件加密所引起的安全性低的问题。
结合第一方面,在第一方面的第一种可能的实现方式中,根据依次输入的i个 密钥,确定i个密钥中每个密钥的加密算子,包括:获取i个密钥对应的候选算子 库,从候选算子库中确定i个密钥中每个密钥的加密算子,候选算子库中至少存储 有i个密钥中每个密钥的加密算子。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,接收依次输入的i个密钥之前,本发明实施例提供的方法还包括: 基于触发请求消息,获取候选算子库,该候选算子库至少记录:N个不同的指示符 中每个指示符与各自对应的至少一个加密算子的标识之间的映射关系,i个密钥由 N个不同的指示符中的指示符组成。
结合第一方面至第一方面的第二种可能的实现方式中任意一项,在第一方面的第三种可能的实现方式中,预设加密策略为i个密钥依次输入的顺序,按照预设加 密策略调用每个密钥的加密算子对文件加密,获取加密文件,包括:按照i个密钥 依次输入的顺序,依次调用每个密钥的加密算子对文件加密,获取加密文件。
结合第一方面至第一方面的第三种可能的实现方式中任意一项,在第一方面的第四种可能的实现方式中,文件包括i个文件区域,一个文件区域对应一个指示符, 预设加密策略为:将i个文件区域中任意一个文件区域按照任意一个文件区域对应 的加密算子加密,按照预设加密策略调用每个密钥的加密算子对文件加密,获取加 密文件,包括:根据每个密钥的加密算子,确定i个文件区域中每个文件区域对应 的加密算子;按照i个密钥依次输入的顺序,将i个文件区域中任意一个文件区域 按照任意一个文件区域对应的加密算子加密,以获取加密文件,不同的预设加密策 略对应不同的加密方案,提高了文件加密方式的多样性,且由于加密过程中是按照 依次输入的每个密钥的加密算子来对文件加密,因此i个密钥的顺序不同,在加密 过程中所执行的加密算子的顺序也会存在差异,提供了文件的安全性。
结合第一方面至第一方面的第四种可能的实现方式中任意一项,在第一方面的第五种可能的实现方式中,预设加密策略为第一加密策略,i个密钥依次包括第一 密钥、第二密钥以及第三密钥,其中,第一密钥与第一加密算子对应,第二密钥与 第二加密算子对应,第三密钥与第三加密算子对应,则按照预设加密策略调用每个 密钥的加密算子对文件加密,获取加密文件,包括:按照第一加密算子对文件加密, 获取第一加密数据;按照第二加密算子对第一加密数据加密,获取第二加密数据; 按照第三加密算子对第二加密数据加密,获取加密文件。
结合第一方面至第一方面的第五种可能的实现方式中任意一项,在第一方面的第六种可能的实现方式中,预设加密策略为第二加密策略,按照预设加密策略调用 每个密钥的加密算子对文件加密,获取加密文件,包括:确定i个密钥中每个密钥 对应的文件区域以及每个密钥分别对应的加密算子,对i个文件区域中每个文件区 域分别执行以下步骤,以获取加密文件:按照第一文件区域对应的加密算子,对第 一文件区域加密,第一文件区域为i个文件区域中任意一个文件区域。
结合第一方面至第一方面的第六种可能的实现方式中任意一项,在第一方面的第七种可能的实现方式中,i为大于或等于2的整数,i个密钥中存在至少两个不同 的密钥,且至少两个不同的密钥对应不同的加密算子。当i个密钥中每个密钥对应 的加密算子不同时,能够进一步提供文件加密的安全性。
结合第一方面至第一方面的第七种可能的实现方式中任意一项,在第一方面的第八种可能的实现方式中,i为大于或等于2的整数,i个密钥中存在至少两个相同 的密钥,且至少两个相同的密钥具有不同的位置,至少两个相同的密钥对应不同的 加密算子。这是由于依次输入的i个密钥中可能会存在两个或两个以上相同的密钥, 若对相同的密钥赋予相同的加密算子,这样会使得当文件被攻击时,若两个或两个 以上相同的密钥中一个密钥的加密算子被破解,则两个或两个以上相同的密钥中其 余密钥的加密算子也容易被破解,通过将不同位置上的相同密钥赋予不同的加密算 子,这样即使一个密钥的加密算子被破解,也不会导致另一个密钥对应的加密算子 被破解。
第二方面,本发明实施例提供一种文件解密方法,包括:基于解密请求消息的 触发,在确定解密请求消息中携带的i个密钥与加密文件加密时的i个密钥一致时, 确定解密请求消息中携带的i个密钥中每个密钥的解密算子,i为大于或等于1的整 数,按照预设解密策略调用每个密钥的解密算子对加密文件解密,以获取解密后的 文件。
结合第二方面,在第二方面的第一种可能的实现方式中,在确定解密请求消息 中携带的i个密钥与加密文件加密时的i个密钥一致时,确定解密请求消息中携带 的i个密钥中每个密钥的解密算子,包括:获取解密请求消息中携带的i个密钥对 应的候选算子库,候选算子库中至少记录解密请求消息中携带的i个密钥中每个密 钥对应的解密算子的标识,根据每个密钥对应的解密算子的标识,确定每个密钥对 应的解密算子。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,预设解密策略为:按照与解密请求消息中携带的i个密钥相反的顺 序,按照预设解密策略调用所述每个密钥的解密算子对所述加密文件解密,以获取 解密后的文件,包括:按照与每个密钥输入相反的顺序,依次调用每个密钥对应的 解密算子对所述加密文件解密,以获取解密后的文件。
结合第二方面至第二方面的第二种可能的实现方式中任意一项,在第二方面的第三种可能的实现方式中,加密文件包括i个文件区域,i个文件区域中每个文件 区域对应一个密钥,预设解密策略为:将i个文件区域中任意一个文件区域按照任 意一个文件区域对应的解密算子解密,按照预设解密策略调用每个密钥的解密算子 对加密文件解密,以获取解密后的文件,包括:根据每个密钥的解密算子,确定i 个文件区域中每个文件区域对应的解密算子;按照与解密请求消息中携带的i个密 钥相反的顺序,将i个文件区域中任意一个文件区域按照任意一个文件区域对应的 解密算子解密,以获取解密后的文件。
结合第二方面至第二方面的第三种可能的实现方式中任意一项,在第二方面的第四种可能的实现方式中,预设解密策略为第一解密策略,解密请求消息包括依次 输入的第一密钥、第二密钥以及第三密钥,其中,第一密钥与第一解密算子对应, 第二密钥与第二解密算子对应,第三密钥与第三解密算子对应,按照预设解密策略 调用所述每个密钥的解密算子对所述加密文件解密,以获取解密后的文件,包括: 按照第三解密算子对加密文件解密,获取第一解密数据;按照第二解密算子对第一 解密数据解密,获取第二解密数据;按照第一解密算子对第二解密数据解密,获取 解密后的文件。
结合第二方面至第二方面的第四种可能的实现方式中任意一项,在第二方面的第五种可能的实现方式中,加密文件包括i个文件区域,预设解密策略为:第二解 密策略,按照预设解密策略调用每个密钥的解密算子对加密文件解密,以获取解密 后的文件,包括:确定i个密钥中每个密钥对应的文件区域以及每个文件区域分别 对应的解密算子;按照i个密钥中每个密钥输入相反的顺序,依次对i个文件区域 中每个文件区域分别执行以下步骤,以对加密文件解密:按照第一文件区域对应的 解密算子,对第一文件区域解密,第一文件区域为i个文件区域中任意一个文件区 域。
第三方面,本发明实施例提供一种终端,包括:接收单元,用于接收依次输入 的i个密钥,其中,i为大于或等于1的整数;确定单元,用于根据依次输入的i个 密钥,确定i个密钥中每个密钥的加密算子,一个加密算子对应一个加密功能;加 密单元,用于按照预设加密策略调用所述每个密钥的加密算子对所述文件加密,获 取加密文件。
结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,确定单元,具体用于:根据依次输入的i个密钥,从候选算子库中 确定i个密钥中每个密钥的加密算子的标识,候选算子库中至少存储有i个密钥中 每个密钥和各自对应的至少一个加密算子的标识之间的映射关系;根据每个密钥的 加密算子的标识获取每个密钥的加密算子。当i个密钥中的密钥均不相同,则在每 个密钥对应两个或两个以上的加密算子时,将两个或两个以上的加密算子中优先等 级最高的加密算子确定为每个密钥的加密算子,当i个密钥中的密钥中存在两个或 两个以上的相同的密钥,且两个或两个以上的相同的密钥对应的加密算子为两个或 两个以上,则需要根据每个密钥的位置,确定每个密钥唯一对应的加密算子。
结合第三方面至第三方面的第二种可能的实现方式中任意一项,在第三方面的第三种可能的实现方式中,终端还包括:获取单元,用于:基于触发请求消息,获 取候选算子库,候选算子库至少记录:N个不同的指示符中每个指示符与各自对应 的至少一个加密算子的标识之间的映射关系,所述i个密钥由所述N个不同的指示 符中的指示符组成。
结合第三方面至第三方面的第三种可能的实现方式中任意一项,在第三方面的第四种可能的实现方式中,预设加密策略为按照i个密钥依次输入的顺序,加密单 元具体用于:按照i个密钥依次输入的顺序,依次调用每个密钥的加密算子对文件 加密,获取加密文件。
结合第三方面至第三方面的第四种可能的实现方式中任意一项,在第三方面的第五种可能的实现方式中,文件包括i个文件区域,一个文件区域对应一个指示符, 预设加密策略为:将i个文件区域中任意一个文件区域按照任意一个文件区域对应 的加密算子加密,确定单元,还用于根据每个密钥的加密算子,确定i个文件区域 中每个文件区域对应的加密算子;加密单元,还具体用于:按照i个密钥依次输入 的顺序,将i个文件区域中任意一个文件区域按照所述任意一个文件区域对应的加 密算子加密,以获取加密文件。
结合第三方面至第三方面的第五种可能的实现方式中任意一项,在第三方面的第六种可能的实现方式中,预设加密策略为第一加密策略,i个密钥依次包括第一 密钥、第二密钥以及第三密钥,其中,第一密钥与第一加密算子对应,第二密钥与 第二加密算子对应,第三密钥与第三加密算子对应,则加密单元具体用于:按照第 一加密算子对文件加密,获取第一加密数据;以及按照第二加密算子对第一加密数 据加密,获取第二加密数据;以及按照第三加密算子对第二加密数据加密,获取加 密文件。
结合第三方面至第三方面的第六种可能的实现方式中任意一项,在第三方面的第七种可能的实现方式中,预设加密策略为第二加密策略,确定单元还具体用于: 确定i个密钥中每个密钥对应的文件区域以及每个密钥分别对应的加密算子,加密 单元具体用于:对i个文件区域中每个文件区域分别执行以下步骤,以获取加密文 件:按照第一文件区域对应的加密算子,对第一文件区域加密,第一文件区域为i 个文件区域中任意一个文件区域。
第四方面,本发明实施例提供一种终端,包括:确定单元,用于基于解密请求 消息的触发,在确定所述解密请求消息中携带的i个密钥与加密文件加密时的i个 密钥一致时,确定解密请求消息中携带的i个密钥中每个密钥的解密算子;解密单 元,用于按照预设解密策略调用每个密钥的解密算子对加密文件解密,以获取解密 后的文件。
结合第四方面,在第四方面的第一种可能的实现方式中,预设解密策略为:按 照与解密请求消息中携带的i个密钥相反的顺序,解密单元具体用于,按照与每个 密钥输入相反的顺序,依次调用每个密钥对应的解密算子对加密文件解密,以获取 解密后的文件。
结合第四方面或第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,加密文件包括i个文件区域,i个文件区域中每个文件区域对应一 个密钥,预设解密策略为:将i个文件区域中任意一个文件区域按照所述任意一个 文件区域对应的解密算子解密,确定单元,还用于根据每个密钥的解密算子,确定 i个文件区域中每个文件区域对应的解密算子;解密单元,用于按照与解密请求消 息中携带的i个密钥相反的顺序,将i个文件区域中任意一个文件区域按照所述任 意一个文件区域对应的解密算子解密,以获取解密后的文件。
结合第四方面至第四方面的第二种可能的实现方式中任意一项,在第四方面的第三种可能的实现方式中,预设解密策略为第一解密策略,解密请求消息包括依次 输入的第一密钥、第二密钥以及第三密钥,其中,第一密钥与第一解密算子对应, 第二密钥与第二解密算子对应,第三密钥与第三解密算子对应,解密单元具体用于: 按照第三解密算子对加密文件解密,获取第一解密数据;以及用于按照第二解密算 子对第一解密数据解密,获取第二解密数据;以及用于按照第一解密算子对第二解 密数据解密,获取解密后的文件。
结合第四方面至第四方面的第三种可能的实现方式种任意一项,在第四方面的第四种可能的实现方式中,加密文件包括i个文件区域,预设解密策略为第二预设 策略,确定单元还用于:确定i个密钥中每个密钥对应的文件区域以及每个文件区 域分别对应的解密算子;解密单元还具体用于:按照与i个密钥中每个密钥输入相 反的顺序,依次对i个文件区域中每个文件区域分别执行以下步骤,以对加密文件 解密:按照第一文件区域对应的解密算子,对第一文件区域解密,第一文件区域为i个文件区域中任意一个文件区域。
第五方面,本发明实施例提供一种终端,该终端包括处理器、存储器、通信总 线和通信接口,处理器、存储器和通信接口通过通信总线连接并完成相互间的通信; 存储器,用于存储终端运行时的计算机执行指令;处理器,用于运行计算机执行指 令,以使得终端执行如第一方面至第一方面的第八种可能的实现方式中任意一项所 描述的文件加密方法和/或第二方面至第二方面的第五种可能的实现方式中任意一 项所描述的文件解密方法。
第六方面,本发明实施例提供一种计算机可读存储介质,包括指令,当其在终 端上运行时,使得终端执行如第一方面至第一方面的第八种可能的实现方式中任意 一项所描述的文件加密方法和/或第二方面至第二方面的第五种可能的实现方式中 任意一项所描述的文件解密方法。
第七方面,本发明实施例提供一种包含指令的计算机程序产品,当其在终端上 运行时,使得终端执行如第一方面至第一方面的第八种可能的实现方式中任意一项 所描述的文件加密方法和/或第二方面至第二方面的第五种可能的实现方式中任意 一项所描述的文件解密方法。
可以理解地,上述提供的任一种文件加密方法、文件解密方法、计算机存储介 质或者计算机程序产品均用于执行上文所提供的对应的方法,因此,其所能达到的 有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
附图说明
图1为本发明实施例提供的文件加密方法和文件解密方法所应用的终端的结构示意图;
图2为本发明实施例提供的终端的硬件结构示意图;
图3为本发明实施例提供的加密算子和指示符之间的映射关系示意图;
图4为本发明实施例提供的一种终端的显示界面示意图;
图5为本发明实施例提供的一种文件加密方法的流程示意图一;
图6为本发明实施例提供的一种文件加密方法的流程示意图二;
图7为本发明实施例提供的终端采用第一加密策略对文件加密时显示界面示意图一;
图8为本发明实施例提供的终端采用第一加密策略对文件加密时显示界面示意图二;
图9为本发明实施例提供的终端采用第一加密策略对文件加密时显示界面示意图三;
图10为本发明实施例提供的文件区域划分示意图;
图11为本发明实施例提供的终端采用第二加密策略对文件加密时终端的显示界面示意图一;
图12为本发明实施例提供的终端采用第二加密策略对文件加密时终端的显示界面示意图二;
图13为本发明实施例提供的终端采用第三加密策略对文件加密时终端的显示界面示意图一;
图14为本发明实施例提供的终端采用第三加密策略对文件加密时终端的显示界面示意图二;
图15为本发明实施例提供的终端采用第三加密策略对文件加密时终端的显示界面示意图三;
图16为本发明实施例提供的文件加密示例示意图一;
图17为本发明实施例提供的文件加密示例示意图二;
图18为本发明实施例提供的文件加密示例示意图三;
图19为本发明实施例提供的文件加密示例示意图四;
图20为本发明实施例提供的文件加密示例示意图五;
图21为本发明实施例提供的文件解密方法的流程示意图;
图22为本发明实施例提供的一种文件解密时显示界面示意图一;
图23为本发明实施例提供的一种文件解密时显示界面示意图二;
图24为本发明实施例提供的一种文件解密时显示界面示意图三;
图25为本发明实施例提供的一种图片加密的显示界面示意图一;
图26为本发明实施例提供的一种图片加密的显示界面示意图二;
图27为本发明实施例提供的一种文件加密/解密方法的具体实施流程示意图一;
图28为本发明实施例提供的一种文件加密/解密方法的具体实施流程示意图二;
图29为本发明实施例提供的一种文件加密/解密方法的具体实施流程示意图三;
图30为本发明实施例提供的终端的一种结构示意图;
图31为本发明实施例提供的终端的另一种结构示意图。
具体实施方式
为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域 技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。
在具体实施过程中,本发明实施例的终端可以为移动电话、移动电脑、平板电 脑、个人数字助理(Personal Digital Assistant,PDA)、媒体播放器、智能电视、 智能可穿戴设备(如智能手表、智能眼镜和智能手环等)、电子阅读器、手持游戏 机和车载电子设备或者云服务器等,所述终端具有对文件加密或者解密的功能。
传统的云服务器存储技术中,均是终端将待存储的文件发送给云服务器之后, 由云服务器统一为待存储的文件分配加密策略,而通常云服务器分配为加密策略均 是采用相同的加密方案,这样如果云服务器被攻击时,若存储在云服务器中的一个 文件的密码被破解,则会导致采用同一种加密策略的多个文件的密钥均被破解,这 样导致存储在云服务器的文件的安全性降低。
本发明实施例通过对为N个指示符中每个指示符分配一个对应的加密算子和 解密算子,这样终端在对文件加密时可以采用用户输入的i个指示符中的每个指示 符对应的加密算子对文件加密,这样每一个文件在加密均是通过多个加密算子加密 的,因此在对文件解密时,若解密方不知道文件的密钥,则需要同时破解多个加密 算子才能实现对文件解密,且文件加密时,是根据用户自定义的预设加密策略加密 的,这样只有解密方掌握正确的预设加密策略以及同时破解多个加密算子才能实现 对文件解密,提高了文件的安全性。
如图1所示,图1示出了本发明实施例提供的文件加密方法和文件解密方法所 应用的终端的结构示意图,如图1所示,该终端包括:加解密单元105、交互单元 102、算子库单元101、策略保存单元104以及显示单元103,在图1中虚线表示加 密过程,实线表示解密过程。
其中,算子库单元101,用于存储多个加密算法,该多个加密算法中每个加密 算法具有最基本的加密功能,终端在接收到用户发送的触发请求消息时可以通过从 多个加密算法中选择M个加密算法,并根据需要为M个加密算法中每个加密算法 赋予加密规则,以形成M个加密算子。算子库单元101还用于为M个加密算子中 每个加密算子分配一个指示符,以使得M个加密算子中每个加密算子与至少一个指 示符对应,从而建立M个加密算子和N个不同的指示符中每个指示符之间的映射 关系,不同加密算子可以对应相同的指示符。
本发明实施例中的指示符可以为字母,数字或者标点符号,例如,以指示符为 数字为例,则每个加密算子对应的指示符为0-(N-1)中任意一个数字,其中,N 大于或等于1且小于或等于10。以指示符为字母为例,则每个加密算子对应的指示 符可以为a-z或者A-Z中任意一项,此时N的值小于或等于26。如图3所示,图3 以N=9为例,在图3中示出了该N个不同的指示符为1-9。
本发明实施例中的加密规则可以为:Arnold变换,置换固定行,混沌序列数字 图像加密,Logistic混沌映射,置换固定列、按照固定比例缩放像素值,灰度数据 加密标准(Data Encryption Standard,DES)加密,SCAN加密中至少一项。
可以理解的是,本发明实施例中可以对加密算法赋予加密规则,也可以对加密 算法不赋予加密规则,当对加密算法不赋予加密规则时,则加密算法即为加密算子, 当对加密算法赋予加密规则后,则赋予加密规则后的加密算法即为加密算子。
如图3所示,加密算法1、加密算法2以及加密算法3具有最基本的加密算法 功能,在实际使用过程中可以将加密算法1、加密算法2以及加密算法3直接作为 加密算子使用。
一方面,可以根据每个加密算法对应的指示符确定每个加密算法所赋予的加密规则,本发明实施例中,同一个加密算法具有相同的加密原理,但是,在对加密算 法赋予加密规则时,若同一个加密算法对应不同的指示符,则可以将该同一个加密 算法当作不同的加密算子使用,示例性的,如图3所示加密算法4对应3个不同的 指示符,例如,加密算法4对应指示符1时可以形成一个加密算子4、加密算法4 对应指示符2时可以形成另一个加密算子5,加密算法4对应指示符3时可以形成 另一个加密算子6,其中,加密算子4、加密算子5以及加密算子6为具有不同加 密规则的加密算子。
另一方面,可以对同一个加密算法赋予不同的加密规则,以将该同一个加密算 法当作不同的加密算子使用。示例性的,如图3所示,终端为加密算法5赋予的加 密规则为加密规则1时,则形成加密算子7;终端为加密算法5赋予的加密规则为 加密规则2时,形成加密算子8;终端为加密算法5赋予的加密规则为加密规则3 时,形成加密算子9,其中,加密规则1、加密规则2和加密规则3分别为不同的 加密规则。
终端可以为每个加密算子分配至少一个指示符,如图3所示。
当然,本发明实施例中当算子库单元101为M个加密算子中每个加密算子分配 指示符之后,显示单元103还用于显示N个不同的指示符,以供用户从N个不同 的指示符中选择i个指示符作为i个密钥,可以理解的是,在文件加密/解密过程中, 终端将用户从N个不同的指示符中所选择的任意一个指示符确定为一个密钥。显示 单元103还用于在解密过程中,提示用户从N个指示符中选择i个密钥用于对加密 文件解密。当然,本发明实施例中显示单元103还可以显示文件,以及显示菜单栏, 该菜单栏包括至少一个操作菜单选项,例如,自定义加密菜单和自定义解密菜单, 其中,自定义加密菜单用于提示用户选择预设加密策略,自定义解密菜单用于提示 用户选择预设解密策略,其中,自定义加密菜单和自定义解密菜单分别包括多个子 选项,例如,自定义加密菜单包括的子选项为:第一加密策略、第二加密策略和第 三加密策略;自定义解密菜单包括的子选项为:第一解密策略、第二解密策略和第 三解密策略。如图4所示,图4示出了当菜单栏的按钮被用户选中(本发明实施例 的附图中出现“√”表示某个数字或者操作菜单选项被选中,本发明实施例仅是为 了在附图中区别出选中的数字和未选中的数字或者被选中的操作菜单选项,因此, 在实际使用过程中可以不显示“√”)时,在终端的显示界面上所显示的自定义加 密菜单。
其中,第一加密策略为按照i个密钥依次输入的顺序依次调用每个密钥对应的 加密算法对文件加密。其中,i为大于或等于1的整数,i个密钥中任意一个密钥取 自0-9中任意一个数字或者取自a-z中任意一个字母。
第二加密策略为根据每个密钥与文件包括的i个文件区域之间的映射关系,确 定i个文件区域中每个文件区域的加密算子,将每个文件区域分别按照各自对应的 加密算子加密,i个密钥中每个密钥与i个文件区域中的一个文件区域对应。
其中,第三加密策略为按照第一加密策略和第二加密策略中任意两项对文件加密,例如,可以先按照第一加密策略对文件加密,获取第一加密文件,然后再按照 第二加密策略对第一加密文件加密,获得最终的加密文件;也可以先按照第二加密 策略对文件加密,获取第一加密文件,然后再按照第一加密策略对第一加密文件加 密,获得最终的加密文件;也可以先执行第二加密策略再对文件包括的至少一个文 件区域采用第一加密策略加密等。
交互单元102,用于在加密时,接收用户通过显示单元103依次输入的i个密 钥,以及用于在解密时,接收用户通过显示单元103依次输入的包括i个密钥的解 密请求消息,其中,i个密钥可以为数字组合密码、字母组合密码、数字加字母组 合密码或者手势密码中任意一项,以及用于在解密过程中判断用户依次输入的i个 密钥与文件加密时的密钥序列是否相同,在解密请求消息与文件加密时的密钥序列 一致时,触发策略保存单元104确定解密请求消息中包括的i个密钥中每个密钥对 应的解密算子的标识,然后将每个密钥对应的解密算子的标识反馈给加解密单元 105。
可以理解的是,本发明实施例中每个加密算子对应唯一一个解密算子。因此, 在建立N个不同的指示符中每个指示符与加密算子之间的映射关系时,还可以建立 每个指示符与解密算子之间的映射关系,如表1所示。
策略保存单元104,用于保存交互单元102在文件被加密时由用户依次输入的 i个密钥,以及文件的区域划分形式,以及预设加密策略,以及用于保存N个指示 符中每个指示符与各自对应的加密算子的标识和解密算子标识之间的映射关系,如 表1所示。其中,一个加密算子的标识用于唯一识别一个加密算子,解密算子的标 识用于唯一识别一个解密算子。
表1指示符与加密算子、解密算子之间的映射关系
指示符 加密算子 解密算子
第一指示符 加密算子1 解密算子1
第二指示符 解密算子2 解密算子2
由表1可知,终端在对文件加密过程中,当i个密钥中存在第一指示符时,则 终端调用与第一指示符对应的加密算子1对文件加密,当i个密钥中存在第二指示 符时,则终端调用与第二指示符对应的加密算子2对文件加密。
加解密单元105,用于在加密过程中根据i个密钥中每个密钥对应的加密算子 的标识,依次从算子库单元101调用i个密钥中各个密钥分别对应的加密算子,以 及根据策略保存单元104保存的预设加密策略,以完成对文件的加密,以及在解密 过程中从策略保存单元104中确定解密请求消息中各个密钥分别对应的解密算子的 标识,然后根据解密请求消息中各个密钥分别对应的解密算子的标识,从算子库单 元101中调用解密请求消息中各个密钥分别对应的解密算子,并按照预设解密策略 完成对加密文件的解密。
在硬件实现上,本发明实施例提供的策略保存单元104和算子库单元101可以 为如图2所示的终端的存储器2011,加解密单元105可以为终端的处理器2012, 交互单元101可以为终端的通信接口2013,显示单元103可以为终端的显示器2015, 其中,存储器2011、处理器2012、显示器2015以及通信接口2013通过总线2014 连接。
可以理解的是,本发明实施例中文件加密方法所应用的终端和文件解密方法所应用的终端可以为同一个终端,也可以为不同的终端,本发明实施例对此不进行限 定。无论文件加密方法所应用的终端和文件解密方法所应用的终端是否为同一个终 端,其对本申请的技术方案并不构成影响,本发明实施例现以文件加密方法所应用 的终端和文件解密方法所应用的终端为同一个终端为例介绍。如图5所示,本发明 实施例提供一种文件加密方法、解密方法,包括:
S101、终端接收依次输入的i个密钥,其中,i为大于或等于1的整数。
本发明实施例中的文件可以为:图片,也可以为文档。
可选的,i个密钥中任意一个密钥为数字或者字母中任意一个。例如,该i个密 钥为:0a1。
本发明实施例对终端获取用户输入的i个指示符的方式不进行限定,终端可以 将用户的手指在候选界面上移动时产生的移动轨迹所形成的图案包括的指示符依 次确定为用户输入的i个指示符,也可以依次采集用户输入的每个指示符。
S102、终端根据依次输入的i个密钥,确定i个密钥中每个密钥的加密算子, 一个加密算子对应一个加密功能。
S103、终端按照预设加密策略调用所述每个密钥的加密算子对文件加密,获取 加密文件。
可以理解的是,加密文件的文件密钥序列号为依次输入的i个密钥。例如,第 一请求消息依次输入的i个密钥为:10289356,则加密文件的文件密钥序列号为: 10289356。也即该文件对应的文件密钥序列号为:10289356。
本发明实施例中提供一种文件加密方法,通过根据依次输入的i个密钥中每个 密钥,确定每个密钥各自的加密算子,并按照预设加密策略调用每个密钥的加密算 子对文件加密,即最终文件是通过多种加密算子实现加密的,由于在文件解密过程 中,需要通过解密算子对加密文件解密,且不同的加密算子通常对应不同的解密算 子,因此,当终端以i个密钥中每个密钥的加密算子对文件加密后,当对加密文件 解密时,若解密方不知道该加密文件所关联的i个密钥,则解密方通常需要同时破 解多个解密算子才能实现对加密文件的解密,提高了加密文件被破解的难度,从而 提高了加密文件的安全性,进一步的,在将加密文件存储在云服务器中时,由于加 密文件时按照预设加密策略调用i个密钥中每个密钥的加密算子加密后得到的,因 此,可以避免采用云服务器统一分配的加密方案对文件加密所引起的安全性低的问 题。
可选的,本发明实施例中的文件可以为图片,数据,文档中的任意一项,本发 明实施例对此不进行限定。示例性的,本发明实施例中的文件可以为图片。
可以理解的是,本发明实施例中终端在对文件加密后可以将加密文件保存在终端中,也可以保存在第三方设备中,例如存储设备中。在解密过程中,若加密文件 保存在终端中,终端可以在接收到解密请求消息时直接对加密文件按照解密请求消 息中携带的解密请求消息执行解密步骤。若加密文件未保存在终端中,或者解密方 和加密方不是同一个终端时,则解密方可以从第三方设备或者加密方获得加密文 件。
可选的,结合图5,如图6本发明实施例在步骤S103之后,本发明实施例提供 的方法还可以包括:
S104、终端将加密文件发送给存储设备。
示例性的,本发明实施例中的存储设备可以为云服务器。当然,本发明实施例 中终端还可以将加密文件发送给解密方终端。
可选的,在步骤S101之前,本发明实施例提供的方法还包括:
S105、终端基于触发请求消息,获取候选算子库,该候选算子库至少记录:N 个不同的指示符中每个指示符与各自对应的至少一个加密算子的标识之间的映射 关系,所述i个密钥由所述N个不同的指示符中的指示符组成。
可选的,本发明实施例中触发请求消息中还可以携带指示信息,该指示信息用 于指示加密时所选择的预设加密策略。
可选的,本发明实施例在步骤S105后还可以包括:
S106、终端在终端上显示候选界面,该候选界面包括N个不同的指示符,该N 个指示符用于指示从N个指示符中选择i个指示符作为i个密钥。
由于指示信息的内容不同,终端在加密时的预设加密策略会存在差异,且加密 方获取候选算子库的方式会存在差异,因此,以下将结合详细情况说明:
一方面,指示信息用于指示按照第一加密策略获取候选算子库。本发明实施例 中的步骤S105可以通过以下方式实现:
S1051a、终端从算子库中获取L个加密算子中每个加密算子的标识。其中,L 为大于或等于1的整数。
可选的,该L个加密算子中可以存在相同的加密算子,也可以存在不同的加密 算子。
S1052a、终端建立L个加密算子中每个加密算子的标识和N个指示符之间的映 射关系,以获取候选算子库。其中,N个指示符中每个指示符对应至少一个加密 算子的标识。
示例性的,L个加密算子为S1、S2、S1、S3,N个指示符为:1、2、3,则加 密方可以为加密算子“S1”分配指示符“1”和“3”,加密方为加密算子“S2”分 配指示符“2”,加密方为加密算子“S3”分配指示符“3”。也即指示符“1”和 “3”对应的加密算子均为“S1”,指示符“2”对应的加密算子为“S2”,指示符 “3”对应的加密算子还可以为加密算子“S3”。
由于终端是根据第一请求消息中携带的i个密钥对文件加密,在对文件加密过 程中,可能会存在i个密钥中存在两个或两个以上的密钥均相同的情况出现,这样 若将每个指示符均与一个加密算子对应,这样使得在i个密钥均相同的情况下,采 用i个密钥对文件加密时,降低加密文件的安全性。因此,本发明实施例中一个指 示符可以对应至少一个加密算子,且若一个指示符对应多个加密算子时,可以为每 个加密算子分配不同的编号,因此,当一个指示符对应多个加密算子时,该候选算 子库中还可以记录一个指示符对应的多个加密算子中每个加密算子的编号,该一个 加密算子的编号用于确定该一个加密算子在加密时的执行顺序。
可选的,每个加密算子的编号与指示符在i个密钥中的出现的次数对应。这样 当一个指示符X被多次输入时,由于该指示符X与多个加密算子对应,而多个加 密算子具有不同的编号,这样可以使得在文件加密过程中,根据指示符X被多次使 用的顺序,对文件采用不同的加密算子加密。
示例性的,i个密钥为:0332567,指示符3对应的多个加密算子分别为:加密 算子“S1”和加密算子“S3”,其中,加密算子“S3”的编号为2,加密算子“S1” 的编号为1。则指示符“3”在一个文件的i个密钥中第一次出现时,加密方将第一 预加密数据(其中,第一预加密数据为将文件按照指示符“0”对应的加密算子加 密后得到的数据)按照加密算子“S1”加密,获得第二预加密数据,然后将第二预 加密数据按照加密算子“S3”加密。
为了进一步的提供文件加密的安全性,本发明实施例中,i个密钥中存在至少 两个不同的密钥,且至少两个不同的密钥对应不同的加密算子。
在获取候选算子库的时,可能会存在不同的指示符对应同一个加密算子的情况出现,这样虽然是按照每个密钥对应的加密算子依次对文件加密,但是在不同的指 示符对应同一个加密算子的情况下,该不同的指示符也会对应同一个解密算子,同 样会造成文件安全性降低的问题,因此,本发明实施例中候选算子库中记录的N个 指示符中每个指示符对应的加密算子均不相同。
可选的,i个密钥中存在至少两个相同的密钥,且所述至少两个相同的密钥具 有不同的位置,所述至少两个相同的密钥对应不同的加密算子。
结合图4,如图7所示,图7以预设加密策略为第一加密策略为例说明:在图 3的基础上,若终端确定用户从自定义加密菜单中所选择的预设加密策略为:则终 端执行步骤S1051b并在终端上显示候选界面303,如图7中所示候选界面303中所 显示的N个指示符为:0-9。
示例性的,本发明实施例以指示符为数字为例,如表2所示,表2示出了每个指 示符对应的加密算子以及每个加密算子所具有的加密功能。
表2
需要说明的是,本发明实施例在执行步骤S101之前,终端根据S105中的触发 请求消息,在终端上显示如图4所示的界面,用于提示用户选择预设加密策略,在 终端若确定用户从自定义加密菜单包括的多个子选项中所选择的预设加密策略为 第一加密策略,则终端在显示界面上显示如图7所示的候选界面303,该候选界面 303上显示N个指示符,然后用户可以从N个指示符中任意选择i个指示符作为密 钥,如图8所示,图8中表示用户从候选界面303中所选择的i个指示符为56894, 此时终端按照i个指示符中每个指示符对应的加密算子依次对文件解密,并且在文 件解密结束后,在终端上显示提示消息,用于指示以对文件成功加密,如图9所示 的“文件加密成功”字样。可以理解的是,在文件解密结束后,在终端上显示的提 示消息还可以包括用于指示用户以哪种预设加密策略对文件加密的。
需要说明的是,本发明实施例中的当用户选择以某个预设加密策略对文件加密之后,可以仅在终端的显示界面上显示候选界面,也可以既显示候选界面又显示自 定义加密菜单,本发明实施例的各个附图中以既显示候选界面又显示自定义加密菜 单为例介绍,在实际过程中终端可以只显示候选界面。
一方面,指示信息用于指示按照第二加密策略获取候选算子库。本发明实施例 中的步骤S105可以通过以下方式实现:
S1051b、终端获取文件包括的i个文件区域中每个文件区域的标识。
S1052b、终端根据每个文件区域的标识,为i个文件区域中每个文件区域分配 一个指示符,不同的文件区域对应不同的指示符,以获取候选算子库。
可以理解的是,本发明实施例中,当采用第二加密策略获取候选算子库时,此 时该文件对应的密钥数量最多为i个。例如,如图10所示,终端将文件划分为5 个文件区域,即文件区域1、文件区域2、文件区域3、文件区域4以及文件区域5。 其中,文件区域1分别与指示符“1”和加密算子1对应,文件区域2分别与指示 符“2”和加密算子2对应,文件区域3分别与指示符“3”和加密算子3对应, 文件区域4分别与指示符“4”和加密算子4对应,文件区域5分别与指示符“5” 和加密算子5对应。
结合图4,如图11所示,图11以指示信息指示终端采用第二加密策略对文件 加密为例,在图4的基础上终端确定用户所选择的预设加密策略为第三解密策略, 则在候选界面303上显示i个指示符,由于此时终端将文件只划分为5个文件区域, 因此在此种情况下,候选界面上仅显示5个指示符,例如,如图12中的0-5。
可选的,如图13所示,终端若确定用户从自定义加密菜单包括的多个子选项 中所选择的预设加密策略为第三加密策略,则终端按照预设顺序(其中,预设顺序 为:终端设置的先显示按照第一加密策略加密时用于输入密钥的第一候选界面,再 显示按照第二加密策略加密时用于输入密钥的第二候选界面或者先显示按照第二 加密策略加密时用于输入密钥的第二候选界面,再显示按照第一加密策略加密时用 于输入密钥的第一候选界面)在终端上显示两次候选界面。本发明实施例对先出现 哪个候选界面的和后出现哪个候选界面的顺序不限定,该预设顺序可以由终端根据 用户的触发设置。
本发明实施例以预设顺序为先显示第一候选界面304,再显示第二候选界面305为例进行说明,如图14所示,在图14中第一候选界面304显示后,终端可以采集 用户通过移动手指在第一候选界面上产生的移动轨迹来确定终端所选择的密钥,如 图14所示,终端确定用户通过移动手指所产生的移动轨迹所依次输入的密钥为: 12589。终端在确定用户在第一候选界面输入i个密钥后,可以再一次显示第一候选 界面供用户确认第一次所输入的i个密钥,然后再显示第二候选界面305,如图15 所示,或者终端在确定用户在第一候选界面输入i个密钥后直接显示第二候选界面 305。
示例性的,本发明实施例以第三加密策略加密文件时,先按照第一加密策略对 文件加密,获得第一加密文件,再按照第二加密策略对第一加密文件加密,获得加 密文件。或者,以第三加密策略加密文件时,先按照第二加密策略对文件加密,获 得第一加密文件,再按照第一加密策略对第一加密文件加密,获得加密文件。
可以理解的是,本发明实施例中的候选算子库为终端出厂时自带的,则本发明 实施例中的步骤S1051a、S1052a、S1051b和S1052b则可以省略。也即终端在出 厂时已经确定每个密钥对应哪个加密算子。这样在解密过程中,即使加密方所采用 的终端和解密方所采用的终端为不同的终端时,依然可以根据候选算子库中,每个 密钥对应的解密算子对文件解密。
可选的,本发明实施例中的步骤S102可以通过以下方式实现:
S1021、终端根据依次输入的i个密钥,从候选算子库中确定依次输入的i个密 钥每个密钥的加密算子的标识。
S1022、终端根据每个密钥的加密算子的标识,从算子库中确定每个密钥对应 的加密算子。
由于预设加密策略不同,本发明实施例按照每个密钥的加密算子对文件加密时的方式存在差异,因此,本发明实施例现分别结合详细情况介绍:
一方面,在预设加密策略为第一加密策略时,即预设加密策略为按照i个密钥 依次输入的顺序,本发明实施例中的步骤S103可以通过以下方式实现:
S1031a、按照i个密钥依次输入的顺序,依次调用每个密钥的加密算子对文件 加密,获取加密文件。
示例性的,本发明实施例以依次输入的i个密钥为:第一密钥、第二密钥和第 三密钥为例进一步介绍如何根据每个密钥对应的加密算子对文件加密。因此, S1031a具体可以通过以下方式实现:
S10311a、终端按照第一加密算子对数据加密,获取第一加密数据,其中,第 一加密算子为候选算子库中第一密钥对应的加密算子。
S10312a、终端按照第二加密算子对第一加密数据加密,获取第二加密数据, 第二加密算子为候选算子库中第二密钥对应的加密算子。
S10313a、终端按照第三加密算子对第二加密数据加密,获取加密文件,第三 加密算子为候选算子库中第三密钥对应的加密算子。
需要说明的是,上述实施例仅以第一密钥、第二密钥和第三密钥为例说明,在 实际使用过程中,i个密钥可以包括比第一密钥、第二密钥和第三密钥更多的密钥, 且无论i个密钥的数量为多少,根据每个密钥对应的加密算子对文件加密的方式均 可以参考步骤S10311a、S10312a和S10313a。在采用第一加密策略对文件加密时, i个密钥中任意相邻的两个密钥中通过前一个密钥对应的加密算子得到的加密数据 为相邻两个密钥中后一个密钥对应的加密算子的输入。
示例性的,以文件为图片为例,第一请求消息中依次输入的i个密钥为:6253, 则如表2所示,加密方首先根据密钥“6”从表2中确定密钥6对应的加密算子为 加密算子6,并根据加密算子6对应的加密功能将如图16所示的图片按照固定比例 缩放像素值,得到如图17所示的第一加密数据;其次,终端根据密钥“2”对应加 密算子2的加密功能将如图17所示的第一加密数据在加密时置换固定行,得到如 图18所示的第二加密数据,再次,加密方根据密钥“5”对应的加密算子5的加密 功能将如图18所示的第二加密数据通过置换固定列得到如图19所示的第三加密数 据,最后,加密方根据密钥“3”对应的加密算子3的加密功能将如图19所示的第 三加密数据通过混沌序列数字图像加密得到如图20所示的加密文件。
可选的,在预设加密策略为第二加密策略,本发明实施例中的步骤S103可以 通过以下方式实现:
S1031b、终端根据每个密钥的加密算子,确定i个文件区域中每个文件区域对 应的加密算子。
可选的,终端候选算子库中还可以包括每个密钥与文件区域标识之间的映射关系,一个文件区域的标识用于唯一识别该文件区域。
由于每个密钥对应一个加密算子,因此在确定每个密钥与文件区域标识之间的映射关系后,即可以确定每个文件区域分别对应的加密算子。
示例性的,首选终端从候选算子库中确定每个i个密钥中每个密钥对应的文件 区域的标识,在确定每个密钥对应的文件区域的标识,将每个密钥对应的文件区域 的标识和其对应的加密算子相关联,从而确定i个文件区域中每个文件区域对应的 加密算子。
终端按照依次输入的i个密钥的顺序,对i个文件区域中每个文件区域分别执 行以下步骤,以获取加密文件:
S1032b、终端按照第一文件区域对应的加密算子,对第一文件区域加密,第一 文件区域为i个文件区域中任意一个文件区域。
在获取加密文件后,通常还包括对加密文件解密的过程,如图21所示,本发 明实施例提供一种文件解密的方法,包括:
S107、基于解密请求消息的触发,终端在确定解密请求消息中携带的i个密钥 与加密文件加密时的i个密钥一致时,确定解密请求消息中携带的i个密钥中每个 密钥的解密算子,i为大于或等于1的整数。
S108、终端按照预设解密策略调用每个密钥的解密算子对所述加密文件解密, 以获取解密后的文件。
具体的,终端在执行S108时,如果加密时的密钥和解密时的密钥是对称的, 则只有在确定解密请求消息中包括的i个密钥与加密文件所关联的i个密钥在同一 个位置上具有相同的密钥,才能确定解密请求消息包括的i个密钥与加密文件加密 时的i个密钥一致。
当然,若解密时的密钥和加密时密钥不对称,若确定解密请求消息包括的i个 密钥与加密文件加密时的i个密钥中处于同一个位置上的密钥具有预设的映射关系 时,也可以确定解密请求消息包括的i个密钥与加密文件加密时的i个密钥一致。 对于如何确定解密请求消息包括的i个密钥与加密文件加密时的i个密钥一致的方 式可以采用现有技术中的方式,本发明实施例在此不再赘述。
由于解密过程是加密过程的逆过程,因此,在用户触发终端对文件解密过程中,终端还需要在S107之前,根据用户触发的指示信息确定预设解密策略,即选择第 一解密策略,第二解密策略还是第三解密策略对加密文件解密。由于不同的预设解 密策略对应的解密方式也不同,因此以下将结合详细情况说明:
其中,第一解密策略为:与i个密钥输入相反的顺序,依次调用每个密钥对应 的解密算子对加密文件解密。
第二解密策略为:按照与i个密钥输入相反的顺序,将i个文件区域中任意一 个文件区域按照任意一个文件区域对应的解密算子解密。根据每个密钥与加密文件 包括的i个文件区域之间的映射关系,确定i个文件区域中每个文件区域的解密算 子,以及按照所述每个文件区域各自对应的解密算子对每个文件区域解密以及每个 密钥,i个密钥中每个密钥与i个文件区域中的一个文件区域对应。
其中,第三解密策略可以根据第三加密策略进行相应的设置,例如,加密过程 中先执行第一加密策略再执行第二加密策略,则解密过程中,先执行与第二加密策 略对应的第二解密策略对加密文件解密获得第一解密文件后,再将第一解密文件以 第一加密策略对应的第一解密策略解密,以获得文件。
可以理解的是,终端确定预设解密策略为第三解密策略时,则需要在显示界面 显示两次候选界面,以分别输入第一解密策略和第二解密策略时需要输入的密钥。
可以理解的是,在终端接收到解密请求消息时,终端首先会启动终端的解密功 能以调出自定义解密菜单栏,该自定义解密菜单栏中包括第一解密策略、第二解密 策略以及第三解密策略,终端根据用户的指示信息确定预设解密策略后,在终端的 显示界面上显示该预设解密策略对应的候选界面,如图23所示的候选界面用于提 示用户输入密钥,终端在确定输入的i个密钥与加密文件的i个密钥一致时,按照 用户的指示信息确定预设解密策略对加密文件解密。
可选的,本发明实施例中的S107可以通过以下方式实现:
S1071a、终端获取解密请求消息对应的候选算子库,候选算子库中至少记录解 密请求消息包括的i个密钥中每个密钥对应的解密算子的标识。
S1072a、终端根据解密请求消息对应的候选算子库,确定每个密钥对应的解密 算子的标识。
S1073a、终端根据每个密钥对应的解密算子的标识,从算子库中确定每个密钥 对应的解密算子。
可选的,候选算子库中还记录有每个加密算子对应的解密算子,因此,终端可 以根据每个密钥从候选算子库中确定每个密钥对应的解密算子。
可选的,预设解密策略为第一解密策略,即按照与解密请求消息中携带的i个 密钥相反的顺序依次调用每个密钥对应的解密算子,步骤S108可以通过以下方式 实现:
S1081a、按照与每个密钥输入相反的顺序,依次调用每个密钥对应的解密算子 对所述加密文件解密,以获取解密后的文件。
示例性的,解密请求消息包括的i个密钥依次为:第一密钥、第二密钥和第三 密钥,则步骤S1081a具体通过以下方式实现:
S10811a、终端按照第三解密算子对加密文件解密,获取第一解密数据;其中, 第三解密算子与第三密钥对应。
S10812a、终端按照第二解密算子对第一解密数据解密,获取第二解密数据, 其中,第三解密算子与第三密钥对应。
S10813a、终端按照第一解密算子对第二解密数据解密,获取所述解密后的文 件,其中,第一解密算子与第一密钥对应。
可选的,加密文件包括i个文件区域,i个文件区域中每个文件区域对应一个 密钥,终端预设解密策略为:第二解密策略,即将i个文件区域中任意一个文件区 域按照任意一个文件区域对应的解密算子解密,则步骤S108可以通过以下方式实 现:
S1081b、终端根据每个密钥的解密算子,确定i个文件区域中每个文件区域对 应的解密算子。
S1082b、终端按照与解密请求消息中携带的i个密钥相反的顺序,将i个文件 区域中任意一个文件区域按照所述任意一个文件区域对应的解密算子解密,以获取 解密后的文件。
示例性的,终端按照与解密请求消息包括的至少一个密钥中每个密钥的输入的顺序相反的顺序,对i个文件区域中每个文件区域分别执行以下步骤,以对加密文 件解密:
按照第一文件区域对应的解密算子,对第一文件区域解密,第一文件区域为i 个文件区域中任意一个文件区域。
可选的,本发明实施例在步骤S107之前,本发明实施例提供的方法还包括:
S109、终端获取加密文件。
示例性的,终端可以从保存有加密文件的云服务器中获取加密文件。
可选的,终端可以向保存有加密文件的云服务器发送文件获取请求消息,该文 件获取请求消息中携带加密文件的标识,加密文件的标识用于唯一识别加密文件。 加密文件的标识可以为加密文件名、加密文件所在的地址等。
需要说明的是,当本发明实施例中文件加密所应用的终端和文件解密所应用的终端不一致时,则文件解密所应用的终端需要对加密文件解密时还需要从文件加密 所应用的终端处获取候选算子库以及算子库,其中,候选算子库中至少记录N个指 示符中每个指示符与加密算子的标识(解密算子的标识)之间的映射关系,算子库 中存储有多个加密算子,以及每个加密算子对应的解密算子,这样即使对文件加密 的终端和对文件解密的终端不是同一个终端时,对文件解密的终端也可以在依次输 入的i个密钥和加密文件所关联的i个密钥一致的情况下,通过获取i个密钥中每个 密钥对应的解密算子的标识,并根据每个密钥对应的解密算子的标识按照与i个密 钥中每个密钥输入顺序相反的顺序依次调用i个解密算子以对加密文件解密。
本发明实施例终端在对文件加密时,可以对多个文件同时加密,例如,本发明 实施例以文件为图片为例,如图25所示,终端可以同时选中显示界面中的多个图 片,如图25中被选中的图片底下均标识有“√”,在图片被选中以后,终端接收 用户的输入的指示信息,再确定用户所选择的为菜单栏后,如图26所示,显示菜 单栏包括的多个操作菜单选项。例如,复制、上传到云相册、自定义加密、打印和 详细信息等。
下面结合图27、图28和图29对本发明实施例提供的数据传输方法做进一步说 明。
图27以预设加密策略为第一加密策略,文件加密所应用的终端和文件解密所应用的终端为同一个终端为例说明,可以理解的是,终端中预先存储有第一加密策略、 第二加密策略和第三解密策略,如图27所示,本发明实施例提供一种文件加密/解 密的方法,包括:
S201、终端基于触发请求消息,终端为算子库中每个加密算子分配至少一个指 示符。
其中,触发请求消息用于指示终端为算子库中每个加密算子分配至少一个指示符,该触发请求消息可以是终端第一次使用终端的文件加密功能时由用户触发产生 的。
可以理解的是,在S201中,触发请求消息中携带指示信息,用于指示按照第 一加密策略对文件加密。
S202、终端建立N个指示符中每个指示符与各自对应的加密算子的标识之间的 映射关系,以及每个加密算子的标识与各自对应的解密算子标识之间的对应关系。
其中,加密算子的标识用于唯一识别加密算子,解密算子的标识用于唯一识别 解密算子,加密算子的标识可以为加密算子的编号,解密算子的标识可以为解密算 子的编号。
S203、终端在确定用户选择的预设加密策略为第一加密策略时,在显示界面显 示N个指示符,其中,N个指示符用于指示用户从N个指示符中选择i个指示符作 为对文件加密时的密钥。
S204、终端接收依次输入的i个密钥。
可以理解的是,在步骤S204之前,还包括:终端接收用户发送的指示信息, 该指示信息用于指示按照第一加密策略对文件加密。
S205、终端根据依次输入的i个密钥,确定依次输入的i个密钥中每个密钥对 应的加密算子的标识。
S206、终端根据每个密钥对应的加密算子的标识,按照第一加密策略从算子库 中依次获取每个加密算子的标识所指示的加密算子对文件加密。
S207、终端将加密文件发送给云服务器。
S208、终端向保存有加密文件的云服务器发送文件请求消息,该文件请求消息 用于获取加密文件。
S209、终端接收云服务器发送的加密文件。
S210、终端基于解密请求消息的触发,接收依次输入的i个密钥。
可以理解的是,在步骤S210之前,终端还应该接收用户发送的第一指示信息, 该第一指示信息用于指示按照第一解密策略对加密文件解密。
S211、终端判断依次输入的i个密钥与加密文件的i个密钥是否一致,若依次 输入的i个密钥与加密文件的i个密钥一致,则执行S212,否则,终端发送提示信 息,用于指示用户密码输入错误。
S212、终端在确定依次输入的i个密钥与加密文件的i个密钥一致,获取i个 密钥中每个密钥对应的解密算子的标识。
S213、终端根据i个密钥中每个密钥对应的解密算子的标识,确定每个密钥对 应的解密算子。
S214、终端根据i个密钥中每个密钥对应的解密算子,按照第一解密策略对解 密文件解密。
如图28所示,本发明实施例提供一种文件加密/解密的方法,图28与图27的 区别在于,图28中的预设加密策略为第二加密策略,该方法包括:
S301、基于触发请求消息,终端将文件分为i个文件区域,为i个文件区域中 每个文件区域分配一个指示符、一个加密算子以及一个解密算子。
可以理解的是,该触发请求消息中携带指示信息,该指示信息用于指示按照第 二加密策略对文件加密。
S302、终端建立i个指示符中每个指示符与各自对应的加密算子的标识之间的 映射关系,以及每个加密算子的标识与各自对应的解密算子标识之间的对应关系, 以及建立每个指示符与各自对应的文件区域之间的映射关系,以获取候选算子库。
S303、终端在显示界面上显示i个指示符。
S304、终端获取依次输入的i个密钥。
S305、终端根据依次输入的i个密钥,从候选算子库中确定每个文件区域对应 的加密算子的标识。
S306、终端根据每个文件区域对应的加密算子的标识,从算子库中获取每个文 件区域对应的加密算子,并按照i个密钥中每个密钥依次输入的顺序,依次调用每 个文件区域对应的加密算子对该文件区域加密,获取加密文件。
S307、终端将加密文件发送给云服务器。
S308、终端向保存有加密文件的云服务器发送用于获取加密文件的请求消息。
S309、终端接收保存有加密文件的云服务器发送的加密文件。
S310、终端获取依次输入的i个密钥。
S311、判断依次输入的i个密钥与加密文件对应的i个密钥是否一致,若依次 输入的i个密钥与加密文件对应的i个密钥一致,则执行步骤S312。否则,终端发 送提示信息,用于指示密钥输入错误。
S312、在确定i个密钥与加密文件对应的i个密钥一致时,从候选算子库中获 取i个密钥中每个密钥对应的解密算子的标识,并根据i个密钥中每个密钥对应的 解密算子的标识,确定每个文件区域对应的解密算子的标识。
S313、根据每个文件区域对应的解密算子的标识,从算子库中调用每个文件区 域对应的解密算子。
S314、按照与i个密钥依次输入顺序相反的顺序,依次调用每个文件区域对应 的解密算子对该文件区域解密,以获取解密后的文件。
需要说明的是,在以第二加密策略对文件加密时,若文件区域1对应的解密算 子为1、加密算子为1,文件区域1对应的指示符为“1”;若文件区域2对应的解 密算子为2、加密算子为2,文件区域1对应的指示符为“2”;若文件区域3对应 的解密算子为3、加密算子为3,文件区域3对应的指示符为“3”;则在加密过程 中,若密钥为312,则先以加密算子为3对文件区域3加密,然后再以加密算子1 对文件区域1加密,然后再以加密算子2对文件区域2加密,即可获得加密算子; 在解密过程中密钥为:312,则先以解密算子2对文件区域2解密,再以解密算子1 对文件区域1解密,再以解密算子3对文件区域3解密。
如图29所示,本发明实施例提供一种文件加密/解密的方法,图29与图27和 图28的区别在于,图29中的预设加密策略为第三加密策略,由于第三加密策略是 将第一加密策略和第二加密策略进行组合,即先执行第一加密策略再执行第二加密 策略,也可以先执行第二加密策略再执行第一加密策略等,本发明实施例以先执行 第一加密策略再执行第二加密策略为例进行说明,该方法包括:
S401、终端基于触发请求消息,终端为算子库中每个加密算子分配至少一个指 示符,然后再将文件分为i2个文件区域,为i2个文件区域中每个文件区域分配一 个指示符。
可以理解的是,在S401中,触发请求消息中携带指示信息,用于指示按照第 三加密策略对文件加密。
S402、终端建立第一候选算子库和第二候选算子库,其中,第一候选算子库中 记录N个指示符中每个指示符与各自对应的加密算子的标识之间的映射关系,每个 加密算子的标识与各自对应的解密算子标识之间的对应关系;第二候选算子库记录 i2个文件中每个文件区域的指示符和各自对应的加密算子的标识之间的映射关系, 以及每个文件区域的指示符与解密算子的标识之间的映射关系。
S403、终端在确定用户选择的预设加密策略为第三加密策略时,在显示界面上 首先显示第一候选界面,第一候选界面上显示N个指示符,在确定用户从第一候选 界面选择i1个密钥后,再在显示界面上显示第二候选界面,其中,第二候选界面上 显示i2个指示符。
S404、终端接收依次输入的i个密钥,其中,i个密钥依次包括i1个密钥和i2 个密钥。
S405、终端根据依次输入的i个密钥,确定依次输入的i个密钥中每个密钥对 应的加密算子的标识。
S406、终端根据i1个密钥中每个密钥对应的加密算子的标识,从算子库中获取 i1个加密算子的标识所指示的i1个加密算子,再根据i2个密钥中每个密钥对应的 加密算子的标识获取i2个加密算子的标识所指示的i2个加密算子,终端按照第一 加密策略依次调用获取i1个加密算子对文件加密,然后再按照第二加密策略依次调 用i2个加密算子,对按照第一加密策略获取的加密数据的每个文件区域加密。
S407、终端将加密文件发送给云服务器。
S408、终端向保存有加密文件的云服务器发送文件请求消息,该文件请求消息 用于获取加密文件。
S409、终端接收云服务器发送的加密文件。
S410、终端基于解密请求消息的触发,接收依次输入的i个密钥。
可以理解的是,在步骤S410之前,终端还应该接收用户发送的第一指示信息, 该第一指示信息用于指示按照第三解密策略对加密文件解密。
需要说明的是,在确定按照第三解密策略对加密文件解密时,首先终端上显示 第一候选界面,在用户输入i1个密钥后再显示第二候选界面。
S411、终端判断依次输入的i个密钥与加密文件的i个密钥是否一致,若依次 输入的i个密钥与加密文件的i个密钥一致,则执行S412,否则,终端发送提示信 息,用于指示用户密码输入错误。
S412、终端在确定依次输入的i个密钥与加密文件的i个密钥一致,获取i个 密钥中每个密钥对应的解密算子的标识。
S413、终端根据i个密钥中每个密钥对应的解密算子的标识,确定每个密钥对 应的解密算子。
S414、终端按照与i个密钥输入顺序相反的顺序,依次调用每个密钥对应的解 密算子对加密文件解密。
示例性的,按照第三加密策略对文件加密时,第一次加密输入的i1个密钥为:123,第二次加密输入的i2个密钥为:abc,其中,密钥“1”对应加密算子1、解 密算子1;密钥“2”对应加密算子2和解密算子2,密钥“3”对应加密算子3和 解密算子3,密钥“a”对应加密算子4和解密算子4,密钥“b”对应加密算子“5” 和解密算子“5”,密钥“c”对应加密算子“6”和加密算子“6”,则在加密过程 中依次调用的加密算子为:加密算子1→加密算子2→加密算子3→加密算子4→加 密算子5以及→加密算子6;在解密过程中依次调用的解密算子为:解密算子6→ 解密算子5→解密算子4→解密算子3→解密算子2以及→解密算子1。当然在按照 第二加密策略对文件加密,按照第二解密策略对文件解密时,还需要考虑解密算子和加密算子对应的文件区域。
本发明实施例中提供一种文件加密方法,通过根据依次输入的i个密钥中每个 密钥,确定每个密钥各自的加密算子,并按照预设加密策略调用每个密钥的加密算 子对文件加密,即最终文件是通过多种加密算子实现加密的,由于在文件解密过程 中,需要通过解密算子对加密文件解密,且不同的加密算子通常对应不同的解密算 子,因此,当终端以i个密钥中每个密钥的加密算子对文件加密后,当对加密文件 解密时,若解密方不知道该加密文件所关联的i个密钥,则解密方通常需要同时破 解多个解密算子才能实现对加密文件的解密,提高了加密文件被破解的难度,从而 提高了加密文件的安全性,进一步的,在将加密文件存储在云服务器中时,由于加 密文件时按照预设加密策略调用i个密钥中每个密钥的加密算子加密后得到的,因 此,可以避免采用云服务器统一分配的加密方案对文件加密所引起的安全性低的问 题。
上述主要从终端的角度对本申请提供的方案进行了介绍。可以理解的是,终端 等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领 域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的终端及 方法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究 竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设 计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的 功能,但是这种实现不应认为超出本申请的范围。
本发明实施例可以根据上述方法示例对终端等进行功能模块的划分,例如,可 以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处 理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块 的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一 种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图30示出了上述实施例中 所涉及的终端的一种可能的结构示意图,终端包括:接收单元201、确定单元202 密单元203、获取单元204以及解密单元205。其中,接收单元201用于支持终端 执行上述实施例中的S101、S204、S210、S304、S309、S310以及S404、S409以 及S410;确定单元202用于支持终端执行上述实施例中的步骤S102(S1021、S1022)、 S107(S1071a、S1072a以及S1073a)、S205、S209、S212、S213、S305、S312以 及S405以及S412;加密单元203,用于支持终端执行上述实施例中的步骤S103 (S1031a、S10311a、S10312a、S10313a;S1031b,S1032b)、S206、S306以及S406; 获取单元204,用于支持终端执行上述实施例中的步骤S105(S1051a、S1052a;S1051b、S1052b)以及S109、S202、S302、S313、S402以及S413;解密单元205, 用于支持终端执行上述实施例中的步骤S108(S1081a、S10811a、S10812a、S10813a; S1081b、S1082b)、S214、S314以及S414;可以理解的是,终端还可以包括发送 单元,用于支持终端用于支持终端执行上述实施例中的步骤S104、S207、S208以 及S307、S308、S407以及S408;显示单元,用于支持终端执行上述实施例中的S106、 S203、S303以及S403;上述方法实施例涉及的各步骤的所有相关内容均可以援引 到对应功能模块的功能描述,在此不再赘述。
可以理解的是,当终端采用如图1所示的结构时,其中,接收单元201可以为 如图1所示的交互单元102,加密单元203和解密单元205可以集成在一个单元上, 如图1所示的加解密单元105;获取单元204可以为如图1所示的策略保存单元104, 图30中所示的显示单元即为如图1所示的显示单元103。
在采用集成的单元的情况下,图31示出了上述实施例中所涉及的终端的一种 可能的逻辑结构示意图。终端包括:处理模块112和通信模块113。处理模块112 用于对终端的动作进行控制管理,例如,处理模块112用于执行上述实施例中的步 骤S101、S204、S210、S304、S309、S310;步骤S102(S1021、S1022)、S107(S1071a、 S1072a以及S1073a)、S205、S209、S212、S213、S305、S312;S103(S1031a、 S10311a、S10312a、S10313a;S1031b,S1032b)、S206、S306;步骤S105(S1051a、 S1052a;S1051b、S1052b)以及S109、S202、S302、S313;S108(S1081a、S10811a、 S10812a、S10813a;S1081b、S1082b)、S214、S314,步骤S104、S207、S208以 及S307、S308;S106、S203、S303以及S404、S409以及S410、以及S405以及 S412、S406、S402以及S413、S414、S407以及S408以及S403;和/或用于本文所 描述的技术的其他过程。通信模块113用于支持终端和其他终端或者云服务器通信。 终端还可以包括存储模块111,用于存储终端的程序代码和数据。
其中,处理模块112可以是处理器或控制器,例如可以是中央处理器单元,通 用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻 辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发 明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实 现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理 器的组合等等。通信模块113可以是收发器、收发电路或收发器等。存储模块111 可以是存储器。
当处理模块112为处理器2012,通信模块113为通信接口2013,存储模块111 为存储器2011时,本发明实施例所涉及的终端可以为图2所示的设备。
一方面,本发明实施例提供一种计算机可读存储介质,计算机可读存储介质中 存储有指令,当计算机可读存储介质在终端上运行时,使得终端执行上述实施例中 的步骤S101、S204、S210、S304、S309、S310;步骤S102(S1021、S1022)、S107 (S1071a、S1072a以及S1073a)、S205、S209、S212、S213、S305、S312;S103 (S1031a、S10311a、S10312a、S10313a;S1031b,S1032b)、S206、S306;步骤 S105(S1051a、S1052a;S1051b、S1052b)以及S109、S202、S302、S313;S108 (S1081a、S10811a、S10812a、S10813a;S1081b、S1082b)、S214、S314,步骤S104、S207、S208以及S307、S308;S106、S203、S303以及S404、S409以及 S410、以及S405以及S412、S406、S402以及S413、S414、S407以及S408以及 S403。
另一方面,本发明实施例提供一种包含指令的计算机程序产品,当其在终端上 运行时,使得终端执行如上述实施例中的步骤S101、S204、S210、S304、S309、 S310;步骤S102(S1021、S1022)、S107(S1071a、S1072a以及S1073a)、S205、 S209、S212、S213、S305、S312;S103(S1031a、S10311a、S10312a、S10313a; S1031b,S1032b)、S206、S306;步骤S105(S1051a、S1052a;S1051b、S1052b) 以及S109、S202、S302、S313;S108(S1081a、S10811a、S10812a、S10813a; S1081b、S1082b)、S214、S314,步骤S104、S207、S208以及S307、S308;S106、 S203、S303以及S404、S409以及S410、以及S405以及S412、S406、S402以及 S413、S414、S407以及S408以及S403。
在上述实施例中,可以全部或部分的通过软件、硬件、固件或者其任意组合来 实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现。 计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程 序指令时,全部或部分地产生按照本发明实施例多描述的流程或功能。所述计算机 可以使通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令 可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算 机可读存储介质传输,例如,计算机指令可以从一个网站站点,计算机、服务器或 数据中心通过有线(例如,同轴电缆、光纤、数字用户线DSL)或无线(例如,红 外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。计 算机可读存储介质可以是计算机能够读取的任何可用介质或者是包含一个或多个 可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以使磁性介质, (例如,软盘,硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如, 固态硬盘(Solid State Disk,SSD))等。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述 的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据 需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的 功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的 具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法, 可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如, 所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分 方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以 忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接 可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其 它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分 布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本 实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可 以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述 集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使 用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术 方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以 以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干 指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或 处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包 括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种 可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此, 任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之 内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (18)

1.一种文件加密方法,其特征在于,包括:
接收依次输入的i个密钥,其中,i为大于或等于1的整数;
根据依次输入的所述i个密钥,确定所述i个密钥中每个密钥的加密算子,一个加密算子对应一个加密功能;
按照预设加密策略调用所述每个密钥的加密算子对文件加密,获取加密文件。
2.根据权利要求1所述的方法,其特征在于,所述接收依次输入的i个密钥之前,所述方法还包括:
基于触发请求消息,获取候选算子库,所述候选算子库至少记录:N个不同的指示符中每个指示符与各自对应的至少一个加密算子的标识之间的映射关系,所述i个密钥由所述N个不同的指示符中的指示符组成。
3.根据权利要求1或2所述的方法,其特征在于,所述预设加密策略为所述i个密钥依次输入的顺序,所述按照预设加密策略调用所述每个密钥的加密算子对所述文件加密,获取加密文件,包括:
按照所述i个密钥依次输入的顺序,依次调用所述每个密钥的加密算子对所述文件加密,获取加密文件。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述文件包括i个文件区域,一个文件区域对应一个指示符,所述预设加密策略为:将i个文件区域中任意一个文件区域按照所述任意一个文件区域对应的加密算子加密,所述按照预设加密策略调用所述每个密钥的加密算子对所述文件加密,获取加密文件,包括:
根据所述每个密钥的加密算子,确定所述i个文件区域中每个文件区域对应的加密算子;
按照所述i个密钥依次输入的顺序,将所述i个文件区域中任意一个文件区域按照所述任意一个文件区域对应的加密算子加密,以获取加密文件。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述i为大于或等于2的整数,所述i个密钥中存在至少两个不同的密钥,且所述至少两个不同的密钥对应不同的加密算子。
6.根据权利要求1-4任意一项所述的方法,其特征在于,所述i为大于或等于2的整数,所述i个密钥中存在至少两个相同的密钥,且所述至少两个相同的密钥具有不同的位置,所述至少两个相同的密钥对应不同的加密算子。
7.一种文件解密方法,其特征在于,包括:
基于解密请求消息的触发,在确定所述解密请求消息中携带的i个密钥与加密文件加密时的i个密钥一致时,确定所述解密请求消息中携带的i个密钥中每个密钥的解密算子,i为大于或等于1的整数;
按照预设解密策略调用所述每个密钥的解密算子对所述加密文件解密,以获取解密后的文件。
8.根据权利要求7所述的方法,其特征在于,所述预设解密策略为:与所述解密请求消息中携带的i个密钥相反的顺序,所述按照预设解密策略调用所述每个密钥的解密算子对所述加密文件解密,以获取解密后的文件,包括:
按照与所述每个密钥输入相反的顺序,依次调用所述每个密钥对应的解密算子对所述加密文件解密,以获取解密后的文件。
9.根据权利要求7或8所述的方法,其特征在于,所述加密文件包括i个文件区域,所述i个文件区域中每个文件区域对应一个密钥,所述预设解密策略为:将所述i个文件区域中任意一个文件区域按照所述任意一个文件区域对应的解密算子解密,所述按照预设解密策略调用所述每个密钥的解密算子对所述加密文件解密,以获取解密后的文件,包括:
根据所述每个密钥的解密算子,确定所述i个文件区域中每个文件区域对应的解密算子;
按照与所述解密请求消息中携带的i个密钥相反的顺序,将所述i个文件区域中任意一个文件区域按照所述任意一个文件区域对应的解密算子解密,以获取解密后的文件。
10.一种终端,其特征在于,包括:
接收单元,用于接收依次输入的i个密钥,其中,i为大于或等于1的整数;
确定单元,用于根据依次输入的所述i个密钥,确定所述i个密钥中每个密钥的加密算子,一个加密算子对应一个加密功能;
加密单元,用于按照预设加密策略调用所述每个密钥的加密算子对所述文件加密,获取加密文件。
11.根据权利要求10所述的终端,其特征在于,所述终端还包括:获取单元,用于:基于触发请求消息,获取候选算子库,所述候选算子库至少记录:N个不同的指示符中每个指示符与各自对应的至少一个加密算子的标识之间的映射关系,所述i个密钥由所述N个不同的指示符中的指示符组成。
12.根据权利要求10或11所述的终端,其特征在于,所述预设加密策略为所述i个密钥依次输入的顺序,所述加密单元具体用于:按照所述i个密钥依次输入的顺序,依次调用所述每个密钥的加密算子对所述文件加密,获取加密文件。
13.根据权利要求10-12中任意一项所述的终端,其特征在于,所述文件包括i个文件区域,一个文件区域对应一个指示符,所述预设加密策略为:将i个文件区域中任意一个文件区域按照所述任意一个文件区域对应的加密算子加密,所述确定单元,还用于根据所述每个密钥的加密算子,确定所述i个文件区域中每个文件区域对应的加密算子;
所述加密单元,还具体用于:按照所述i个密钥依次输入的顺序,将所述i个文件区域中任意一个文件区域按照所述任意一个文件区域对应的加密算子加密,以获取加密文件。
14.一种终端,其特征在于,包括:
确定单元,用于基于解密请求消息的触发,在确定所述解密请求消息中携带的i个密钥与加密文件加密时的i个密钥一致时,确定所述解密请求消息中携带的i个密钥中每个密钥的解密算子,i为大于或等于1的整数;
解密单元,用于按照预设解密策略调用所述每个密钥的解密算子对所述加密文件解密,以获取解密后的文件。
15.根据权利要求14所述的终端,其特征在于,所述预设解密策略为:按照与所述解密请求消息中携带的i个密钥相反的顺序,所述解密单元具体用于,按照与所述每个密钥输入相反的顺序,依次调用所述每个密钥对应的解密算子对所述加密文件解密,以获取解密后的文件。
16.根据权利要求14或15所述的终端,其特征在于,所述加密文件包括i个文件区域,所述i个文件区域中每个文件区域对应一个密钥,所述预设解密策略为:将所述i个文件区域中任意一个文件区域按照所述任意一个文件区域对应的解密算子解密,所述确定单元,还用于根据所述每个密钥的解密算子,确定所述i个文件区域中每个文件区域对应的解密算子;
所述解密单元,用于按照与所述解密请求消息中携带的i个密钥相反的顺序,将所述i个文件区域中任意一个文件区域按照所述任意一个文件区域对应的解密算子解密,以获取解密后的文件。
17.一种终端,其特征在于,所述终端包括处理器、存储器、通信总线和通信接口,所述处理器、所述存储器和所述通信接口通过所述通信总线连接并完成相互间的通信;所述存储器,用于存储所述终端运行时的计算机执行指令;所述处理器,用于运行所述计算机执行指令,以使得所述终端执行如权利要求1-6中任意一项所述的文件加密方法和/或权利要求7-9中任意一项所述的文件解密方法。
18.一种计算机可读存储介质,包括指令,当其在终端上运行时,使得终端执行如权利要求1-6中任意一项所述的文件加密方法和/或权利要求7-9中任意一项所述的文件解密方法。
CN201710213918.8A 2017-01-20 2017-04-01 一种文件加密方法、解密方法及终端 Pending CN108334785A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710047735 2017-01-20
CN2017100477353 2017-01-20

Publications (1)

Publication Number Publication Date
CN108334785A true CN108334785A (zh) 2018-07-27

Family

ID=62922199

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710213918.8A Pending CN108334785A (zh) 2017-01-20 2017-04-01 一种文件加密方法、解密方法及终端

Country Status (1)

Country Link
CN (1) CN108334785A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109101826A (zh) * 2018-08-08 2018-12-28 君泰创新(北京)科技有限公司 一种光伏设备的工艺数据保护方法及装置
US20210090077A1 (en) * 2019-09-19 2021-03-25 Bank Of America Corporation System architectures for point-of-sale data obfuscation, data removal and data encryption
CN112995159A (zh) * 2021-02-07 2021-06-18 北京声智科技有限公司 信息处理方法、装置、终端及计算机可读存储介质
CN113722724A (zh) * 2020-05-26 2021-11-30 Tcl新技术(惠州)有限公司 一种加密方法、解密方法、终端以及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101282212A (zh) * 2008-05-20 2008-10-08 北京方正国际软件系统有限公司 一种基于模板的加密解密系统与方法
CN103914666A (zh) * 2013-09-17 2014-07-09 亚欧宝龙信息安全技术(湖南)有限公司 一种基于分区的文件加解密方法和装置
CN105260668A (zh) * 2015-10-10 2016-01-20 北京搜狗科技发展有限公司 一种文件加密方法及电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101282212A (zh) * 2008-05-20 2008-10-08 北京方正国际软件系统有限公司 一种基于模板的加密解密系统与方法
CN103914666A (zh) * 2013-09-17 2014-07-09 亚欧宝龙信息安全技术(湖南)有限公司 一种基于分区的文件加解密方法和装置
CN105260668A (zh) * 2015-10-10 2016-01-20 北京搜狗科技发展有限公司 一种文件加密方法及电子设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109101826A (zh) * 2018-08-08 2018-12-28 君泰创新(北京)科技有限公司 一种光伏设备的工艺数据保护方法及装置
US20210090077A1 (en) * 2019-09-19 2021-03-25 Bank Of America Corporation System architectures for point-of-sale data obfuscation, data removal and data encryption
CN113722724A (zh) * 2020-05-26 2021-11-30 Tcl新技术(惠州)有限公司 一种加密方法、解密方法、终端以及存储介质
CN112995159A (zh) * 2021-02-07 2021-06-18 北京声智科技有限公司 信息处理方法、装置、终端及计算机可读存储介质
CN112995159B (zh) * 2021-02-07 2022-04-08 北京声智科技有限公司 信息处理方法、装置、终端及计算机可读存储介质

Similar Documents

Publication Publication Date Title
JP4866863B2 (ja) セキュリティコード生成方法及びユーザ装置
CN107370730A (zh) 一种登录信息处理方法及设备
CN109829269A (zh) 基于电子印章验证电子文档的方法、装置及系统
CN108334785A (zh) 一种文件加密方法、解密方法及终端
CN103310169A (zh) 一种保护sd卡数据的方法和保护系统
JP4597784B2 (ja) データ処理装置
CN110086609A (zh) 数据安全备份和安全恢复的方法及电子设备
CN107113286A (zh) 跨设备的漫游内容擦除操作
CN112100679B (zh) 基于隐私保护的数据处理方法、装置和服务器
CN107707347A (zh) 用户密钥的备份方法及装置、用户密钥的导入方法及装置
CN105005731A (zh) 一种数据加密、解密的方法及移动终端
CN107948152A (zh) 信息存储方法、获取方法、装置及设备
CN109214201A (zh) 一种数据共享方法、终端设备及计算机可读存储介质
CN105117635A (zh) 一种本地数据的安全保护系统和方法
CN108133151A (zh) 文件加密装置、文件处理方法及移动终端设备
CN105703901A (zh) 加密数据输入方法及加密数据输入装置
CN109246130A (zh) 数据加密方法、装置、计算机设备及存储介质
CN106375990A (zh) 一种手机隐私数据的加解密系统和加解密方法
CN105243331A (zh) 加密装置及加密方法、解密装置及解密方法
CN107770407B (zh) 联合零水印嵌入的图像加密方法和装置
CN112822010B (zh) 一种基于量子密钥和区块链的可移动存储介质管理方法
KR101346284B1 (ko) 암호화 파일의 생성 방법 및 해독 방법과 이 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체
CN108833090A (zh) 一种存储设备的加密方法、解密方法及存储设备
CN110321727A (zh) 应用程序信息的存储、处理方法及装置
US20060104445A1 (en) Systems and methods for hiding a data group

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180727