CN110489978A - 一种文件加解密方法 - Google Patents
一种文件加解密方法 Download PDFInfo
- Publication number
- CN110489978A CN110489978A CN201910615408.2A CN201910615408A CN110489978A CN 110489978 A CN110489978 A CN 110489978A CN 201910615408 A CN201910615408 A CN 201910615408A CN 110489978 A CN110489978 A CN 110489978A
- Authority
- CN
- China
- Prior art keywords
- file
- fragment
- encryption
- decryption
- current
- 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
Links
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
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,读取待加密文件,所述待加密文件长度为L;从样本文件中随机选取长度为L的一段文件作为当前文件,将待加密文件与当前文件进行异或操作,得到中间文件,其中L大于等于1,单位为字节;
步骤2,随机生成n个分片长度,根据分片长度将中间文件分成n个分片;
步骤3,将中间文件中的n个分片的顺序打乱,得到当前中间文件;
步骤4,对当前中间文件的n个分片进行异或操作,得到初步中间文件;
包括:
步骤41,令i=1,i为加密循环因子;
步骤42,将新顺序排列的n个分片中的第i个分片片与第i+1个分片进行异或操作,得到第i′个分片;
步骤43,i=i+1,重复步骤42,直至i=n-1,得到第1′个分片,….,第(n-1)′个分片;
步骤44,从当前中间文件中随机选取一个分片作为当前分片,将当前中间文件中的第n个分片与当前分片进行异或操作,得到第n′个分片;
将第1′个分片,….,第(n-1)′个分片,第n′个分片作为初步加密文件;
步骤5,将初步加密文件作为当前中间文件,重复步骤3至步骤4p次,得到加密文件,p为大于1的自然数,所述加密文件中包括按照顺序排列的n个分片;
步骤6,根据加密文件,生成密钥文件,将密钥文件与样本文件进行异或操作,得到加密密钥。
本发明还提供了一种文件解密方法,包括以下步骤:
步骤1,读取密钥中的加密文件,所述加密文件包括m个分片,将加密文件作为当前解密文件;
步骤2,对当前解密文件中的m个分片进行解密,得到明文文件;
包括:
步骤21,从样本文件中随机获取一段文件作为当前解密分片,将当前解密文件中的第m个分片与当前解密分片进行异或操作,得到明文文件的第m′个分片;
步骤22,令j=m-1,j为解密循环因子;
步骤23,将当前解密文件中的第j个分片与明文文件的第(j+1)′个分片进行异或操作,得到明文文件的第j′个分片;
步骤24,重复步骤23,直至j=1,得到明文文件,所述明文文件包括第1′个分片,…,第(m-1)′个分片,第m′个分片;
步骤3,将明文文件作为当前解密文件,重复步骤2q次,得到初步解密文件;
步骤4,将初步解密文件与样本文件进行异或操作,得到解密文件;
步骤5,使用解密文件对加密文件进行解密。
进一步地,所述步骤5中,若解密文件对加密文件进行解密的次数大于H,则将加密文件进行销毁,H为大于1的自然数。
进一步地,对所述加密文件进行销毁,包括:
读取加密文件的长度和密钥文件的长度;
随机生成与加密文件相同长度的第一覆盖文件,随机生成与密钥文件相同长度的第二覆盖文件;
将第一覆盖文件覆盖加密文件,将第二覆盖文件覆盖密钥文件。
本发明还提供了一种文件加解密方法,包括文件加密方法和文件解密方法。
本发明与现有技术相比,有益的技术效果是:
1、本发明采用了基于“规则”的加密算法,改变完全依赖密钥的文件保密方式,实现每次文件的“个性加密”,达到“一次一密”的加密效果;
2、本发明实现不同密级文件的不同深度加密,为应急、突发及特殊网络环境下的信息保密存储和传输提供新的技术手段;
3、本发明可以实现保密信息被窃取后对信息内容的销毁和破坏,保证信息不被破译。
附图说明
图1为文件加密过程中对分片进行迭代运算的示意图;
图2为文件解密过程中对分片进行迭代运算的示意图;
图3为销毁加密文件和密钥文件的流程示意图;
图4为文件加解密的流程示意图。
以下结合附图和实施例对本发明的具体内容作进一步详细解释说明。
具体实施方式
以下给出本发明的具体实施例,需要说明的是本发明并不局限于以下具体实施例,凡在本申请技术方案基础上做的等同变换均落入本发明的保护范围。
实施例1:
本实施例给出一种文件加密方法,包括以下步骤:
步骤1,读取待加密文件,所述待加密文件长度为L;从样本文件中随机选取长度为L的一段文件作为当前文件,将待加密文件与当前文件进行异或操作,得到中间文件,其中L大于等于1,单位为字节;
步骤2,随机生成n个分片长度,根据分片长度将中间文件分成n个分片;
步骤3,将中间文件中的n个分片的顺序打乱,得到当前中间文件;
步骤4,对当前中间文件的n个分片进行异或操作,得到初步中间文件;
如图1所示,包括:
步骤41,令i=1,i为加密循环因子;
步骤42,将新顺序排列的n个分片中的第i个分片片与第i+1个分片进行异或操作,得到第i′个分片;
步骤43,i=i+1,重复步骤42,直至i=n-1,得到第1′个分片,….,第(n-1)′个分片;
步骤44,从当前中间文件中随机选取一个分片作为当前分片,将当前中间文件中的第n个分片与当前分片进行异或操作,得到第n′个分片;
将第1′个分片,….,第(n-1)′个分片,第n′个分片作为初步加密文件;
步骤5,将初步加密文件作为当前中间文件,重复步骤3至步骤4p次,得到加密文件,p为大于1的自然数,所述加密文件中包括按照顺序排列的n个分片;
本发明根据待加密文件所处的不同秘密级别,对重复次数p设置不同的数值,进行不同程度的安全保护,满足信息保密的需要。
具体地,当待加密文件为秘密级文件时,重复次数p为3;当待加密文件为机密文件时,重复次数p为5;当待加密文件为绝密文件时,重复次数p为7。
步骤6,根据加密文件,生成密钥文件,将密钥文件与样本文件进行异或操作,得到加密密钥。
具体地,将加密文件中每个分片的长度、分片数量、分片的排序、样本文件的读取位置、待加密文件的扩展名等信息整合,生成一次密钥文件。
本实施例中样本文件的选取是随机的,可以选择视频、语音、图片、文件等,选取的要求是样本文件的大小要远大于待加密文件的大小(10倍待加密文件<样本文件)。
本发明中的待加密文件可以为文本、图片、音频、视频等多种类型文件,且能够运行于主流操作***上,***能够在Windows 2000、Windows XP、Windows 7等多种常规操作***中运行,满足当前网络中绝大多数用户的使用要求。
本发明通过对文件的乱序处理后进行迭代异或运算,能够针对穷举式密码破解手段,进行待加密文件的破解保护,防止保密信息被窃取后信息内容的泄漏。
实施例2:
本实施例提供了一种文件解密方法,包括以下步骤:
步骤1,读取密钥中的加密文件,所述加密文件包括m个分片,将加密文件作为当前解密文件;
步骤2,对当前解密文件中的m个分片进行解密,得到明文文件;
如图2所示,包括:
步骤21,从样本文件中随机获取一段文件作为当前解密分片,将当前解密文件中的第m个分片与当前解密分片进行异或操作,得到明文文件的第m′个分片;
步骤22,令j=m-1,j为解密循环因子;
步骤23,将当前解密文件中的第j个分片与明文文件的第(j+1)′个分片进行异或操作,得到明文文件的第j′个分片;
步骤24,重复步骤23,直至j=1,得到明文文件,所述明文文件包括第1′个分片,…,第(m-1)′个分片,第m′个分片;
步骤3,将明文文件作为当前解密文件,重复步骤2q次,得到初步解密文件;
本发明根据密文等级设置q的数值,密文级数越高,q的数值越大。
步骤4,将初步解密文件与样本文件进行异或操作,得到解密文件;
步骤5,使用解密文件对加密文件进行解密。
本实施例中的样本文件与实施例1中的样本文件为同一样本文件。
为了防止用户在非法获得密钥文件或加密文件后进行尝试破解,本发明中加入了对密钥的破解保护;
若解密文件对加密文件进行解密的次数大于H,则将加密文件进行销毁,H为大于1的自然数。
本发明根据密文等级设置最大容错次数H,秘密级为5次,机密级为4次,绝密级为2次,当用户尝试破解时,一旦错误次数超过限定,程序会在静默状态下擦写密钥文件和加密文件内容,并强制关机。具体的对比内容包括:密钥格式是否符合要求、样本文件是否一致、秘密等级是否一致、文件分片数量是否一致等关键信息。
对所述加密文件进行销毁,如图3所示,包括:
读取加密文件的长度和密钥文件的长度;
随机生成与加密文件相同长度的第一覆盖文件,随机生成与密钥文件相同长度的第二覆盖文件;
将第一覆盖文件覆盖加密文件,将第二覆盖文件覆盖密钥文件。
实施例3:
本实施例提供了一种文件加解密方法,如图4所示,包括实施例1提供的文件加密方法和实施例2提供的文件解密方法。
Claims (5)
1.一种文件加密方法,其特征在于,包括以下步骤:
步骤1,读取待加密文件,所述待加密文件长度为L;从样本文件中随机选取长度为L的一段文件作为当前文件,将待加密文件与当前文件进行异或操作,得到中间文件,其中L大于等于1,单位为字节;
步骤2,随机生成n个分片长度,根据分片长度将中间文件分成n个分片;
步骤3,将中间文件中的n个分片的顺序打乱,得到当前中间文件;
步骤4,对当前中间文件的n个分片进行异或操作,得到初步中间文件;
包括:
步骤41,令i=1,i为加密循环因子;
步骤42,将新顺序排列的n个分片中的第i个分片片与第i+1个分片进行异或操作,得到第i′个分片;
步骤43,i=i+1,重复步骤42,直至i=n-1,得到第1′个分片,....,第(n-1)′个分片;
步骤44,从当前中间文件中随机选取一个分片作为当前分片,将当前中间文件中的第n个分片与当前分片进行异或操作,得到第n′个分片;
将第1′个分片,....,第(n-1)′个分片,第n′个分片作为初步加密文件;
步骤5,将初步加密文件作为当前中间文件,重复步骤3至步骤4p次,得到加密文件,p为大于1的自然数,所述加密文件中包括按照顺序排列的n个分片;
步骤6,根据加密文件,生成密钥文件,将密钥文件与样本文件进行异或操作,得到加密密钥。
2.一种文件解密方法,其特征在于,包括以下步骤:
步骤1,读取密钥中的加密文件,所述加密文件包括m个分片,将加密文件作为当前解密文件;
步骤2,对当前解密文件中的m个分片进行解密,得到明文文件;
包括:
步骤21,从样本文件中随机获取一段文件作为当前解密分片,将当前解密文件中的第m个分片与当前解密分片进行异或操作,得到明文文件的第m′个分片;
步骤22,令j=m-1,j为解密循环因子;
步骤23,将当前解密文件中的第j个分片与明文文件的第(j+1)′个分片进行异或操作,得到明文文件的第j′个分片;
步骤24,重复步骤23,直至j=1,得到明文文件,所述明文文件包括第1′个分片,…,第(m-1)′个分片,第m′个分片;
步骤3,将明文文件作为当前解密文件,重复步骤2q次,得到初步解密文件;
步骤4,将初步解密文件与样本文件进行异或操作,得到解密文件;
步骤5,使用解密文件对加密文件进行解密。
3.如权利要求2所述的文件解密方法,其特征在于,所述步骤5中,若解密文件对加密文件进行解密的次数大于H,则将加密文件进行销毁,H为大于1的自然数。
4.如权利要求3所述的文件解密方法,其特征在于,对所述加密文件进行销毁,包括:
读取加密文件的长度和密钥文件的长度;
随机生成与加密文件相同长度的第一覆盖文件,随机生成与密钥文件相同长度的第二覆盖文件;
将第一覆盖文件覆盖加密文件,将第二覆盖文件覆盖密钥文件。
5.一种文件加解密方法,其特征在于,包括权利要求1所述的文件加密方法和权利要求2至4任一项所述的文件解密方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910615408.2A CN110489978A (zh) | 2019-07-09 | 2019-07-09 | 一种文件加解密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910615408.2A CN110489978A (zh) | 2019-07-09 | 2019-07-09 | 一种文件加解密方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110489978A true CN110489978A (zh) | 2019-11-22 |
Family
ID=68546842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910615408.2A Pending CN110489978A (zh) | 2019-07-09 | 2019-07-09 | 一种文件加解密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110489978A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111432244A (zh) * | 2020-03-17 | 2020-07-17 | 中国人民解放军国防科技大学 | 一种基于属性的轻量级图像加解密方法、装置及*** |
CN114285562A (zh) * | 2021-12-27 | 2022-04-05 | 元心信息科技集团有限公司 | 一种数据加密方法和装置 |
CN114490963A (zh) * | 2021-12-17 | 2022-05-13 | 中国人民解放军空军军医大学 | 一种全媒体出版*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102170350A (zh) * | 2011-04-11 | 2011-08-31 | 桂林电子科技大学 | 具有误导功能的多重不确定加密*** |
CN104883257A (zh) * | 2014-06-12 | 2015-09-02 | 梁庆生 | 一种大数据加密方法 |
CN104967518A (zh) * | 2015-07-31 | 2015-10-07 | 中国人民解放军71777部队 | 一种提高信息传输安全性的方法 |
-
2019
- 2019-07-09 CN CN201910615408.2A patent/CN110489978A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102170350A (zh) * | 2011-04-11 | 2011-08-31 | 桂林电子科技大学 | 具有误导功能的多重不确定加密*** |
CN104883257A (zh) * | 2014-06-12 | 2015-09-02 | 梁庆生 | 一种大数据加密方法 |
CN104967518A (zh) * | 2015-07-31 | 2015-10-07 | 中国人民解放军71777部队 | 一种提高信息传输安全性的方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111432244A (zh) * | 2020-03-17 | 2020-07-17 | 中国人民解放军国防科技大学 | 一种基于属性的轻量级图像加解密方法、装置及*** |
CN114490963A (zh) * | 2021-12-17 | 2022-05-13 | 中国人民解放军空军军医大学 | 一种全媒体出版*** |
CN114490963B (zh) * | 2021-12-17 | 2023-11-24 | 中国人民解放军空军军医大学 | 一种全媒体出版*** |
CN114285562A (zh) * | 2021-12-27 | 2022-04-05 | 元心信息科技集团有限公司 | 一种数据加密方法和装置 |
CN114285562B (zh) * | 2021-12-27 | 2023-05-09 | 元心信息科技集团有限公司 | 一种数据加密方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102904712B (zh) | 信息加密方法 | |
US20030056118A1 (en) | Method for encryption in an un-trusted environment | |
CN104660590B (zh) | 一种文件加密安全云存储方案 | |
Liu et al. | Whispers on ethereum: Blockchain-based covert data embedding schemes | |
CN110489978A (zh) | 一种文件加解密方法 | |
Devi et al. | A review on DES, AES and blowfish for image encryption & decryption | |
CN106778292B (zh) | 一种Word加密文档的快速还原方法 | |
Kumar et al. | A survey on current key issues and status in cryptography | |
CN103942500B (zh) | 基于噪声的哈希密文再加密方法及再加密后的解密方法 | |
Firdaus et al. | Monitoring system with two central facilities protocol | |
Yahaya et al. | Cryptosystem for secure data transmission using Advance Encryption Standard (AES) and Steganography | |
CN105897568A (zh) | 基于多通道的邮件碎片化传输方法 | |
Mohammed et al. | Implementation of new secure encryption technique for cloud computing | |
US11468178B1 (en) | Embedded obfuscated channel cryptography | |
Aghili | Improving security using blow fish algorithm on deduplication cloud storage | |
CN108134799A (zh) | 新型加解密方法及其装置 | |
CN104463003A (zh) | 一种文件加密保护方法 | |
Sharma et al. | Steganography techniques using cryptography-a review paper | |
CN102647428A (zh) | 一种基于通信网络的托管控制加解密***及方法 | |
Singh et al. | Cryptography and Steganography Techniques | |
Patel et al. | Triple security of information using steganography and cryptography | |
Bishoi et al. | An algorithm on text based security in modern cryptography | |
Sadasivam et al. | Image Steganography | |
Reddy et al. | Data Storage on Cloud using Split-Merge and Hybrid Cryptographic Techniques | |
Mondal et al. | Frame Based Symmetric Key Cryptography |
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: 20191122 |