CN109145639A - 文件加密方法、解密方法及装置 - Google Patents

文件加密方法、解密方法及装置 Download PDF

Info

Publication number
CN109145639A
CN109145639A CN201810841784.9A CN201810841784A CN109145639A CN 109145639 A CN109145639 A CN 109145639A CN 201810841784 A CN201810841784 A CN 201810841784A CN 109145639 A CN109145639 A CN 109145639A
Authority
CN
China
Prior art keywords
file
subdata
encryption
encrypted
block
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
Application number
CN201810841784.9A
Other languages
English (en)
Other versions
CN109145639B (zh
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.)
Federation Of Industry And Commerce Lingchuang Beijing Technology Co ltd
Original Assignee
Beijing North Source Information Safe Technology 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 Beijing North Source Information Safe Technology Ltd filed Critical Beijing North Source Information Safe Technology Ltd
Priority to CN201810841784.9A priority Critical patent/CN109145639B/zh
Publication of CN109145639A publication Critical patent/CN109145639A/zh
Application granted granted Critical
Publication of CN109145639B publication Critical patent/CN109145639B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • 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/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供了一种文件加密方法、解密方法及装置,所述文件加密方法包括:获取待加密文件;根据所述待加密文件生成包括预分块信息及第一校验码的第一子数据;根据所述第一子数据生成包括第二校验码的第二子数据,采用第一密钥对所述第一子数据进行加密,获得第一子数据密文;根据所述第一子数据密文和所述第二子数据获得加密文件元数据;按照所述预分块信息划分所述待加密文件,获得多个块文件以及分块元数据;采用第二密钥对所述多个块文件分别进行加密,获得与每个所述块文件对应的加密块文件;将所述加密文件元数据、每个所述加密块文件以及所述分块元数据按照第一预设顺序组成加密文件。本申请实施例所述方案能够提高文件的安全性。

Description

文件加密方法、解密方法及装置
技术领域
本申请涉及信息安全技术领域,具体而言,涉及一种文件加密方法、解密方法及装置。
背景技术
随着计算机技术应用的普及,计算机在人们的生产、生活中有着举足轻重的地位。计算机在使用过程中,往往会受到各种挑战,其中,计算机上的各种文件的安全就是一个非常大的挑战。
为了保证文件的安全,发展出了各种行之有效的加解密技术。现有技术中,为了保证文件的安全性,常常会采用各种加密算法给文件加密,从而避免文件被非法篡改以保证文件的安全性。但是,现有的这些加解密方法处理的文件中,如果别人获取了该文件的解密密钥,可能会对文件进行一些非法篡改,这种加密处理的文件的安全性不能得到保证。
发明内容
为了克服现有技术中的上述不足,本申请的目的在于提供一种文件加密方法,所述文件加密方法包括:
获取待加密文件;
根据所述待加密文件生成包括预分块信息及第一校验码的第一子数据,所述第一校验码根据所述待加密文件计算获得;
根据所述第一子数据生成包括第二校验码的第二子数据,所述第二校验码根据所述第一子数据计算获得;
采用第一密钥对所述第一子数据进行加密,获得第一子数据密文;
根据所述第一子数据密文和所述第二子数据获得加密文件元数据;
按照所述预分块信息划分所述待加密文件,获得多个块文件以及分块元数据;
采用第二密钥对所述多个块文件分别进行加密,获得与每个所述块文件对应的加密块文件;
将所述加密文件元数据、每个所述加密块文件以及所述分块元数据按照第一预设顺序组成加密文件。
可选地,所述采用第一密钥对所述第一子数据进行加密的步骤中,加密所述第一子数据的方法为对称加密;
所述采用第二密钥对所述多个块文件分别进行加密的步骤中,加密所述多个块文件的方法为对称加密。
可选地,所述方法还包括,在所述根据所述待加密文件生成包括预分块信息及第一校验码的第一子数据的步骤前,获取目的地址的扇区大小;
所述根据所述待加密文件生成包括预分块信息及第一校验码的第一子数据的步骤包括:
根据所述待加密文件计算与所述待加密文件对应的第一校验码;
根据所述待加密文件及所述目的地址的扇区大小获取预分块信息;
生成包括所述预分块信息及所述第一校验码的所述第一子数据。
可选地,所述方法还包括,
在所述生成包括所述预分块信息及所述第一校验码的所述第一子数据的步骤前,根据所述待加密文件计算与所述待加密文件对应的第三校验码;
所述第一子数据还包括所述第三校验码。
可选地,所述按照所述预分块信息对所述待加密文件进行分块,获得多个块文件以及分块元数据的步骤,包括:
根据所述预分块信息对所述待加密文件进行分块,获得多个块文件;
根据所述预分块信息及每个所述块文件获得分别与每个块文件对应的分块元数据。
可选地,所述将所述加密文件元数据、所述加密块文件以及所述分块元数据按照第一预设顺序组成加密文件的步骤包括:
分别将每个所述加密块文件与其对应的分块元数据组成一个与该块文件对应的单位块;
将每个所述单位块以及所述加密文件元数据按照第一预设顺序组成加密文件。
本发明的另一目的还在于提供一种文件解密方法,应用于以上任一项所述加密方法所获得的文件的解密,包括:
获取加密文件;
从所述加密文件中获取包括第一子数据密文和第二子数据的加密文件元数据,解密所述第一子数据密文,获得第一子数据以及第一校验码;从所述第二子数据中获取第二校验码;
根据所述第一子数据获取第一验证码;
利用所述第二校验码对所述第一验证码进行校验;
如果所述第一验证码校验成功,则解密所述加密文件中的多个加密块文件,并组成临时文件;
根据所述临时文件获取第二验证码,利用所述第一校验码对所述第二验证码进行校验;
如果所述第二验证码校验成功,则根据所述临时文件获得解密文件。
可选地,所述解密所述加密文件中的多个加密块文件,组成临时文件的步骤包括:
分别将多个加密块文件解密,得到多个解密后的块文件;
根据第二预设顺序将所述解密后的块文件组成所述临时文件。
本发明的另一目的还在于提供一种加密装置,所述加密装置包括第一获取模块、第一生成模块、第一加密模块、第二生成模块、划分模块、第二加密模块和第三生成模块;
所述第一获取模块,用于获取待加密文件;
所述第一生成模块,用于根据所述待加密文件生成包括预分块信息及第一校验码的第一子数据,所述第一校验码根据所述待加密文件计算获得;
根据所述第一子数据生成包括第二校验码的第二子数据,所述第二校验码根据所述第一子数据计算获得;
所述第一加密模块,用于采用第一密钥对所述第一子数据进行加密,获得第一子数据密文;
所述第二生成模块,用于根据所述第一子数据密文和所述第二子数据获得加密文件元数据;
所述划分模块,用于按照所述预分块信息划分所述待加密文件,获得多个块文件以及分块元数据;
所述第二加密模块,用于采用第二密钥对所述多个块文件分别进行加密,获得与每个所述块文件对应的加密块文件;
所述第三生成模块,用于将所述加密文件元数据、每个所述加密块文件以及所述分块元数据按照第一预设顺序组成加密文件。
本发明的另一目的还在于提供一种解密装置,所述解密装置包括第二获取模块、第一解密模块、第一校验模块、第二解密模块、第二校验模块和第四生成模块;
所述第二获取模块,用于获取加密文件;
所述第一解密模块,用于从所述加密文件中获取包括第一子数据密文和第二子数据的加密文件元数据,解密所述第一子数据密文,获得第一子数据以及第一校验码;从所述第二子数据中获取第二校验码;
所述第一校验模块,用于根据所述第一子数据获取第一验证码;利用所述第二校验码对所述第一验证码进行校验;
所述第二解密模块,用于在所述第一验证码校验成功时,解密所述加密文件中的多个加密块文件,并组成临时文件;
所述第二校验模块,用于根据所述临时文件获取第二验证码,利用所述第一校验码对所述第二验证码进行校验;
所述第四生成模块,用于在所述第二验证码校验成功时,根据所述临时文件获得解密文件。
相对于现有技术而言,本申请具有以下有益效果:
本申请实施例的加密方法首先根据待加密文件生成包括预分块信息和第一校验码的第一子数据,根据第一子数据生成包括第二校验码的第二子数据,然后对第一子数据进行加密后与第二子数据一起组成加密文件元数据;再将待加密文件分为多个块文件后分别对每个块文件进行加密。最后将加密文件元数据和块文件组成加密文件。本申请实施例的解密方法中,在获取加密文件后,首先将第一子数据密文进行解密获得第一子数据,根据第一子数据计算第一验证码,然后根据第二校验码验证第一验证码,并在第一验证码验证成功的情况下,进行加密文件的分块和解密过程,并将解密后的块文件组成临时文件,根据临时文件计算第二验证码,利用第一校验码验证第二验证码,最后,在第二验证码验证成功的情况下,生成解密文件。本申请实施例通过设置第一子数据的校验机制和解密后的文件的校验机制,能够大大减小文件被非法修改的概率,大大提高文件的安全性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的文件加密方法流程示意图;
图2为本申请实施例提供的文件解密方法流程示意图;
图3为本申请实施例提供的文件加密装置结构框图;
图4为本申请实施例提供的文件解密装置结构框图。
图标:11-第一获取模块;12-第一生成模块;13-第一加密模块;14-第二生成模块;15-划分模块;16-第二加密模块;17-第三生成模块;21-第二获取模块;22-第一解密模块;23-第一校验模块;24-第二解密模块;25-第二校验模块;26-第四生成模块。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
请参见图1,图1是本申请实施例提供的文件加密方法的流程图,以下结合附图对文件加密方法进行详细描述。
步骤S110,获取待加密文件。
步骤S120,根据所述待加密文件生成包括预分块信息及第一校验码的第一子数据,所述第一校验码根据所述待加密文件计算获得。
步骤S120包括:
根据待加密文件计算与待加密文件对应的第一校验码。
根据待加密文件生成包括预分块信息及第一校验码的第一子数据。
在该实施方式中,文件预分块信息可以包括块文件的数量、块文件的大小及尾块文件的实际大小。
在一种实施方式中,步骤S120前还可以包括,获取目的地址的扇区大小。该实施方式中,步骤S120包括:
根据所述待加密文件计算与所述待加密文件对应的第一校验码。
根据所述待加密文件及所述目的地址的扇区大小获取预分块信息。
生成包括所述预分块信息及所述第一校验码的所述第一子数据。
在本实施方式中,预分块信息可以包括块文件的数量、块文件的大小、尾块文件的实际大小和目的地址的扇区大小。
本实施方式中,根据目的地址的扇区大小生成预分块信息,能够使得对待加密文件加密根据扇区大小来划分。
在另一种实施方式中,在步骤S120前,还包括根据所述待加密文件计算与所述待加密文件对应的第三校验码。
在该实施方式中,所述第一子数据还可以包括所述第三校验码。
在第一子数据中设置第三校验码,能够用于在解密过程中,对文件进行进一步的校验。
步骤S130,根据所述第一子数据生成包括第二校验码的第二子数据,所述第二校验码根据所述第一子数据计算获得。
本实施例中的第二校验码用于在解密时验证第一子数据是否被修改。
在本实施例中,计算第一子数据的第二校验码,然后根据第二校验码组成第二子数据,使得第二校验码构成第二子数据的一部分。其中,第二子数据中还可以包括文件的加密算法等信息。
步骤S140,采用第一密钥对所述第一子数据进行加密,获得第一子数据密文。
对第一子数据进行加密,能够降低第一子数据被修改的概率。
步骤S150,根据所述第一子数据密文和所述第二子数据获得加密文件元数据。将第一子数据密文和第二子数据组成加密文件元数据,可以降低第一校验码被修改的概率,从而,提高对文件校验的准确性。
步骤S160,按照所述预分块信息划分所述待加密文件,获得多个块文件以及分块元数据。
在一种实施方式中,该步骤具体包括:
根据所述预分块信息对所述待加密文件进行分块,获得多个块文件。
根据所述预分块信息及每个所述块文件获得分别与每个块文件对应的分块元数据。
本实施方式中,当块文件为尾块时,可以使用预设好的数据来填充该块文件的空白部分。例如,可以采用零来填充该块文件的空白部分。
分块元数据可以包括:标记块文件是否为尾块的标记信息以及块文件的大小信息。
本实施方式中,所述根据所述预分块信息及每个所述块文件获得分别与每个块文件对应的分块元数据的步骤前还可以包括,分别计算与多个块文件中每个块文件对应的第四校验码。
该实施方式中,分块元数据包括标记块文件是否为尾块的标记信息、块文件的大小信息以及第四校验码。每个块文件的第四校验码可以用于对每个对应的块文件进行校验。
步骤S170,采用第二密钥对所述多个块文件分别进行加密,获得与每个所述块文件对应的加密块文件。
步骤S180,将所述加密文件元数据、每个所述加密块文件以及所述分块元数据按照第一预设顺序组成加密文件。
本实施例中,步骤S180具体包括:
分别将每个所述加密块文件与其对应的分块元数据组成一个与该块文件对应的单位块。
将每个所述单位块以及所述加密文件元数据按照第一预设顺序组成加密文件。
在一种实施方式中,如果步骤S120前包括获取目的地址的扇区大小时,则单位块的大小可以与目的地址的扇区大小相等。这样,在将加密文件写入目的地址时,每次可以将一个单位块写入一个扇区,从而能够提高文件写入速度。
第一预设顺序是根据实际需要由人为设定的顺序。例如,将加密文件元数据放置在加密文件的最前部,其余单位块根据该单位块对应的块文件在待加密文件中的顺序依次排列。
本申请实施例还提供一种文件解密方法,应用于以上任一项所述加密方法所获得的文件的解密,包括:
步骤S210,获取加密文件。
本步骤用于获取采用上述加密方法加密的加密文件。
步骤S210,从加密文件中获取包括第一子数据密文和第二子数据的加密文件元数据,解密所述第一子数据密文,获得第一子数据以及第一校验码;从所述第二子数据中获取第二校验码。
步骤S220,根据所述第一子数据获取第一验证码。
该步骤用于根据第一子数据计算第一验证码,计算第一验证码时,采用与加密方法中计算第一校验码对应的方法计算第一验证码。
步骤S230,利用所述第二校验码对所述第一验证码进行校验。
在该步骤中,将对第一验证码进行校验时,将第一验证码与第二校验码进行比较,如果第一验证码与第二校验码一致,则第一校验码校验成功。
步骤S240,如果所述第一验证码校验成功,则解密多个加密块文件,并组成临时文件。
步骤S240具体包括,分别将多个加密块文件解密,得到多个解密后的块文件。
根据第二预设顺序将所述解密后的块文件组成所述临时文件。
第二预设顺序为解密后获得的各个块文件在待加密文件中对应顺序。
步骤S250,根据所述临时文件获取第二验证码,利用所述第一校验码对所述第二验证码进行校验。
步骤S260,如果所述第二验证码校验成功,则根据所述临时文件获得解密文件。
如图3,本申请实施例还提供一种加密装置,所述加密装置包括第一获取模块11、第一生成模块12、第一加密模块13、第二生成模块14、划分模块15、第二加密模块16和第三生成模块17。
所述第一获取模块11,用于获取待加密文件。
本实施例中,第一获取模块11用于执行图1所示的步骤S110,关于第一获取模块11的具体描述可参照对步骤S110的描述。
所述第一生成模块12,用于根据所述待加密文件生成包括预分块信息及第一校验码的第一子数据,所述第一校验码根据所述待加密文件计算获得。
根据所述第一子数据生成包括第二校验码的第二子数据,所述第二校验码根据所述第一子数据计算获得。
本实施例中,第一生成模块12用于执行图1所示的步骤S120、步骤S130,关于第一生成模块12的具体描述可参照对步骤S120、步骤S130的描述。
所述第一加密模块13,用于采用第一密钥对所述第一子数据进行加密,获得第一子数据密文。
本实施例中,第一加密模块13用于执行图1所示的步骤S140,关于第一加密模块13的具体描述可参照对步骤S140的描述。
所述第二生成模块14,用于根据所述第一子数据密文和所述第二子数据获得加密文件元数据。
本实施例中,第二生成模块14用于执行图1所示的步骤S150,关于第二生成模块14的具体描述可参照对步骤S150的描述。
所述划分模块15,用于按照所述预分块信息划分所述待加密文件,获得多个块文件以及分块元数据。
本实施例中,划分模块15用于执行图1所示的步骤S160,关于划分模块15的具体描述可参照对步骤S160的描述。
所述第二加密模块16,用于采用第二密钥对所述多个块文件分别进行加密,获得与每个所述块文件对应的加密块文件。
本实施例中,第二加密模块16用于执行图1所示的步骤S170,关于第二加密模块16的具体描述可参照对步骤S170的描述。
所述第三生成模块17,用于将所述加密文件元数据、每个所述加密块文件以及所述分块元数据按照第一预设顺序组成加密文件。
本实施例中,第三生成模块17用于执行图1所示的步骤S180,关于第三生成模块17的具体描述可参照对步骤S180的描述。
如图4,本申请实施例还提供一种解密装置,所述解密装置包括第二获取模块21、第一解密模块22、第一校验模块23、第二解密模块24、第二校验模块25和第四生成模块26。
所述第二获取模块21,用于获取加密文件。
本实施例中,第二获取模块21用于执行图2所示的步骤S210,关于第二获取模块21的具体描述可参照对步骤S210的描述。
所述第一解密模块22,用于从加密文件中获取包括第一子数据密文和第二子数据的加密文件元数据,解密所述第一子数据密文,获得第一子数据以及第一校验码;从所述第二子数据中获取第二校验码。
本实施例中,第一解密模块22用于执行图2所示的步骤S220,关于第一解密模块22的具体描述可参照对步骤S220的描述。
所述第一校验模块23,用于根据所述第一子数据获取第一验证码;利用所述第二校验码对所述第一验证码进行校验。
本实施例中,第一校验模块23用于执行图2所示的步骤S230,关于第一校验模块23的具体描述可参照对步骤S230的描述。
所述第二解密模块24,用于在所述第一验证码校验成功时,解密多个加密块文件,并组成临时文件。
本实施例中,第二解密模块24用于执行图2所示的步骤S240,关于第二解密模块24的具体描述可参照对步骤S240的描述。
所述第二校验模块25,用于根据所述临时文件获取第二验证码,利用所述第一校验码对所述第二验证码进行校验。
本实施例中,第二校验模块25用于执行图2所示的步骤S250,关于第二校验模块25的具体描述可参照对步骤S250的描述。
所述第四生成模块26,用于在所述第二验证码校验成功时,根据所述临时文件获得解密文件。
本实施例中,第四生成模块26用于执行图2所示的步骤S260,关于第四生成模块26的具体描述可参照对步骤S260的描述。
综上所述,本申请实施例的加密方法首先根据待加密文件生成包括预分块信息和第一校验码的第一子数据,根据第一子数据生成包括第二校验码的第二子数据,然后对第一子数据进行加密后与第二子数据一起组成加密文件元数据,再将待加密文件分为多个块文件后分别对每个块文件进行加密。最后将加密文件元数据和块文件组成加密文件。本申请实施例的解密方法中,在获取加密文件后,首先将第一子数据密文进行解密获得第一子数据,根据第一子数据计算第一验证码,然后根据第二校验码验证第一验证码,并在第一验证码验证成功的情况下,进行加密文件的分块和解密过程,并将解密后的块文件组成临时文件,根据临时文件计算第二验证码,利用第一校验码验证第二验证码,最后,在第二验证码验证成功的情况下,生成解密文件。本申请实施例通过设置第一子数据的校验机制和解密后的文件的校验机制,能够大大减小文件被非法修改的概率,大大提高文件的安全性。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种文件加密方法,其特征在于,所述文件加密方法包括:
获取待加密文件;
根据所述待加密文件生成包括预分块信息及第一校验码的第一子数据,所述第一校验码根据所述待加密文件计算获得;
根据所述第一子数据生成包括第二校验码的第二子数据,所述第二校验码根据所述第一子数据计算获得;
采用第一密钥对所述第一子数据进行加密,获得第一子数据密文;
根据所述第一子数据密文和所述第二子数据获得加密文件元数据;
按照所述预分块信息划分所述待加密文件,获得多个块文件以及分块元数据;
采用第二密钥对所述多个块文件分别进行加密,获得与每个所述块文件对应的加密块文件;
将所述加密文件元数据、每个所述加密块文件以及所述分块元数据按照第一预设顺序组成加密文件。
2.根据权利要求1所述的文件加密方法,其特征在于,
所述采用第一密钥对所述第一子数据进行加密的步骤中,加密所述第一子数据的方法为对称加密;
所述采用第二密钥对所述多个块文件分别进行加密的步骤中,加密所述多个块文件的方法为对称加密。
3.根据权利要求1所述的文件加密方法,其特征在于,所述方法还包括,在所述根据所述待加密文件生成包括预分块信息及第一校验码的第一子数据的步骤前,获取目的地址的扇区大小;
所述根据所述待加密文件生成包括预分块信息及第一校验码的第一子数据的步骤包括:
根据所述待加密文件计算与所述待加密文件对应的第一校验码;
根据所述待加密文件及所述目的地址的扇区大小获取预分块信息;
生成包括所述预分块信息及所述第一校验码的所述第一子数据。
4.根据权利要求1所述的文件加密方法,其特征在于,所述方法还包括,
在所述生成包括所述预分块信息及所述第一校验码的所述第一子数据的步骤前,根据所述待加密文件计算与所述待加密文件对应的第三校验码;
所述第一子数据还包括所述第三校验码。
5.根据权利要求1所述的文件加密方法,其特征在于,所述按照所述预分块信息对所述待加密文件进行分块,获得多个块文件以及分块元数据的步骤,包括:
根据所述预分块信息对所述待加密文件进行分块,获得多个块文件;
根据所述预分块信息及每个所述块文件获得分别与每个块文件对应的分块元数据。
6.根据权利要求5所述的文件加密方法,其特征在于,所述将所述加密文件元数据、所述加密块文件以及所述分块元数据按照第一预设顺序组成加密文件的步骤包括:
分别将每个所述加密块文件与其对应的分块元数据组成一个与该块文件对应的单位块;
将每个所述单位块以及所述加密文件元数据按照第一预设顺序组成加密文件。
7.一种文件解密方法,其特征在于,应用于如权利要求1-6中任一项所述加密方法所获得的文件的解密,包括:
获取加密文件;
从所述加密文件中获取包括第一子数据密文和第二子数据的加密文件元数据,解密所述第一子数据密文,获得第一子数据以及第一校验码;从所述第二子数据中获取第二校验码;
根据所述第一子数据获取第一验证码;
利用所述第二校验码对所述第一验证码进行校验;
如果所述第一验证码校验成功,则解密所述加密文件中的多个加密块文件,并组成临时文件;
根据所述临时文件获取第二验证码,利用所述第一校验码对所述第二验证码进行校验;
如果所述第二验证码校验成功,则根据所述临时文件获得解密文件。
8.根据权利要求7所述的文件解密方法,其特征在于,所述解密所述加密文件中的多个加密块文件,组成临时文件的步骤包括:
分别将多个加密块文件解密,得到多个解密后的块文件;
根据第二预设顺序将所述解密后的块文件组成所述临时文件。
9.一种加密装置,其特征在于,所述加密装置包括第一获取模块、第一生成模块、第一加密模块、第二生成模块、划分模块、第二加密模块和第三生成模块;
所述第一获取模块,用于获取待加密文件;
所述第一生成模块,用于根据所述待加密文件生成包括预分块信息及第一校验码的第一子数据,所述第一校验码根据所述待加密文件计算获得;
根据所述第一子数据生成包括第二校验码的第二子数据,所述第二校验码根据所述第一子数据计算获得;
所述第一加密模块,用于采用第一密钥对所述第一子数据进行加密,获得第一子数据密文;
所述第二生成模块,用于根据所述第一子数据密文和所述第二子数据获得加密文件元数据;
所述划分模块,用于按照所述预分块信息划分所述待加密文件,获得多个块文件以及分块元数据;
所述第二加密模块,用于采用第二密钥对所述多个块文件分别进行加密,获得与每个所述块文件对应的加密块文件;
所述第三生成模块,用于将所述加密文件元数据、每个所述加密块文件以及所述分块元数据按照第一预设顺序组成加密文件。
10.一种解密装置,其特征在于,所述解密装置包括第二获取模块、第一解密模块、第一校验模块、第二解密模块、第二校验模块和第四生成模块;
所述第二获取模块,用于获取加密文件;
所述第一解密模块,用于从所述加密文件中获取包括第一子数据密文和第二子数据的加密文件元数据,解密所述第一子数据密文,获得第一子数据以及第一校验码;从所述第二子数据中获取第二校验码;
所述第一校验模块,用于根据所述第一子数据获取第一验证码;利用所述第二校验码对所述第一验证码进行校验;
所述第二解密模块,用于在所述第一验证码校验成功时,解密所述加密文件中的多个加密块文件,并组成临时文件;
所述第二校验模块,用于根据所述临时文件获取第二验证码,利用所述第一校验码对所述第二验证码进行校验;
所述第四生成模块,用于在所述第二验证码校验成功时,根据所述临时文件获得解密文件。
CN201810841784.9A 2018-07-27 2018-07-27 文件加密方法、解密方法及装置 Active CN109145639B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810841784.9A CN109145639B (zh) 2018-07-27 2018-07-27 文件加密方法、解密方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810841784.9A CN109145639B (zh) 2018-07-27 2018-07-27 文件加密方法、解密方法及装置

Publications (2)

Publication Number Publication Date
CN109145639A true CN109145639A (zh) 2019-01-04
CN109145639B CN109145639B (zh) 2020-07-14

Family

ID=64798239

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810841784.9A Active CN109145639B (zh) 2018-07-27 2018-07-27 文件加密方法、解密方法及装置

Country Status (1)

Country Link
CN (1) CN109145639B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111222152A (zh) * 2020-01-03 2020-06-02 上海达梦数据库有限公司 一种数据写入方法、装置、设备及存储介质
WO2020164211A1 (zh) * 2019-02-12 2020-08-20 平安科技(深圳)有限公司 一种数据传输方法、装置、终端设备及介质
CN112668278A (zh) * 2020-12-23 2021-04-16 上海磐启微电子有限公司 一种环境验证***及方法
CN112734361A (zh) * 2020-12-29 2021-04-30 卡乐电子(苏州)有限责任公司 一种分布式协同办公数据处理方法及***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103457727A (zh) * 2012-05-29 2013-12-18 华为技术有限公司 一种实现媒体数据处理的方法、装置和***
CN105468935A (zh) * 2015-11-13 2016-04-06 福州瑞芯微电子股份有限公司 一种保证key安全烧录的方法、发送端、工具端及烧录端
CN107204986A (zh) * 2017-06-27 2017-09-26 四川捷云信通信息技术有限公司 云端存储加密方法、解密方法及云端存储加密装置
CN107609428A (zh) * 2017-08-16 2018-01-19 大唐高鸿信安(浙江)信息科技有限公司 数据安全存储***及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103457727A (zh) * 2012-05-29 2013-12-18 华为技术有限公司 一种实现媒体数据处理的方法、装置和***
CN105468935A (zh) * 2015-11-13 2016-04-06 福州瑞芯微电子股份有限公司 一种保证key安全烧录的方法、发送端、工具端及烧录端
CN107204986A (zh) * 2017-06-27 2017-09-26 四川捷云信通信息技术有限公司 云端存储加密方法、解密方法及云端存储加密装置
CN107609428A (zh) * 2017-08-16 2018-01-19 大唐高鸿信安(浙江)信息科技有限公司 数据安全存储***及方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020164211A1 (zh) * 2019-02-12 2020-08-20 平安科技(深圳)有限公司 一种数据传输方法、装置、终端设备及介质
CN111222152A (zh) * 2020-01-03 2020-06-02 上海达梦数据库有限公司 一种数据写入方法、装置、设备及存储介质
CN111222152B (zh) * 2020-01-03 2022-10-14 上海达梦数据库有限公司 一种数据写入方法、装置、设备及存储介质
CN112668278A (zh) * 2020-12-23 2021-04-16 上海磐启微电子有限公司 一种环境验证***及方法
CN112668278B (zh) * 2020-12-23 2024-05-31 上海磐启微电子有限公司 一种环境验证***及方法
CN112734361A (zh) * 2020-12-29 2021-04-30 卡乐电子(苏州)有限责任公司 一种分布式协同办公数据处理方法及***
CN112734361B (zh) * 2020-12-29 2021-12-07 卡乐电子(苏州)有限责任公司 一种分布式协同办公数据处理方法及***

Also Published As

Publication number Publication date
CN109145639B (zh) 2020-07-14

Similar Documents

Publication Publication Date Title
CN111865586B (zh) 一种产品信息的加密方法及装置
CN109145639A (zh) 文件加密方法、解密方法及装置
CN101231622B (zh) 基于闪存的数据存储方法和设备、及数据读取方法和设备
CN108154365B (zh) 一种生成动态二维码的安全设备、方法及***
CN105574435B (zh) 电子合同在线签署、验证方法、装置及***
CN104732159B (zh) 一种文件处理方法及装置
CN104408381A (zh) 云存储中数据完整性保护方法
CN111130793A (zh) 一种基于区块链招投标***的文件加密方法
CN110598433B (zh) 基于区块链的防伪信息处理方法、装置
CN109816383A (zh) 一种区块链签名方法、区块链钱包和区块链
CN108848064A (zh) 授权管理方法及***
CN109635610A (zh) Rfid标签数据的读写***及方法
CN103684786A (zh) 数字证书的存储与硬件载体绑定的方法及***
CN105373933A (zh) 一种基于电子检验报告的食品流通追溯方法
CN109586920A (zh) 一种可信验证方法及装置
CN104142803A (zh) 用于将信息防复制地存储在数据载体上的方法
CN104601563B (zh) 基于mle的可公开验证云存储数据持有性的方法
CN108449756A (zh) 一种网络密钥更新的***、方法及装置
CN106022145A (zh) 一种基于密文索引的数据查询方法
CN107483177B (zh) 一种验证加密设备加密数据真实性的方法及***
KR20190112959A (ko) 암호화 데이터를 이용하는 기계학습 모델 운영방법 및 기계학습 모델 기반 장치
CN103605919A (zh) 软件认证文件生成方法和装置、软件认证方法和装置
CN110009342A (zh) 数据发送、接收方法、装置及电子设备
CN109889344A (zh) 终端、数据的传输方法和计算机可读存储介质
CN105809494A (zh) ***生成及验证方法及***

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
CP03 Change of name, title or address

Address after: 100195 Room 301, floor 3, building 103, No. 3, minzhuang Road, Haidian District, Beijing

Patentee after: Mixin (Beijing) Digital Technology Co.,Ltd.

Address before: 100000 301, floor 3, building 103, No. 3, minzhuang Road, Haidian District, Beijing

Patentee before: BEIJING BEIXINYUAN INFORMATION SECURITY TECHNOLOGY CO.,LTD.

CP03 Change of name, title or address
TR01 Transfer of patent right

Effective date of registration: 20240313

Address after: Room 1501, 12th Floor, Building 3, No. 34 Zhongguancun South Street, Haidian District, Beijing, 100080

Patentee after: Federation of Industry and Commerce Lingchuang (Beijing) Technology Co.,Ltd.

Country or region after: China

Address before: 100195 Room 301, floor 3, building 103, No. 3, minzhuang Road, Haidian District, Beijing

Patentee before: Mixin (Beijing) Digital Technology Co.,Ltd.

Country or region before: China

TR01 Transfer of patent right