CN111368322A - 一种文件解密方法、装置、电子设备和存储介质 - Google Patents
一种文件解密方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN111368322A CN111368322A CN202010165243.6A CN202010165243A CN111368322A CN 111368322 A CN111368322 A CN 111368322A CN 202010165243 A CN202010165243 A CN 202010165243A CN 111368322 A CN111368322 A CN 111368322A
- Authority
- CN
- China
- Prior art keywords
- key
- key component
- component
- data
- original
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供一种文件解密方法、装置、电子设备和存储介质,所述方法包括:第一终端设备获取待解密的密文文件,以及获取第一密钥分量和第二密钥分量;其中,所述第一密钥分量和所述第二密钥分量中的一个存储在第一终端设备中,另一个存储在第二终端设备中,所述第一密钥分量和所述第二密钥分量为通过对原始密钥进行数据提取划分得到的;根据所述第一密钥分量和所述第二密钥分量,得到所述第一终端设备对应的原始密钥;利用所述原始密钥对所述待解密的密文文件进行解密。由此,本申请实施例降低了在一个终端设备被攻击时原始密钥泄露的几率,有效提高了密钥存储的安全性,同时保证了传输文件的安全。
Description
技术领域
本申请涉及密钥安全领域,具体而言,涉及一种文件解密方法、装置、电子设备和存储介质。
背景技术
随着信息技术的飞速发展和互联网技术的全面普及,各系统间数据交换日益增多,数据加解密成为通讯安全的基础,但各系统间数据安全性的关键因素是密钥的安全,如何保护密钥成为了重中之重。
现有技术往往是通过本地的密钥直接对传输文件进行解密,一旦本地被黑客攻击,密钥就会泄露,导致后续传输文件不再安全。
发明内容
本申请实施例的目的在于提供一种文件解密方法、装置、电子设备和存储介质,用以提高密钥存储的安全性。
第一方面,实施例提供一种文件解密方法,包括:第一终端设备获取待解密的密文文件,以及获取第一密钥分量和第二密钥分量;其中,所述第一密钥分量和所述第二密钥分量中的一个存储在第一终端设备中,另一个存储在第二终端设备中,所述第一密钥分量和所述第二密钥分量为通过对原始密钥进行数据提取划分得到的;根据所述第一密钥分量和所述第二密钥分量,得到所述第一终端设备对应的原始密钥;利用所述原始密钥对所述待解密的密文文件进行解密。
本申请实施例通过将原始密钥的第一密钥分量和第二密钥分量分别存储在两个终端设备中。在需要进行解密时,根据两个密钥分量才能得到原始密钥,对密文进行解密。由此,本申请实施例降低了在一个终端设备被攻击时原始密钥泄露的几率,有效提高了密钥存储的安全性,同时保证了传输文件的安全。
在可选的实施方式中,所述方法还包括:获取待加密的明文文件,以及获取第一密钥分量和第二密钥分量;根据所述第一密钥分量和所述第二密钥分量,得到所述第一终端设备对应的原始密钥;利用所述原始密钥对所述待加密的明文文件进行加密,得到密文文件。
本申请实施例降低了在一个终端设备被攻击时原始密钥泄露的几率,有效提高了密钥存储的安全性,同时保证了传输文件的安全。
在可选的实施方式中,所述第一密钥分量包括:多个密钥数据以及每一密钥数据对应的提取位,所述提取位用于指示密钥数据在所述原始密钥中的位置,所述第二密钥分量包括掩盖数据和提取密钥数据后所述原始密钥剩下的密钥数据,所述掩盖数据用于填充所述原始密钥中的密钥数据被提取后留下的空位;所述根据所述第一密钥分量和所述第二密钥分量,得到所述第一终端设备对应的原始密钥,包括:根据第一密钥分量中每一密钥数据对应的提取位,利用所述密钥数据替换所述第二密钥分量中对应位置的掩盖数据,得到所述第一终端设备对应的原始密钥。
本申请实施例根据密钥数据对应的提取位,利用密钥数据将第二密钥中的掩盖数据进行替换,使得第二密钥分量在存储的过程中数据长度与原始密钥的数据长度一致,避免被不法分子发现原始密钥进行了分量,有效防止存储有密钥分量的其他终端设备被攻击。
在可选的实施方式中,所述第一密钥分量存储在第一终端设备中,所述第二密钥分量存储在第二终端设备中,所述获取第一密钥分量和第二密钥分量,包括:获取存储在第一终端设备中的第一密钥分量以及第一终端设备的设备标识;根据所述设备标识生成密钥请求,并向所述第二终端设备发送所述密钥请求;接收第二终端设备返回的对应的第二密钥分量。
本申请实施例可以根据设备标识生成密钥请求,以使第二终端设备返回设备标识对应的密钥分量。由此,在第二终端设备存储有不同的密钥分量时,可以通过设备标识高效、快速地匹配到合适的密钥分量。
在可选的实施方式中,在所述获取第一密钥分量和第二密钥分量之前,所述方法还包括:获取所述原始密钥;对原始密钥进行数据提取,将提取出的密钥数据作为第一密钥子数据,将所述原始密钥中剩余的密钥数据以及空白位作为第二密钥子数据,所述空白位为对所述原始密钥进行数据提取后得到的;根据第一密钥子数据和每一第一密钥子数据对应的提取位,得到所述第一密钥分量;利用随机生成的掩盖数据,对所述第二密钥子数据的空白位进行填充处理,得到第二密钥分量,其中,所述第二密钥分量的数据长度与所述原始密钥的数据长度相同;将所述第一密钥分量和所述第二密钥分量中的一个存入所述第一终端设备中,并向第二终端设备发送所述第一密钥分量和所述第二密钥分量中的另一个,以存入所述第二终端设备。
本申请实施例在生成第二密钥分量时,可以利用掩盖数据对第二密钥子数据的空白位进行填充,使得第二密钥分量的数据长度被掩盖,避免被不法分子发现原始密钥进行了分量,有效防止存储有密钥分量的其他终端设备被攻击。同时,将第一密钥分量和第二密钥分量分别存入两个终端设备中,可以在一定程度上增加原始密钥存储的安全性。
在可选的实施方式中,所述根据第一密钥子数据和每一第一密钥子数据对应的提取位,得到所述第一密钥分量,包括:根据第一密钥子数据和每一第一密钥子数据对应的提取位,得到初始第一密钥分量;从第三方设备获取第三方密钥,并利用所述第三方密钥对所述初始第一密钥分量进行加密,获得所述第一密钥分量。
本申请实施例利用第三方密钥对第一密钥分量进行加密,可以增加第一密钥分量在存储时的安全性。
在可选的实施方式中,在所述将所述第一密钥分量和所述第二密钥分量中的一个存入所述第一终端设备中,并向第二终端设备发送所述第一密钥分量和所述第二密钥分量中的另一个,以存入所述第二终端设备之后,所述方法还包括:对所述第二密钥分量进行数据提取,将提取出的密钥数据作为第三密钥子数据,将剩余的密钥数据以及空白位作为第四密钥子数据;根据第三密钥子数据和每一第三密钥子数据对应的提取位,得到第三密钥分量;利用随机生成的掩盖数据,对所述第四密钥子数据的空白位进行填充处理,得到第四密钥分量,其中,所述第四密钥分量的数据长度与所述原始密钥的数据长度相同;利用所述第四密钥分量替换所述第二密钥分量,并向第三终端发送所述第三密钥分量。
本申请实施例通过再次对第二密钥分量进行数据提取,可以得到多个密钥分量,使得后续需要按照密钥分量的组装顺序,才能得到原始密钥,增加了原始密钥存储的安全性。
第二方面,实施例提供一种文件解密装置,包括:获取模块,用于获取待解密的密文文件,以及获取第一密钥分量和第二密钥分量;其中,所述第一密钥分量和所述第二密钥分量中的一个存储在第一终端设备中,另一个存储在第二终端设备中,所述第一密钥分量和所述第二密钥分量为通过对原始密钥进行数据提取划分得到的;组合模块,用于根据所述第一密钥分量和所述第二密钥分量,得到所述第一终端设备对应的原始密钥;解密模块,用于利用所述原始密钥对所述待解密的密文文件进行解密。
本申请实施例通过将原始密钥的第一密钥分量和第二密钥分量分别存储在两个终端设备中。在需要进行解密时,通过组合模块根据两个密钥分量才能得到原始密钥,通过解密模块对密文进行解密。由此,本申请实施例降低了在一个终端设备被攻击时原始密钥泄露的几率,有效提高了密钥存储的安全性,同时保证了传输文件的安全。
第三方面,实施例提供一种电子设备,包括:处理器、存储器和总线,其中,所述处理器和所述存储器通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如前述实施方式任一项所述的方法。
第四方面,实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如前述实施方式任一项所述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种文件解密方法的流程示意图;
图2a为本申请实施例提供的一种第一密钥分量的示意图;
图2b为本申请实施例提供的一种第二密钥分量的示意图;
图2c为本申请实施例提供的一种原始密钥的示意图;
图3本申请实施例提供的又一种文件解密方法的流程示意图;
图4为本申请实施例提供的一种第二密钥子数据的示意图;
图5为本申请实施例提供的一种文件解密装置的结构示意图;
图6为一种可应用于本申请实施例中的电子设备的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
图1为本申请实施例提供的一种文件解密方法的流程示意图,所述文件解密方法,包括:
步骤110:第一终端设备获取待解密的密文文件,以及获取第一密钥分量和第二密钥分量。
其中,所述第一密钥分量和所述第二密钥分量中的一个存储在第一终端设备中,另一个存储在第二终端设备中,所述第一密钥分量和所述第二密钥分量为通过对原始密钥进行数据提取划分得到的。
例如,当第一终端设备存储有第一密钥分量时,第二终端设备存储有第二密钥分量。第一终端设备在获取到待解密的密文文件时,可以获取自身存储的第一密钥分量,从第二终端设备中获取对应的第二密钥分量。同理,当第一终端设备存储有第二密钥分量时,第二终端设备存储有第一密钥分量。第一终端设备在获取到待解密的密文文件时,可以获取自身存储的第二密钥分量,从第二终端设备中获取对应的第一密钥分量。
值得说明的是,第一密钥分量和第二密钥分量也可以分别存储在第二终端设备和第三终端设备中,第一终端设备可以从第二终端设备获取第一密钥分量,以及从第三终端设备中获取第二密钥分量。其中,第一密钥分量和第二密钥分量分别存储的具体终端设备不限定,可以根据实际的安全需求进行调整。
再者,第一终端设备、第二终端设备和第三终端设备可以是个人电脑(personalcomputer,PC)、平板电脑、智能手机、个人数字助理(personal digital assistant,PDA)、可穿戴设备等终端。具体的终端设备的类型可以根据实际传输需求进行调整。
步骤120:根据所述第一密钥分量和所述第二密钥分量,得到所述第一终端设备对应的原始密钥。
其中,第一密钥分量中包括了原始密钥中的部分密钥数据,第二密钥分量中包括了原始密钥中剩余的密钥数据。因此,在终端设备需要原始密钥进行解密时,可以根据获取的所有密钥分量中的所有密钥数据得到对应的原始密钥。
步骤130:利用所述原始密钥对所述待解密的密文文件进行解密。
由此,通过将第一密钥分量和第二密钥分量分开进行存储,在终端设备需要进行解密时,再从其他终端设备或自身的存储器中获取第一密钥分量和/或第二密钥分量,再将密钥分量进行组合,得到原始密钥的方式,极大地提高了密钥分量存储的安全性,同时也保证了传输文件的安全。
值得说明的是,需要解密的终端设备,也即需要获取所有密钥分量的终端设备不限定,可以是第一终端设备也可以第二终端设备,还可以是第三终端设备。对应的,而其他存储有密钥分量的终端设备会与需要解密的终端设备进行配合,通过安全传输的方式使需要解密的终端设备获取得到对应的密钥分量。
还需要说明的是,将原始密钥进行数据提取划分可以得到两个密钥分量,也可以得到两个以上的密钥分量。而后续需要根据所有密钥分量,才能得到对应的原始密钥。原始密钥对应的密钥分量的数目不限定,可以根据实际的文件解密需求进行调整。
作为本申请的一种实施方式,所述方法还包括:获取待加密的明文文件,以及获取第一密钥分量和第二密钥分量;根据所述第一密钥分量和所述第二密钥分量,得到所述第一终端设备对应的原始密钥;利用所述原始密钥对所述待加密的明文文件进行加密,得到密文文件。
同理,在终端设备需要进行加密时,可以从其他终端设备或自身的存储器中获取第一密钥分量和/或第二密钥分量,再将密钥分量进行组合,得到原始密钥,以对待加明文件进行加密。
值得说明的是,在终端设备需要进行加密时,可以通过上述的获取密钥分量,重新组合得到原始密钥的方式来进行加密;还可以通过在每次需要加密时才生成原始密钥的方式来进行加密,后续再将生成的原始密钥进行拆分,得到多个密钥分量,再将不同的密钥分量分别保存在不同的终端设备中。由此,后续在需要对加密后得到的密文文件进行解密时,可以通过上述的获取密钥分量,重新组合得到原始密钥的方式来进行解密,以此来提高密钥分量存储的安全性。
作为本申请的一种实施方式,所述第一密钥分量包括:多个密钥数据以及每一密钥数据对应的提取位,所述提取位用于指示密钥数据在所述原始密钥中的位置,所述第二密钥分量包括掩盖数据和提取密钥数据后所述原始密钥剩下的密钥数据,所述掩盖数据用于填充所述原始密钥中的密钥数据被提取后留下的空位。步骤120可以具体包括:根据第一密钥分量中每一密钥数据对应的提取位,利用所述密钥数据替换所述第二密钥分量中对应位置的掩盖数据,得到所述第一终端设备对应的原始密钥。
其中,第一密钥分量中的密钥数据是通过对原始密钥进行数据提取出的数据,同时,用提取位来标识密钥数据在原始密钥中的位置。第二密钥分量中的掩盖数据,用于填充被提取后的原始密钥中留下的空位,也即提取位对应的位置。以下通过举例说明原始密钥的组合过程。
图2a为本申请实施例提供的一种第一密钥分量的示意图,图2a为第一密钥分量,第一密钥分量a中的x3、x5均为密钥数据,s1、s2为每一密钥数据对应的提取位。其中,s1的数值为3,则表征对应的x3在原始密钥中的第3位;s2的数值为5,则表征对应的x5在原始密钥中的第5位。图2b为本申请实施例提供的一种第二密钥分量的示意图,第二密钥分量b中的x1、x2、x4、x6为密钥数据,x3’、x5’为用于填充空位的掩盖数据。由此,本申请可以根据第一密钥分量a中s1、s2的值,分别利用x3、x5替换第二密钥分量b中的掩盖数据x3’、x5’。例如,提取位s1的数值为3,则可以利用对应的密钥数据x3,替换第二密钥分量中第3位的数据,也即掩盖数据x3’,替换后的第二密钥分量即为原始密钥c。图2c为本申请实施例提供的一种原始密钥的示意图,原始密钥c中的x1、x2、x3、x4、x5、x6为密钥数据。其中,第一密钥分量、第二密钥分量和第三密钥分量的具体数据长度和具体数值不限定,可以根据实际保密需求进行调整。
值得说明的是,掩盖数据在第一密钥分量中与其他的密钥数据相同,在获取到第一密钥分量时,是无法区分出第一密钥分量中掩盖数据和密钥数据,需要根据对应的第二密钥分量中的提取位,才能判断出第一密钥分量中的掩盖数据。并且,第一密钥分量中密钥数据与提取位的具体位置分布不限定,可以根据实际安全需求进行调整。
作为本申请的一种实施方式,所述第一密钥分量存储在第一终端设备中,所述第二密钥分量存储在第二终端设备中,所述步骤110可以具体包括:获取存储在第一终端设备中的第一密钥分量以及第一终端设备的设备标识;根据所述设备标识生成密钥请求,并向所述第二终端设备发送所述密钥请求;接收第二终端设备返回的对应的第二密钥分量。
其中,第一密钥分量和第二密钥分量分别存储的终端设备不同,第一密钥分量可以存储在第一终端设备中,对应的第二密钥分量可以存储在第二终端设备中;同理,第一密钥分量可以存储在第二终端设备中,对应的第二密钥分量可以存储在第一终端设备中。第一密钥分量和第二密钥分量分别存储的具体终端设备不限定,可以根据实际的安全需求进行调整。
由此,在终端设备较多的情况下,一个终端设备中可能存储有多个其他终端设备对应的密钥分量。例如,第二终端设备中存储有与第一终端设备对应的第二密钥分量的情况下,可能还存储有多个其他设备对应的密钥分量。由此,通过根据设备标识生成密钥请求,可以使得第二终端设备在接收到密钥请求后,根据密钥请求中的设备标识找到对应的第二密钥分量,并返回给对应的第一终端设备,确保第一终端设备得到正确的密钥分量。
同时,第一终端设备也可以接收其他终端设备发送的密钥请求,并根据密钥请求中的设备标识找到对应的密钥分量并进行返回,实现终端设备之间密钥分量的传输。
图3本申请实施例提供的又一种文件解密方法的流程示意图,作为本申请的一种实施方式,在步骤110之前,所述方法还包括:
步骤310:获取所述原始密钥。
其中,原始密钥可以为第一终端设备生成的;可以为第二终端设备生成的;或者是由第一终端设备与第二终端设备协商后在第三方设备生成的。由此,第一终端设备获取原始密钥的具体方式不限定,可以根据实际解密需求进行调整。
步骤320:对原始密钥进行数据提取,将提取出的密钥数据作为第一密钥子数据,将所述原始密钥中剩余的密钥数据以及空白位作为第二密钥子数据,所述空白位为对所述原始密钥进行数据提取后得到的。
其中,对原始密钥进行数据提取的顺序以及密钥数据的个数都是随机的,也即随机从原始密钥中提取出的密钥数据。第二密钥子数据中的空白位为从原始密钥中提取出的密钥数据后,在原始密钥中留下的空白位置。
图4为本申请实施例提供的一种第二密钥子数据的示意图,假设原始密钥c中的密钥数据为x1、x2、x3、x4、x5、x6,可以将数据提出的密钥数据x3、x5,作为第一密钥子数据,可以将提取后剩下的密钥数据x1、x2、x4、x6以及空白位,作为第二密钥子数据h,如图4所示。
继续参考图3,步骤330:根据第一密钥子数据和每一第一密钥子数据对应的提取位,得到所述第一密钥分量。
举例来说,假设第一密钥子数据为x3、x5,且第一密钥子数据中密钥数据x3对应的提取位为s1,密钥数据x5对应的提取位为s2,则第二密钥分量可以为x3、x5、s1、s2。
步骤340:利用随机生成的掩盖数据,对所述第二密钥子数据的空白位进行填充处理,得到第二密钥分量,其中,所述第二密钥分量的数据长度与所述原始密钥的数据长度相同。
其中,第二密钥子数据的空白位可以利用掩盖数据进行填充,也即掩盖数据的数量可以与空白位的数量相同,将每一掩盖数据填充至空白位中,使得第二密钥分量在没有空白位的同时,第二密钥分量的数据长度也与原始密钥的数据长度相同。
由此,即使存储有第二密钥分量的终端设备被攻击,攻击者也无法识别出截获的第二密钥分量是密钥分量,仍会认为截获的第二密钥分量为原始密钥,进而也在一定程度上减小攻击者根据截获的密钥分量继续攻击其他终端设备,以获取完整的原始密钥的可能性。
举例来说,假设第二密钥子数据h为x1、x2、空白位、x4、空白位、x6。可以将x3’、x5’填充在第二密钥子数据的空白位中,将填充后的第二密钥子数据x1、x2、x3’、x4、x5’、x6作为第二密钥分量。
步骤350:将所述第一密钥分量和所述第二密钥分量中的一个存入所述第一终端设备中,并向第二终端设备发送所述第一密钥分量和所述第二密钥分量中的另一个,以存入所述第二终端设备。
同时,本申请实施例通过将原始密钥的第一密钥分量和第二密钥分量分别存储在两个终端设备中,使得后续需要根据两个密钥分量才能得到原始密钥,降低了在一个终端设备被攻击时原始密钥泄露的几率,有效提高了原始密钥存储的安全性。
作为本申请的一种实施方式,步骤330可以具体包括:根据第一密钥子数据和每一第一密钥子数据对应的提取位,得到初始第一密钥分量;从第三方设备获取第三方密钥,并利用所述第三方密钥对所述初始第一密钥分量进行加密,获得所述第一密钥分量,以增加第一密钥分量存储的安全性。
其中,获取的第三方密钥可以存储在第一终端设备中,在第一终端设备需要得到原始密钥时,可以通过第三方密钥先对第一密钥分量进行解密,再根据解密后的第一密钥分量和对应的第二密钥分量得到原始密钥。如果在第二终端设备需要得到原始密钥时,第一终端设备在接收到密钥请求后,可以将第三方密钥以及密钥分量同时发送给第二终端设备。
作为本申请的一种实施方式,在步骤350之后,所述方法还包括:对所述第二密钥分量进行数据提取,将提取出的密钥数据作为第三密钥子数据,将剩余的密钥数据以及空白位作为第四密钥子数据;根据第三密钥子数据和每一第三密钥子数据对应的提取位,得到第三密钥分量;利用随机生成的掩盖数据,对所述第四密钥子数据的空白位进行填充处理,得到第四密钥分量,其中,所述第四密钥分量的数据长度与所述原始密钥的数据长度相同;利用所述第四密钥分量替换所述第二密钥分量,并向第三终端发送所述第三密钥分量。
其中,还可以再将第二密钥分量进行数据提取,以得到更多的密钥分量。其数据提取的过程与原始密钥的数据提取的过程相同,此处不在进行赘述。同时,由于第二密钥分量中含有掩盖数据,后续得到的第三密钥分量和第四密钥分量中都可能会存有掩盖数据。由此,在后续获取原始密钥时,可以按照获得密钥分量的逆顺序,对所有的密钥分量进行组合,以此来得到正确的原始密钥。
举例来说,假设得到的第一密钥分量为a,第二密钥分量为b,根据第二密钥分量数据b提取得到的是第三密钥分量为d,以及第四密钥分量e。那么,后续需要根据第三密钥分量d和第四密钥分量e才能得到第二密钥分量b,之后可以根据第二密钥分量b和第一密钥分量a得到原始密钥分量。具体的密钥分量组合过程与上述根据密钥分量得到原始密钥的过程一致,此处不再进行赘述。
作为本申请的另一种实施方式,可以对原始密钥进行多次数据提取,根据多次提取得到的密钥数据,可以得到多个第一密钥分量,根据原始密钥剩余的密钥数据,可以得到第二密钥分量。多个第一密钥分量和第二密钥分量中,不同的密钥分量均存储在不同的终端设备中。在后续需要原始密钥时,可以根据多个第一密钥分量以及第二密钥分量,快速、高效地得到原始密钥。
图5为本申请实施例提供的一种文件解密装置的结构示意图,基于同一发明构思,本申请实施例中还提供一种文件解密装置400,包括:获取模块410,用于获取待解密的密文文件,以及获取第一密钥分量和第二密钥分量;其中,所述第一密钥分量和所述第二密钥分量中的一个存储在第一终端设备中,另一个存储在第二终端设备中,所述第一密钥分量和所述第二密钥分量为通过对原始密钥进行数据提取划分得到的;组合模块420,用于根据所述第一密钥分量和所述第二密钥分量,得到所述第一终端设备对应的原始密钥;解密模块430,用于利用所述原始密钥对所述待解密的密文文件进行解密。
在上述实施例的基础上,所述文件解密装置400还包括:加密模块,用于获取待加密的明文文件,以及获取第一密钥分量和第二密钥分量;根据所述第一密钥分量和所述第二密钥分量,得到所述第一终端设备对应的原始密钥;利用所述原始密钥对所述待加密的明文文件进行加密,得到密文文件。
在上述实施例的基础上,所述第一密钥分量包括:多个密钥数据以及每一密钥数据对应的提取位,所述提取位用于指示密钥数据在所述原始密钥中的位置,所述第二密钥分量包括掩盖数据和提取密钥数据后所述原始密钥剩下的密钥数据,所述掩盖数据用于填充所述原始密钥中的密钥数据被提取后留下的空位;所述组合模块420具体用于:根据第一密钥分量中每一密钥数据对应的提取位,利用所述密钥数据替换所述第二密钥分量中对应位置的掩盖数据,得到所述第一终端设备对应的原始密钥。
在上述实施例的基础上,所述第一密钥分量存储在第一终端设备中,所述第二密钥分量存储在第二终端设备中,所述获取模块410具体用于:获取存储在第一终端设备中的第一密钥分量以及第一终端设备的设备标识;根据所述设备标识生成密钥请求,并向所述第二终端设备发送所述密钥请求;接收第二终端设备返回的对应的第二密钥分量。
在上述实施例的基础上,所述文件解密装置400还包括:密钥存储模块,用于获取所述原始密钥;对原始密钥进行数据提取,将提取出的密钥数据作为第一密钥子数据,将所述原始密钥中剩余的密钥数据以及空白位作为第二密钥子数据,所述空白位为对所述原始密钥进行数据提取后得到的;根据第一密钥子数据和每一第一密钥子数据对应的提取位,得到所述第一密钥分量;利用随机生成的掩盖数据,对所述第二密钥子数据的空白位进行填充处理,得到第二密钥分量,其中,所述第二密钥分量的数据长度与所述原始密钥的数据长度相同;将所述第一密钥分量和所述第二密钥分量中的一个存入所述第一终端设备中,并向第二终端设备发送所述第一密钥分量和所述第二密钥分量中的另一个,以存入所述第二终端设备。
在上述实施例的基础上,所述密钥存储模块具体用于:根据第一密钥子数据和每一第一密钥子数据对应的提取位,得到初始第一密钥分量;从第三方设备获取第三方密钥,并利用所述第三方密钥对所述初始第一密钥分量进行加密,获得所述第一密钥分量。
在上述实施例的基础上,所述文件解密装置400还包括:二次密钥存储模块,用于对所述第二密钥分量进行数据提取,将提取出的密钥数据作为第三密钥子数据,将剩余的密钥数据以及空白位作为第四密钥子数据;根据第三密钥子数据和每一第三密钥子数据对应的提取位,得到第三密钥分量;利用随机生成的掩盖数据,对所述第四密钥子数据的空白位进行填充处理,得到第四密钥分量,其中,所述第四密钥分量的数据长度与所述原始密钥的数据长度相同;利用所述第四密钥分量替换所述第二密钥分量,并向第三终端发送所述第三密钥分量。
请参照图6,图6示出了一种可应用于本申请实施例中的电子设备10的结构框图。电子设备10可以包括存储器101、存储控制器102、处理器103、外设接口104、输入输出单元105、显示单元107。
所述存储器101、存储控制器102、处理器103、外设接口104、输入输出单元105、显示单元107各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。至少一个软件或固件(firmware)存储于所述存储器101中或固化在操作系统(operating system,OS)中的软件功能模块。所述处理器103用于执行存储器101中存储的可执行模块,软件功能模块或计算机程序。
其中,存储器101可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器101用于存储程序,所述处理器103在接收到执行指令后,执行所述程序,前述本申请实施例任一实施例揭示的方法可以应用于处理器103中,或者由处理器103实现。
处理器103可以是一种集成电路芯片,具有信号的处理能力。上述的处理器103可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器103也可以是任何常规的处理器等。
所述外设接口104将各种输入/输出装置耦合至处理器103以及存储器101。在一些实施例中,外设接口104,处理器103以及存储控制器102可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
输入输出单元105用于提供给用户输入数据实现用户与所述电子设备10的交互。所述输入输出单元105可以是,但不限于,鼠标和键盘等。
显示单元107在所述电子设备10与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,所述显示单元107可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器103进行计算和处理。
可以理解,图6所示的结构仅为示意,所述电子设备10还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。图6中所示的各组件可以采用硬件、软件或其组合实现。
综上所述,本申请实施例提供了一种文件解密方法、装置、电子设备和存储介质,所述方法包括:第一终端设备获取待解密的密文文件,以及获取第一密钥分量和第二密钥分量;其中,所述第一密钥分量和所述第二密钥分量中的一个存储在第一终端设备中,另一个存储在第二终端设备中,所述第一密钥分量和所述第二密钥分量为通过对原始密钥进行数据提取划分得到的;根据所述第一密钥分量和所述第二密钥分量,得到所述第一终端设备对应的原始密钥;利用所述原始密钥对所述待解密的密文文件进行解密。由此,本申请实施例降低了在一个终端设备被攻击时原始密钥泄露的几率,有效提高了密钥存储的安全性,同时保证了传输文件的安全。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
需要说明的是,功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种文件解密方法,其特征在于,包括:
第一终端设备获取待解密的密文文件,以及获取第一密钥分量和第二密钥分量;其中,所述第一密钥分量和所述第二密钥分量中的一个存储在第一终端设备中,另一个存储在第二终端设备中,所述第一密钥分量和所述第二密钥分量为通过对原始密钥进行数据提取划分得到的;
根据所述第一密钥分量和所述第二密钥分量,得到所述第一终端设备对应的原始密钥;
利用所述原始密钥对所述待解密的密文文件进行解密。
2.根据权利要求1所述的文件解密方法,其特征在于,所述方法还包括:
获取待加密的明文文件,以及获取第一密钥分量和第二密钥分量;
根据所述第一密钥分量和所述第二密钥分量,得到所述第一终端设备对应的原始密钥;
利用所述原始密钥对所述待加密的明文文件进行加密,得到密文文件。
3.根据权利要求1所述的文件解密方法,其特征在于,所述第一密钥分量包括:多个密钥数据以及每一密钥数据对应的提取位,所述提取位用于指示密钥数据在所述原始密钥中的位置,所述第二密钥分量包括掩盖数据和提取密钥数据后所述原始密钥剩下的密钥数据,所述掩盖数据用于填充所述原始密钥中的密钥数据被提取后留下的空位;所述根据所述第一密钥分量和所述第二密钥分量,得到所述第一终端设备对应的原始密钥,包括:
根据第一密钥分量中每一密钥数据对应的提取位,利用所述密钥数据替换所述第二密钥分量中对应位置的掩盖数据,得到所述第一终端设备对应的原始密钥。
4.根据权利要求1所述的文件解密方法,其特征在于,所述第一密钥分量存储在第一终端设备中,所述第二密钥分量存储在第二终端设备中,所述获取第一密钥分量和第二密钥分量,包括:
获取存储在第一终端设备中的第一密钥分量以及第一终端设备的设备标识;
根据所述设备标识生成密钥请求,并向所述第二终端设备发送所述密钥请求;
接收第二终端设备返回的对应的第二密钥分量。
5.根据权利要求1-4任一项所述的文件解密方法,其特征在于,在所述获取第一密钥分量和第二密钥分量之前,所述方法还包括:
获取所述原始密钥;
对原始密钥进行数据提取,将提取出的密钥数据作为第一密钥子数据,将所述原始密钥中剩余的密钥数据以及空白位作为第二密钥子数据,所述空白位为对所述原始密钥进行数据提取后得到的;
根据第一密钥子数据和每一第一密钥子数据对应的提取位,得到所述第一密钥分量;
利用随机生成的掩盖数据,对所述第二密钥子数据的空白位进行填充处理,得到第二密钥分量,其中,所述第二密钥分量的数据长度与所述原始密钥的数据长度相同;
将所述第一密钥分量和所述第二密钥分量中的一个存入所述第一终端设备中,并向第二终端设备发送所述第一密钥分量和所述第二密钥分量中的另一个,以存入所述第二终端设备。
6.根据权利要求5所述的文件解密方法,其特征在于,所述根据第一密钥子数据和每一第一密钥子数据对应的提取位,得到所述第一密钥分量,包括:
根据第一密钥子数据和每一第一密钥子数据对应的提取位,得到初始第一密钥分量;
从第三方设备获取第三方密钥,并利用所述第三方密钥对所述初始第一密钥分量进行加密,获得所述第一密钥分量。
7.根据权利要求5所述的文件解密方法,其特征在于,在所述将所述第一密钥分量和所述第二密钥分量中的一个存入所述第一终端设备中,并向第二终端设备发送所述第一密钥分量和所述第二密钥分量中的另一个,以存入所述第二终端设备之后,所述方法还包括:
对所述第二密钥分量进行数据提取,将提取出的密钥数据作为第三密钥子数据,将剩余的密钥数据以及空白位作为第四密钥子数据;
根据第三密钥子数据和每一第三密钥子数据对应的提取位,得到第三密钥分量;
利用随机生成的掩盖数据,对所述第四密钥子数据的空白位进行填充处理,得到第四密钥分量,其中,所述第四密钥分量的数据长度与所述原始密钥的数据长度相同;
利用所述第四密钥分量替换所述第二密钥分量,并向第三终端发送所述第三密钥分量。
8.一种文件解密装置,其特征在于,包括:
获取模块,用于获取待解密的密文文件,以及获取第一密钥分量和第二密钥分量;其中,所述第一密钥分量和所述第二密钥分量中的一个存储在第一终端设备中,另一个存储在第二终端设备中,所述第一密钥分量和所述第二密钥分量为通过对原始密钥进行数据提取划分得到的;
组合模块,用于根据所述第一密钥分量和所述第二密钥分量,得到所述第一终端设备对应的原始密钥;
解密模块,用于利用所述原始密钥对所述待解密的密文文件进行解密。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,其中,所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1-7任一项所述的方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010165243.6A CN111368322B (zh) | 2020-03-11 | 2020-03-11 | 一种文件解密方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010165243.6A CN111368322B (zh) | 2020-03-11 | 2020-03-11 | 一种文件解密方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111368322A true CN111368322A (zh) | 2020-07-03 |
CN111368322B CN111368322B (zh) | 2022-04-12 |
Family
ID=71208682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010165243.6A Active CN111368322B (zh) | 2020-03-11 | 2020-03-11 | 一种文件解密方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111368322B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113162766A (zh) * | 2021-04-25 | 2021-07-23 | 亿次网联(杭州)科技有限公司 | 一种密钥分量的密钥管理方法和系统 |
CN113360859A (zh) * | 2021-05-28 | 2021-09-07 | 湖南大学 | 基于Python解释器的加密文件安全控制方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1801693A (zh) * | 2005-06-28 | 2006-07-12 | 华为技术有限公司 | 分组加密算法中对短分组的处理方法 |
WO2018014723A1 (zh) * | 2016-07-20 | 2018-01-25 | 腾讯科技(深圳)有限公司 | 密钥管理方法、装置、设备及系统 |
CN109302280A (zh) * | 2018-08-02 | 2019-02-01 | 哈尔滨工程大学 | 一种aes密钥扩展方法 |
CN109981576A (zh) * | 2019-02-22 | 2019-07-05 | 矩阵元技术(深圳)有限公司 | 密钥迁移方法和装置 |
CN110768790A (zh) * | 2019-09-06 | 2020-02-07 | 深圳壹账通智能科技有限公司 | 数据安全授权访问方法、装置、设备及存储介质 |
-
2020
- 2020-03-11 CN CN202010165243.6A patent/CN111368322B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1801693A (zh) * | 2005-06-28 | 2006-07-12 | 华为技术有限公司 | 分组加密算法中对短分组的处理方法 |
WO2018014723A1 (zh) * | 2016-07-20 | 2018-01-25 | 腾讯科技(深圳)有限公司 | 密钥管理方法、装置、设备及系统 |
CN109302280A (zh) * | 2018-08-02 | 2019-02-01 | 哈尔滨工程大学 | 一种aes密钥扩展方法 |
CN109981576A (zh) * | 2019-02-22 | 2019-07-05 | 矩阵元技术(深圳)有限公司 | 密钥迁移方法和装置 |
CN110768790A (zh) * | 2019-09-06 | 2020-02-07 | 深圳壹账通智能科技有限公司 | 数据安全授权访问方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
乔驰 等: ""一种基于信任值的Ad hoc密钥管理方案"", 《信息安全与通信保密》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113162766A (zh) * | 2021-04-25 | 2021-07-23 | 亿次网联(杭州)科技有限公司 | 一种密钥分量的密钥管理方法和系统 |
CN113360859A (zh) * | 2021-05-28 | 2021-09-07 | 湖南大学 | 基于Python解释器的加密文件安全控制方法和装置 |
CN113360859B (zh) * | 2021-05-28 | 2022-08-09 | 湖南大学 | 基于Python解释器的加密文件安全控制方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111368322B (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110324143B (zh) | 数据传输方法、电子设备及存储介质 | |
CN107707347B (zh) | 用户密钥的备份方法及装置、用户密钥的导入方法及装置 | |
CN112751852B (zh) | 数据传输方法及相关设备 | |
CN107786331B (zh) | 数据处理方法、装置、系统及计算机可读存储介质 | |
US10565381B2 (en) | Method and apparatus for performing firmware programming on microcontroller chip, and associated microcontroller chip | |
CN107818265B (zh) | 加密方法、装置和系统 | |
CN111368322B (zh) | 一种文件解密方法、装置、电子设备和存储介质 | |
CN112469036A (zh) | 一种消息加解密方法、装置、移动终端和存储介质 | |
CN111552928A (zh) | 一种认证方法及装置 | |
CN109039997B (zh) | 密钥获得方法、装置及系统 | |
CN107248972B (zh) | 数据加密、解密方法、装置及电子设备 | |
CN110287733B (zh) | 一种文件防篡改方法和装置 | |
CN110888716A (zh) | 一种数据处理的方法、装置、存储介质和电子设备 | |
US9135449B2 (en) | Apparatus and method for managing USIM data using mobile trusted module | |
CN108154037B (zh) | 进程间的数据传输方法和装置 | |
US8929555B2 (en) | Data encryption systems and methods | |
CN113556333A (zh) | 一种计算机网络数据安全传输方法、装置 | |
CN113946862A (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
CN113132320A (zh) | 一种加密传输方法、装置及电子设备 | |
CN106919846B (zh) | 一种消息中间件处理方法和系统 | |
CN113076568B (zh) | 一种总线保护装置、方法、芯片和存储介质 | |
CN115001716B (zh) | 教育一体机的网络数据处理方法、系统和教育一体机 | |
CN117375803B (zh) | 密钥派生接口注册方法、调用方法、相关设备及存储介质 | |
CN114239028A (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
JP7215525B2 (ja) | 端末、制御方法、及びプログラム |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 300000 3301, global land Plaza, 309 Nanjing Road, Nankai District, Tianjin Patentee after: Network Security Valley (Tianjin) Technology Co.,Ltd. Address before: 300000 3301, global land Plaza, 309 Nanjing Road, Nankai District, Tianjin Patentee before: CLP (Tianjin) Network Information Security Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |