CN109286484A - 一种提高数据加解密速度的快速数据处理方法 - Google Patents
一种提高数据加解密速度的快速数据处理方法 Download PDFInfo
- Publication number
- CN109286484A CN109286484A CN201811136602.4A CN201811136602A CN109286484A CN 109286484 A CN109286484 A CN 109286484A CN 201811136602 A CN201811136602 A CN 201811136602A CN 109286484 A CN109286484 A CN 109286484A
- Authority
- CN
- China
- Prior art keywords
- data
- written
- file
- encrypting
- data segment
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- 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)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Storage Device Security (AREA)
Abstract
本发明属于使用分组密码算法对文件数据进行加解密的领域,更具体的说,涉及一种提高数据加解密速度的快速数据处理方法。所述提高数据加解密速度的快速数据处理方法包括如下步骤:步骤一、处理待写入数据段在加密文件里对应的起始位置的头组数据和结束位置的尾组数据;步骤二、把要写入的明文数据段插入到长度对齐的明文缓冲区的对应位置;步骤三、对整个明文缓冲区进行加密,写到加密文件中。本发明用于分组密码算法框架下提高数据加解密速度。
Description
技术领域
本发明属于使用分组密码算法对文件数据进行加解密的领域,更具体的说,涉及一种提高数据加解密速度的快速数据处理方法。
背景技术
对称密码算法,是指加密和解密使用相同秘钥的密码算法。分组密码算法,是指将输入数据划分成固定长度的分组进行加解密的一类对称密码算法。密文,指加密后的数据。明文,指未加密的数据或解密还原后的数据。明文缓冲区中最前面的一组称为头组,最后面的一组称为尾组。
使用分组密码算法(如AES、SM1、SM4、SM7等)对随机写入文件的数据进行加密时,首先要进行数据对齐操作。原因是:分组密码算法每次加解密数据时最小操作单位是一个“组”,其大小通常是16字节。因此采用分组密码算法对文件进行加解密时,需要按顺序把文件分割成若干个连续的“组”,对每组数据进行加解密。
当一段数据在文件中的起始地址和长度都是分组大小的整数倍时,称这段数据是对齐的,反之是未对齐的。或者说,当起始位置刚好位于某个组的首个字节,称起始位置对齐;当数据段的终止位置刚好位于某个组的最后一个字节,称终止位置对齐。
当数据段在文件中的起始位置和终止位置都对齐时,长度才会对齐。
人们在计算机上写文件时,通常是随机写入,如修改/删除/插入某段文字等。需要写入的数据段,99.6%都是未对齐的,即起始地址和/或长度不是分组大小的整数倍。
对于随机写入的数据段,起始位置对齐的概率是1/16,长度对齐的概率也是1/16,因此数据对齐的概率是(1/16)*(1/16),数据未对齐的概率是1-(1/16)*(1/16)=99.6%。
为了把未对齐的明文数据段用分组密码算法进行加密,然后写入文件,通常需要执行以下步骤:
1、把加密文件里数据段地址占用的所有组(在图1中,是从第0组到第N组)中的密文读出并解密;
2、把解密后的数据放入明文缓冲区,明文缓冲区的长度是对齐的;
3、把要写入的明文数据段插入到明文缓冲区的对应位置,此时实现了数据对齐;
4、对整个明文缓冲区进行加密,然后写入到文件中,完成上述明文数据段的加密写入操作。
假设数据段的长度是length=N*16+t字节,其中N≥0,0<t<16,在文件中要写入的起始位置是position=16*P+s,其中P≥0,0≤s<16,则数据段共占用Q个分组,Q的取值有两个:
其中,length表示数据段的长度,position表示起始位置,Q表示数据段占用的分组数,*表示相乘,N、t、P、s均为整数。
按照上述的方法,在第1步中需要从文件中读出Q个组的密文数据,解密出Q个组的明文并存入明文缓冲区,然后把待写入的明文数据插入到明文缓冲区的对应位置中实现数据对齐,再加密整个明文缓冲区,最后写入文件。加密和解密的总数据量是2*Q组。当待写入数据的长度增大时,Q随之增大,数据加解密处理的时间会变得非常长。
发明内容
本发明主要解决的技术问题是提供一种提高数据加解密速度的快速数据处理方法,可以在分组密码算法框架下提高数据加解密的速度。
为解决上述技术问题,本发明一种提高数据加解密速度的快速数据处理方法包括如下步骤:
步骤一、处理待写入数据段在加密文件里对应的起始位置的头组数据和结束位置的尾组数据;
步骤二、把要写入的明文数据段插入到长度对齐的明文缓冲区的对应位置;
步骤三、对整个明文缓冲区进行加密,写到加密文件中。
作为本技术方案的进一步优化,本发明一种提高数据加解密速度的快速数据处理方法所述处理待写入数据段在加密文件里对应的头组和尾组数据的具体过程为:
步骤一一、如果待写入数据段在加密文件里对应的起始位置和结束位置均对齐,则直接进行步骤二;
步骤一二、如果待写入数据段在加密文件里对应的起始位置未对齐而待写入数据段在加密文件里对应的结束位置对齐,则从加密文件里读取待写入数据段在加密文件里对应的起始位置所在的头组数据并解密,并将解密的头组数据写入到明文缓冲区的头组中;
步骤一三、如果待写入数据段在加密文件里对应的起始位置对齐而待写入数据段在加密文件里对应的结束位置未对齐,则从加密文件里读取待写入数据段在加密文件里对应的结束位置所在的尾组数据并解密,并将解密的尾组数据写入到明文缓冲区的尾组中;
步骤一四、如果待写入数据段在加密文件里对应的起始位置和结束位置均未对齐,则从加密文件里读取待写入数据段在加密文件里对应的起始位置所在的头组数据和待写入数据段在加密文件里对应的结束位置所在的尾组数据并解密,并将解密的头组数据和尾组数据分别写入到明文缓冲区的头组和尾组中。
一种提高数据加解密速度的快速数据处理方法的有益效果为:
1.明文缓冲区中除了头组和尾组数据之外,所有中间组里的数据会被待写入的数据段内容所覆盖,因此这部分数据无需读出,也无需解密出明文并写入明文缓冲区。只需要对头组和尾组进行解密,用解密后的头组、尾组和待写入的明文数据段共同组成对齐后的明文缓冲区。这样减少了解密的数据量,最多只需要对头组和尾组进行解密,从而可以加快数据加解密处理的速度。
2.随着待写入数据段长度所占用分组数Q的增加,本发明中的快速数据处理方法的速度逐渐趋近于传统方法速度的2倍,提高了数据加解密的处理速度。
附图说明
下面结合附图和具体实施方法对本发明做进一步详细的说明。
图1为本发明一种提高数据加解密速度的快速数据处理方法的文件数据分组加解密图。
具体实施方式
具体实施方式一:
下面结合图1说明本实施方式,本发明属于使用分组密码算法对文件数据进行加解密的领域,更具体的说,涉及一种提高数据加解密速度的快速数据处理方法,可以在分组密码算法框架下提高数据加解密的速度。
所述提高数据加解密速度的快速数据处理方法包括如下步骤:
步骤一、处理待写入数据段在加密文件里对应的起始位置的头组数据和结束位置的尾组数据;
步骤二、把要写入的明文数据段插入到长度对齐的明文缓冲区的对应位置;
步骤三、对整个明文缓冲区进行加密,写到加密文件中。
人们在计算机上写文件时,通常是随机写入,如修改、删除、插入某段文字等。需要写入的数据段,99.6%都是未对齐的,即起始地址和/或长度不是分组大小的整数倍,如图1所示。因此,需要先处理待写入数据段在加密文件里对应的起始位置的头组数据和结束位置的尾组数据,使得待写入数据段在加密文件里对应的起始位置和结束位置均对齐。只有待写入数据段在加密文件里对应的起始位置和结束位置均对齐,才能进行加密,然后写入到文件中。
从图1中可以看出,明文缓冲区中除了头组和尾组数据之外,所有中间组里的数据会被待写入的数据段内容所覆盖,因此这部分数据无需读出,也无需解密出明文并写入明文缓冲区。只需要对头组和尾组进行解密,用解密后的头组、尾组和待写入的明文数据段共同组成对齐后的明文缓冲区。这样可以加快数据加解密处理的速度。
具体实施方式二:
下面结合图1说明本实施方式,本实施方式对实施方式一作进一步说明,所述处理待写入数据段在加密文件里对应的头组和尾组数据的具体过程为:
步骤一一、如果待写入数据段在加密文件里对应的起始位置和结束位置均对齐,则直接进行步骤二;即直接把要写入的明文数据段插入到长度对齐的明文缓冲区的对应位置。但是,需要写入的数据段,99.6%都是未对齐的,即起始地址和/或长度不是分组大小的整数倍,因此往往需要进行步骤一二、步骤一三或步骤一四。
步骤一二、如果待写入数据段在加密文件里对应的起始位置未对齐而待写入数据段在加密文件里对应的结束位置对齐,则从加密文件里读取待写入数据段在加密文件里对应的起始位置所在的头组数据并解密,并将解密的头组数据写入到明文缓冲区的头组中;
步骤一三、如果待写入数据段在加密文件里对应的起始位置对齐而待写入数据段在加密文件里对应的结束位置未对齐,则从加密文件里读取待写入数据段在加密文件里对应的结束位置所在的尾组数据并解密,并将解密的尾组数据写入到明文缓冲区的尾组中;
步骤一四、如果待写入数据段在加密文件里对应的起始位置和结束位置均未对齐,则从加密文件里读取待写入数据段在加密文件里对应的起始位置所在的头组数据和待写入数据段在加密文件里对应的结束位置所在的尾组数据并解密,并将解密的头组数据和尾组数据分别写入到明文缓冲区的头组和尾组中。
本发明提出的提高数据加解密速度的快速数据处理方法最多只需解密2组数据:头组和尾组,而无需解密所有的Q组数据。加密时仍需处理Q组数据。
此时解密和加密需要处理的总分组数Tb是:
条件1为:Q=1,或数据段的起始位置和数据段的终止位置有且仅有一个是未对齐的。
本发明提出的提高数据加解密速度的快速数据处理方法和传统方法的加解密数据总量之比为q:
数据加解密的速度和处理的分组数量成反比,因此本发明提出的提高数据加解密速度的快速数据处理方法和传统方法的数据处理速度之比r为:
当Q增大时,本发明提出的提高数据加解密速度的快速数据处理方法和传统方法的速度之r的值下表所示。
Q | r(条件1成立) | r(条件1不成立) |
2 | 1.3333 | 1 |
5 | 1.6667 | 1.4286 |
10 | 1.8182 | 1.6667 |
20 | 1.9048 | 1.8182 |
50 | 1.9608 | 1.9231 |
100 | 1.9802 | 1.9608 |
200 | 1.9900 | 1.9802 |
500 | 1.9960 | 1.9920 |
1000 | 1.9980 | 1.9960 |
2000 | 1.9990 | 1.9980 |
5000 | 1.9996 | 1.9992 |
从表中可以看出,随着待写入数据段长度所占用分组数Q的增加,本发明提出的提高数据加解密速度的快速数据处理方法的速度逐渐趋近于传统方法速度的2倍,提高了数据加解密速度。
当然,上述说明并非对本发明的限制,本发明也不仅限于上述举例,本技术领域的普通技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也属于本发明的保护范围。
Claims (2)
1.一种提高数据加解密速度的快速数据处理方法,其特征在于:所述提高数据加解密速度的快速数据处理方法包括如下步骤:
步骤一、处理待写入数据段在加密文件里对应的起始位置的头组数据和结束位置的尾组数据;
步骤二、把要写入的明文数据段插入到长度对齐的明文缓冲区的对应位置;
步骤三、对整个明文缓冲区进行加密,写到加密文件中。
2.根据权利要求1所述的一种提高数据加解密速度的快速数据处理方法,其特征在于:所述处理待写入数据段在加密文件里对应的头组和尾组数据的具体过程为:
步骤一一、如果待写入数据段在加密文件里对应的起始位置和结束位置均对齐,则直接进行步骤二;
步骤一二、如果待写入数据段在加密文件里对应的起始位置未对齐而待写入数据段在加密文件里对应的结束位置对齐,则从加密文件里读取待写入数据段在加密文件里对应的起始位置所在的头组数据并解密,并将解密的头组数据写入到明文缓冲区的头组中;
步骤一三、如果待写入数据段在加密文件里对应的起始位置对齐而待写入数据段在加密文件里对应的结束位置未对齐,则从加密文件里读取待写入数据段在加密文件里对应的结束位置所在的尾组数据并解密,并将解密的尾组数据写入到明文缓冲区的尾组中;
步骤一四、如果待写入数据段在加密文件里对应的起始位置和结束位置均未对齐,则从加密文件里读取待写入数据段在加密文件里对应的起始位置所在的头组数据和待写入数据段在加密文件里对应的结束位置所在的尾组数据并解密,并将解密的头组数据和尾组数据分别写入到明文缓冲区的头组和尾组中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811136602.4A CN109286484A (zh) | 2018-09-28 | 2018-09-28 | 一种提高数据加解密速度的快速数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811136602.4A CN109286484A (zh) | 2018-09-28 | 2018-09-28 | 一种提高数据加解密速度的快速数据处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109286484A true CN109286484A (zh) | 2019-01-29 |
Family
ID=65181670
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811136602.4A Pending CN109286484A (zh) | 2018-09-28 | 2018-09-28 | 一种提高数据加解密速度的快速数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109286484A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113886863A (zh) * | 2021-12-07 | 2022-01-04 | 成都中科合迅科技有限公司 | 数据加密方法以及数据加密设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1960372A (zh) * | 2006-11-09 | 2007-05-09 | 华中科技大学 | 一种用于nas存储系统的加密读写方法 |
CN101013938A (zh) * | 2007-01-12 | 2007-08-08 | 广州市诚毅科技软件开发有限公司 | 一种分组密码加密方法 |
CN103400064A (zh) * | 2013-08-20 | 2013-11-20 | 北京网秦天下科技有限公司 | 用于文件加密和解密的方法和设备 |
CN105205411A (zh) * | 2015-09-21 | 2015-12-30 | 北京元心科技有限公司 | 一种实现对称加密文件随机存储的方法和系统 |
US20160112188A1 (en) * | 2014-10-20 | 2016-04-21 | Hong-Mook Choi | Encryptor/decryptor, electronic device including encryptor/decryptor, and method of operating encryptor/decryptor |
-
2018
- 2018-09-28 CN CN201811136602.4A patent/CN109286484A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1960372A (zh) * | 2006-11-09 | 2007-05-09 | 华中科技大学 | 一种用于nas存储系统的加密读写方法 |
CN101013938A (zh) * | 2007-01-12 | 2007-08-08 | 广州市诚毅科技软件开发有限公司 | 一种分组密码加密方法 |
CN103400064A (zh) * | 2013-08-20 | 2013-11-20 | 北京网秦天下科技有限公司 | 用于文件加密和解密的方法和设备 |
US20160112188A1 (en) * | 2014-10-20 | 2016-04-21 | Hong-Mook Choi | Encryptor/decryptor, electronic device including encryptor/decryptor, and method of operating encryptor/decryptor |
CN105205411A (zh) * | 2015-09-21 | 2015-12-30 | 北京元心科技有限公司 | 一种实现对称加密文件随机存储的方法和系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113886863A (zh) * | 2021-12-07 | 2022-01-04 | 成都中科合迅科技有限公司 | 数据加密方法以及数据加密设备 |
CN113886863B (zh) * | 2021-12-07 | 2022-03-15 | 成都中科合迅科技有限公司 | 数据加密方法以及数据加密设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9712319B2 (en) | Method and apparatus to encrypt plaintext data | |
CN104205117B (zh) | 设备文件的加解密方法及装置 | |
US20160226658A1 (en) | System And Method For Secure Communications And Data Storage Using Multidimensional Encryption | |
US20050053232A1 (en) | Cipher block chaining decryption | |
CN105099652B (zh) | 数据加密、解密方法和装置 | |
CN102664740B (zh) | 一种基于远程授权的招投标文件加解密方法 | |
US20060023875A1 (en) | Enhanced stream cipher combining function | |
US20100027796A1 (en) | Multi-encryption | |
CN108063760B (zh) | 一种分组加密的方法及其系统、分组解密的方法 | |
CN106982116B (zh) | 一种基于可逆逻辑电路的aes的本地文件加密方法 | |
CN104518865A (zh) | 一种基于密码本的数据加密方法 | |
CN109286484A (zh) | 一种提高数据加解密速度的快速数据处理方法 | |
US7773753B2 (en) | Efficient remotely-keyed symmetric cryptography for digital rights management | |
US20060109981A1 (en) | Small hardware implementation of the subbyte function of rijndael | |
CN113541942B (zh) | 基于arx白盒分组密码的数字内容加解密方法 | |
CN114826558A (zh) | 一种海量数据快速加密方法及系统 | |
Arora et al. | Performance analysis of cryptography algorithms | |
CN101169776B (zh) | 提升中央处理单元运算效能的数据加密方法及加密装置 | |
Soni | Performance analysis of cascaded hybrid symmetric encryption models | |
CN106357391B (zh) | 安全信息分散加密算法 | |
CN105205411A (zh) | 一种实现对称加密文件随机存储的方法和系统 | |
US20200162113A1 (en) | Encryption device and decryption device, and operation method thereof | |
CN110581759A (zh) | Uoec-hex对称加密算法 | |
KR20170005850A (ko) | 암호 장치, 기억 시스템, 복호 장치, 암호 방법, 복호 방법, 암호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 및 복호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
US20040071287A1 (en) | Encryption circuit arrangement and method therefor |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190129 |