CN110880967B - Method for parallel encryption and decryption of multiple messages by adopting packet symmetric key algorithm - Google Patents
Method for parallel encryption and decryption of multiple messages by adopting packet symmetric key algorithm Download PDFInfo
- Publication number
- CN110880967B CN110880967B CN201911343580.3A CN201911343580A CN110880967B CN 110880967 B CN110880967 B CN 110880967B CN 201911343580 A CN201911343580 A CN 201911343580A CN 110880967 B CN110880967 B CN 110880967B
- Authority
- CN
- China
- Prior art keywords
- register
- bits
- encryption
- series
- algorithm
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000008569 process Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 101100220035 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) CCZ1 gene Proteins 0.000 description 1
- 101100285899 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SSE2 gene Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229910052754 neon Inorganic materials 0.000 description 1
- GKAOGPIIYCISHV-UHFFFAOYSA-N neon atom Chemical compound [Ne] GKAOGPIIYCISHV-UHFFFAOYSA-N 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
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
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/125—Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Storage Device Security (AREA)
Abstract
The application provides a method for encrypting and decrypting multiple messages in parallel by adopting a packet symmetric key algorithm, wherein the size of a register is M, and the size of a basic operation unit is N, so that k = M/N data from different messages can be processed simultaneously. The method comprises the following steps: respectively putting k data from different messages into k grouped data blocks, wherein the size of each grouped data block is the same as that of the register; dividing data in each grouped data block into k sections, sequentially connecting the ith section of the k grouped data in series, then placing the data into the ith register variable, encrypting the ith register variable, dividing the encrypted data in the register variable into k sections, and connecting the jth section of each register in series to obtain the encryption result of the jth group of plaintext; the decryption method is similar to the encryption method. The invention avoids a large amount of filling when processing short messages in the current common parallel mode by parallel data blocks of different messages, and maximizes the throughput of the grouping algorithm.
Description
Technical Field
The invention belongs to the technical field of coding, and particularly relates to a method for encrypting and decrypting multiple messages in parallel by adopting a block cipher algorithm.
Background
Cryptography is the subject of studying how to communicate information secretly, symmetric cryptography is an important branch of cryptography, and block cipher is an important research direction of symmetric cryptography. Symmetric cipher is a cipher system using the same cipher key for encryption/decryption, and the block cipher treats the input plaintext block as a whole and outputs a corresponding ciphertext block.
The basic operation of block cipher algorithms represented by SM4, AES, etc. is in the unit of 16/32/64 bit basic operation, while there are 64,128,256 or even 512 bit registers in modern CPUs. This means that a register can hold operands for a plurality of basic operations, and that one operation on the register (e.g. a bitwise exclusive-or operation) is equivalent to performing the corresponding operation on a plurality of operands simultaneously. Taking 128-bit registers, and 32-bit basic operation operands and bit exclusive-or operations as examples, 4 32-bit basic operation operands can be simultaneously stored in one 128-bit register, and one exclusive-or operation of two 128-bit registers is equivalent to a bit exclusive-or operation of operands that have completed 4 32-bit basic operations simultaneously.
The parallel technology for encrypting and decrypting messages by using a block cipher algorithm is mainly used for encrypting and decrypting a long message by using the method, so that the encryption and decryption speed is improved. That is, different blocks of data of the same message are loaded in a large register to realize parallel processing of different blocks of data of one message, thereby increasing the rate of encrypting and decrypting the message.
But in practical application, another scenario is faced with that a large number of messages need to be processed, and the length of each message is short, for example, when a database is encrypted, a large amount of short messages need to be processed. For example, only one packet is required to be encrypted and decrypted for encryption and decryption of a mobile phone number or a mailbox, and at the moment, the parallel encryption and decryption operation cannot be accelerated. The method provided by the invention can encrypt and decrypt a plurality of messages in parallel, thereby improving the efficiency of encryption and decryption operations.
Disclosure of Invention
The invention provides a method for encrypting and decrypting a plurality of messages in parallel by adopting a block symmetric cryptographic algorithm.
The invention discloses a method for encrypting multiple messages in parallel by adopting a packet symmetric key algorithm, which comprises the following specific steps:
the size of the register is M, the size of the basic operation unit is N, at the moment, k = M/N, namely k data from different messages can be processed simultaneously, the k data from different messages are respectively put into k grouped data blocks, and the size of each grouped data block is M which is the same as the size of the register; according to the adopted encryption algorithm, generating round keys according to a key generation algorithm and k main keys, wherein the k main keys can be the same or different;
during encryption, dividing data in each grouped data block into k sections according to the size N of a basic operation unit, sequentially connecting the ith sections in the k grouped data in series, then placing the data into the ith register variable, and executing encryption operation on the ith register variable, namely executing parallel encryption operation on the ith sections of the k grouped data blocks, wherein i =1,2, \ 8230;, k; completely encrypting all k register variables;
dividing encrypted data in register variables into k sections, and connecting j sections in each register in series to obtain an encryption result of j group plaintext, wherein j =1,2 \8230; 8230; k; i.e. the encrypted k data from different messages are recovered.
Preferably, where the encryption algorithm is SM4 algorithm, the register size is M =128 bits, and the basic operation unit size is N =32 bits, then there is k = M/N =4.
Preferably, 4 data from different messages, i.e. 4 sets of plaintext, are processed simultaneously; generating 4 groups of round keys according to a key expansion algorithm, wherein each group of round keys comprises 32 round keys with 32 bits and is marked as rk ij ,i=0,1,…,3,j=0,1,…,31;
During encryption, the first 32 bits in each grouped data block are taken out and serially connected and then stored in a first register variable, the second 32 bits in each grouped data block are taken out and serially connected and then stored in a second register variable, the third 32 bits in each grouped data block are taken out and serially connected and then stored in a third register variable, and the fourth 32 bits in each grouped data block are taken out and serially connected and then stored in a fourth register variable;
performing an encryption operation on the 4 register variables using the 128-bit register;
respectively taking out the first 32 bits of the 4 register variables which are connected in series to serve as an encryption result of a first group of plaintext, respectively taking out the second 32 bits of the 4 register variables which are connected in series to serve as an encryption result of a second group of plaintext, respectively taking out the third 32 bits of the 4 register variables which are connected in series to serve as an encryption result of a third group of plaintext, and respectively taking out the fourth 32 bits of the 4 register variables which are connected in series to serve as an encryption result of a fourth group of plaintext.
Preferably, the k master keys are identical.
Preferably, the operation mode of the encryption method applied to the packet symmetry algorithm comprises: ECB, CBC, CTR, CFB or FPE.
And, a method for decrypting multiple messages in parallel by using a packet symmetric key algorithm, the specific steps include:
the size of the register is M, the size of the basic operation unit is N, k = M/N encrypted data from different messages can be processed simultaneously, and k encrypted data are respectively put into k grouped data blocks; the size of each grouped data block is M which is the same as the size of the register; according to the adopted decryption algorithm, generating round keys according to a key generation algorithm and k main keys, wherein the k main keys can be the same or different;
during decryption, dividing data in each grouped data block into k = M/N sections according to the size N of a basic operation unit, sequentially connecting the ith sections in the k grouped data in series, then placing the data into the ith register variable, and performing decryption operation on the ith register variable, namely performing parallel decryption operation on the ith sections of the k grouped data blocks, wherein i =1,2 \ 8230, i \ 8230k; the decryption is completed on all the k register variables;
the decrypted data in the register variables are divided into k = M/N sections, and j sections in each register are connected in series to obtain a j group of plain texts, wherein j =1,2 \ 8230; \8230, k.
Preferably, wherein the decryption algorithm is the SM4 algorithm, the register size is 128 bits, and the basic arithmetic unit size is 32 bits.
Preferably, 4 encrypted data from different messages, i.e. 4 sets of ciphertext, are processed simultaneously; 4 groups of round keys are generated according to a key expansion algorithm, each group of round keys comprises 32 round keys with 32 bits and is marked as rk ij ,i=0,1,2,3,j=0,1,…,31;
During decryption, the first 32 bits in each grouped data block are taken out and connected in series and then stored in a first register variable, the second 32 bits in each component data block are taken out and connected in series and then stored in a second register variable, the third 32 bits in each component data block are taken out and connected in series and then stored in a third register variable, and the fourth 32 bits are taken out and connected in series and then stored in a fourth register variable;
performing a decryption operation on the 4 register variables using the 128-bit register;
and respectively taking out a first 32-bit serial connection of the 4 register variables as a decryption result of a first group of ciphertexts, respectively taking out a second 32-bit serial connection as a decryption result of a second group of ciphertexts, respectively taking out a third 32-bit serial connection as a decryption result of a third group of ciphertexts, and respectively taking out a fourth 32-bit serial connection as a decryption result of a fourth group of ciphertexts.
Preferably, the operation mode of the decryption method applied to the packet symmetry algorithm includes: ECB, CBC, CTR, CFB or FPE.
The invention has the beneficial effect that the parallel operation mode is utilized to improve the speed of encrypting and decrypting a plurality of messages by the block cipher algorithm. In the parallel operation mode, independent encryption and decryption of different data blocks can be executed in parallel by calling round functions of the grouping algorithm, and different keys can be used for encryption and decryption of different data blocks, and the same key can also be used for encryption and decryption of different data blocks. By processing the data blocks of a plurality of messages in parallel, the parallel technology of encrypting and decrypting one message by using a common block cipher algorithm is avoided, and a large amount of filling is carried out on the encrypted and decrypted short messages. The throughput of the grouping algorithm can be maximized by performing independent operations on different short message data in parallel.
Drawings
FIG. 1 is a schematic diagram of an encryption flow; and
fig. 2 is a schematic diagram of a decryption process.
Detailed Description
The application places k data from different messages into one register, depending on the instruction set and algorithm used. According to the adopted encryption and decryption algorithm, round keys are generated according to a key generation algorithm and k main keys, and the k main keys can be multiple copies of the same key or different k main keys. According to the difference of the instruction sets used, the data are stored in the array with the corresponding length, if the size of the register is M and the basic operation unit is N, then k = M/N, i.e. M/N data from different messages can be processed simultaneously, specifically, taking SM4 algorithm as an example, 128-bit register as an example, and the basic operation unit is 32 bits, so that each register can store 4 data from different messages, that is, k =4, and also 4 inputs of the master key and 4 master keysThe keys may be the same or different, and 4 sets of round keys are generated according to a key expansion algorithm, wherein each set of round keys comprises 32 round keys with 32 bits, which are denoted as rk ij ,i=0,1,…,3,j=0,1,…,31。
During encryption, first packet data blocks of k groups of messages are taken out according to the prior art and stored in k variables respectively. Taking SM4 algorithm as an example, there are 4 registers, namely, the first register to the fourth register, each of which has a size of 128 bits, and the basic operation unit is 32 bits, then k =128/32=4, that is, data from 4 different messages can be processed simultaneously, and the storage method is as follows: and respectively taking out the first 32 bits of each message, connecting the first 32 bits in series, storing the first 32 bits in the first register variable, respectively taking out the second 32 bits of each message, connecting the second 32 bits in series, storing the second 32 bits in the second register variable, respectively taking out the third 32 bits of each message, connecting the third 32 bits in series, storing the third 32 bits in the third register variable, respectively taking out the fourth 32 bits of each message, connecting the fourth 32 bits in series, and storing the fourth 32 bits in the fourth register variable.
Since the first 32-bit block operations for a plurality of data blocks (blocks) of different messages are all the same. The operation on the 128-bit register is the same as completing the operation on 4 blocks of data from 4 messages at the same time. And the encryption operation is to perform a certain number of round transformations on the input plaintext under the action of a round key, so as to complete the encryption of the contents in the 128-bit register, which is equivalent to completing the encryption of 4 messages at the same time.
Reducing the encrypted data, respectively taking out the length bit value of a first calculation unit in 4 register variables, and serially connecting the length bit values to be used as an encryption result of a first group of plaintext; similarly, the length bit value of the kth computing unit in the 4 register variables is respectively taken out and serially connected to be used as the ciphertext after the kth plaintext is encrypted. Taking SM4 as an example, respectively taking out the first 32 bits of 4 register variables, and serially connecting the 32 bits to be used as an encryption result of a first group of plaintext; similarly, the kth 32 bits of the 4 register variables are respectively taken out and serially connected to be used as the ciphertext after the kth plaintext is encrypted.
Take the example of parallel encryption and decryption of 4 groups of messages using the grouping algorithm SM4 and a 128-bit instruction set. The expanded keys can be stored in a constant array RK [32] of 128 bits, and for i =0,1, \8230;, 31, RK [ i ] is a number of 128 bits in length, which can be regarded as 4 32 bits, and the ith round of expanded keys of the 1 st to 4 th group keys are stored in turn. I.e., RK [ i ] = RK0i | | RK1i | | | RK2i | | RK3i, ("|" means concatenation).
There are 4 sets of plaintext messages to be encrypted, and the four sets of plaintext messages are respectively:
clear text message 1: a00 A01 a02 a03 plaintext message 2: a10 A11A 12A 13
Clear text message 3: a20 A21 a22 a23 plaintext message 4: a30 A31A 32A 33
Firstly, the four groups of messages are subjected to data transformation, the 1 st, 2 nd, 3 rd and 4 th 32-bit words in the 4 groups of messages are respectively taken out, new data are formed again, and the new data are respectively stored in four variables X0, X1, X2 and X3 with the length of 128 bits.
X0=A00A10A20A30,X1=A01A11A21A31
X2=A02A12A22A32,X3=A03A13A23A33
And the parallel encryption part performs 32-round conversion under the action of the round key. Wherein, the 32-round conversion can be divided into 8 operations, each operation comprises 4-round conversion, and the actual pseudo code is as follows:
the output of the parallel encryption is as follows:
Y0=B00B10B20B30 Y1=B01B11B21B31
Y2=B02B12B22B32 Y3=B03B13B23B33
transforming the output data to obtain the final encrypted data:
ciphertext message 1: b00 B01B 02B 03 ciphertext message 2: b10 B11B 12B 13
Ciphertext message 3: b20 B21B 22B 23 ciphertext message 4: b30 B31B 32B 33
The decryption transformation of the SM4 algorithm is structured the same as the encryption transformation, except for the order of use of the round keys.
The aforementioned 64/128/256/512 bit registers may be either 64-bit registers natively supported on the target computing platform (e.g., 64-bit registers natively supported by a 64-bit chip) or extended instruction sets supported on the target computing platform, including but not limited to SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX2, FMA, AVX512, KNC, SVML, CLMUL, XOP supported by an AMD processor, FMA4, CVT16, etc., SIMD instruction sets and the NEON technology of ARM.
The method for encrypting and decrypting the multiple messages in parallel by the block cipher algorithm is suitable for all working modes of the block symmetric algorithm, and the working modes comprise an ECB CBC CTR CFB, an FPE and the like.
The following illustrates an implementation of the CBC mode. When k messages are encrypted, k groups of initial IV are firstly produced for the k messages, when in encryption, the first group of plaintext of each message and the result of modulo two addition of the IV corresponding to each message are used as plaintext input for parallel encryption, the encryption result is the first group of ciphertext of each message, and the result of modulo two addition of the ith group of plaintext of each message and the i-1 group of ciphertext is encrypted in parallel to be used as the ciphertext of the ith group, wherein i is more than or equal to 2.
The decryption process is the reverse process of the encryption process, when decrypting the first group of plaintext of each message, the first group of ciphertext blocks of each message are decrypted in parallel, and the decrypted intermediate data and the IV of the corresponding message are subjected to modulo two addition to obtain the first group of plaintext of each message. When decrypting the ith group of plaintext of each message, firstly, the ith group of ciphertext blocks of each message are decrypted in parallel, and the decrypted intermediate data and the i-1 group of ciphertext of the corresponding message are subjected to modulo two addition to obtain the ith group of plaintext of each message. Wherein i is greater than or equal to 2.
It will be understood that the above embodiments are merely exemplary embodiments adopted to illustrate the principles of the present invention, and the present invention is not limited thereto. Those of ordinary skill in the art will understand that: the technical solutions described in the foregoing embodiments may still be modified, or some or all of the technical features may be equivalently replaced; and the modifications or the substitutions do not make the essence of the corresponding technical solutions depart from the scope of the technical solutions of the embodiments of the present invention.
Claims (9)
1. A method for encrypting multiple messages in parallel by adopting a packet symmetric key algorithm is characterized by comprising the following specific steps:
the size of the register is M, the size of the basic operation unit is N, at the moment, k = M/N, namely k data from different messages can be processed simultaneously, the k data from different messages are respectively put into k grouped data blocks, and the size of each grouped data block is M which is the same as the size of the register; according to the adopted encryption algorithm, generating round keys according to a key generation algorithm and k main keys, wherein the k main keys can be the same or different;
during encryption, dividing data in each grouped data block into k sections according to the size N of a basic operation unit, sequentially connecting the ith sections in the k grouped data in series, then placing the ith sections into the ith register variable, and performing encryption operation on the ith register variable, namely performing parallel encryption operation on the ith sections of the k grouped data blocks, wherein i =1,2, \\ 8230;, k; completely encrypting all k register variables;
dividing encrypted data in register variables into k sections, and connecting j sections in each register in series to obtain an encryption result of j group plaintext, wherein j =1,2 \8230; 8230; k; i.e. the encrypted k data from different messages are recovered.
2. The method for parallel encryption of multiple messages using packet symmetric key algorithm according to claim 1,
the encryption algorithm is an SM4 algorithm, the register size is M =128 bits, the basic operation unit size is N =32 bits, and k = M/N =4.
3. The method for parallel encryption of multiple messages using a packet symmetric key algorithm according to claim 2,
processing 4 data from different messages at the same time, namely 4 sets of plaintext; generating 4 groups of round keys according to a key expansion algorithm, wherein each group of round keys comprises 32 round keys with 32 bits and is recorded as rk ij ,i=0,1,…,3,j=0,1,…,31;
During encryption, the first 32 bits in each grouped data block are taken out and connected in series and then stored in a first register variable, the second 32 bits in each grouped data block are taken out and connected in series and then stored in a second register variable, the third 32 bits in each grouped data block are taken out and connected in series and then stored in a third register variable, and the fourth 32 bits in each grouped data block are taken out and connected in series and then stored in a fourth register variable;
performing an encryption operation on the 4 register variables using the 128-bit register;
respectively taking out the first 32 bits of the 4 register variables which are connected in series to serve as an encryption result of a first group of plaintext, respectively taking out the second 32 bits of the 4 register variables which are connected in series to serve as an encryption result of a second group of plaintext, respectively taking out the third 32 bits of the 4 register variables which are connected in series to serve as an encryption result of a third group of plaintext, and respectively taking out the fourth 32 bits of the 4 register variables which are connected in series to serve as an encryption result of a fourth group of plaintext.
4. The method of claim 1, wherein the k master keys are the same.
5. The method for parallel encryption of multiple messages using packet symmetric key algorithm according to claim 1, wherein the operation mode of the encryption method applied to the packet symmetric key algorithm comprises: ECB, CBC, CTR, CFB or FPE.
6. A method for decrypting multiple messages in parallel by adopting a packet symmetric key algorithm is characterized by comprising the following specific steps:
the size of the register is M, the size of the basic operation unit is N, k = M/N encrypted data from different messages can be processed simultaneously, and k encrypted data are respectively put into k grouped data blocks; the size of each grouped data block is M which is the same as the size of the register; according to the adopted decryption algorithm, generating round keys according to a key generation algorithm and k main keys, wherein the k main keys can be the same or different;
during decryption, dividing data in each grouped data block into k = M/N sections according to the size N of a basic operation unit, sequentially connecting ith sections in k grouped data in series, then placing the ith sections into ith register variables, and performing decryption operation on the ith register variables, namely performing parallel decryption operation on the ith sections of the k grouped data blocks, wherein i =1,2 \8230; \8230, k; the decryption is completed on all the k register variables;
the decrypted data in the register variables are divided into k = M/N sections, and j sections in each register are connected in series to obtain a j group of plain texts, wherein j =1,2 \ 8230; \8230, k.
7. The method of claim 6, wherein the decryption algorithm is SM4 algorithm, the size of the register is 128 bits, and the size of the basic operation unit is 32 bits.
8. The method for decrypting multiple messages in parallel by using the packet symmetric key algorithm according to claim 7,
processing 4 encrypted data from different messages at the same time, namely 4 groups of ciphertexts; 4 groups of round keys are generated according to a key expansion algorithm, each group of round keys comprises 32 round keys with 32 bits and is marked as rk ij ,i=0,1,2,3,j=0,1,…,31;
During decryption, the first 32 bits in each grouped data block are taken out and connected in series and then stored in a first register variable, the second 32 bits in each component data block are taken out and connected in series and then stored in a second register variable, the third 32 bits in each component data block are taken out and connected in series and then stored in a third register variable, and the fourth 32 bits are taken out and connected in series and then stored in a fourth register variable;
performing a decryption operation on the 4 register variables using the 128-bit register;
and respectively taking out a first 32-bit serial connection of the 4 register variables as a decryption result of a first group of ciphertexts, respectively taking out a second 32-bit serial connection as a decryption result of a second group of ciphertexts, respectively taking out a third 32-bit serial connection as a decryption result of a third group of ciphertexts, and respectively taking out a fourth 32-bit serial connection as a decryption result of a fourth group of ciphertexts.
9. The method for decrypting multiple messages in parallel by using a packet symmetric key algorithm according to claim 6, wherein the operation mode of the decryption method applied to the packet symmetric key algorithm comprises: ECB, CBC, CTR, CFB or FPE.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911343580.3A CN110880967B (en) | 2019-12-24 | 2019-12-24 | Method for parallel encryption and decryption of multiple messages by adopting packet symmetric key algorithm |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911343580.3A CN110880967B (en) | 2019-12-24 | 2019-12-24 | Method for parallel encryption and decryption of multiple messages by adopting packet symmetric key algorithm |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110880967A CN110880967A (en) | 2020-03-13 |
CN110880967B true CN110880967B (en) | 2023-04-07 |
Family
ID=69731133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911343580.3A Active CN110880967B (en) | 2019-12-24 | 2019-12-24 | Method for parallel encryption and decryption of multiple messages by adopting packet symmetric key algorithm |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110880967B (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112543096A (en) * | 2020-12-16 | 2021-03-23 | 北京马赫谷科技有限公司 | Data processing method, device, equipment and medium based on SIMD (Single instruction multiple data) instruction |
CN113193950B (en) * | 2021-07-01 | 2021-12-10 | 广东省新一代通信与网络创新研究院 | Data encryption method, data decryption method and storage medium |
CN114710287B (en) * | 2022-06-06 | 2022-09-20 | 中科问天量子科技(天津)有限公司 | Encryption method, system, storage medium and encrypted file access method |
CN115225254B (en) * | 2022-07-07 | 2024-04-09 | 山东大学 | Encryption method and system based on bit slicing |
CN116431217B (en) * | 2023-04-06 | 2023-10-17 | 中伏能源嘉兴股份有限公司 | High-speed 3DES algorithm based on 51-series singlechip special register |
CN116488794B (en) * | 2023-06-16 | 2023-09-19 | 杭州海康威视数字技术股份有限公司 | Method and device for realizing high-speed SM4 password module based on FPGA |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105024805A (en) * | 2015-07-24 | 2015-11-04 | 东南大学 | Improved CBC mode 3DES encryption method |
CN109600217A (en) * | 2019-01-18 | 2019-04-09 | 江苏实达迪美数据处理有限公司 | Optimize the method and processor of SM4 encryption and decryption in parallel operational mode |
CN110034918A (en) * | 2019-03-15 | 2019-07-19 | 深圳市纽创信安科技开发有限公司 | A kind of SM4 acceleration method and device |
CN110348231A (en) * | 2019-06-18 | 2019-10-18 | 阿里巴巴集团控股有限公司 | Realize the data homomorphism encryption and decryption method and device of secret protection |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5055993B2 (en) * | 2006-12-11 | 2012-10-24 | ソニー株式会社 | Cryptographic processing apparatus, cryptographic processing method, and computer program |
-
2019
- 2019-12-24 CN CN201911343580.3A patent/CN110880967B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105024805A (en) * | 2015-07-24 | 2015-11-04 | 东南大学 | Improved CBC mode 3DES encryption method |
CN109600217A (en) * | 2019-01-18 | 2019-04-09 | 江苏实达迪美数据处理有限公司 | Optimize the method and processor of SM4 encryption and decryption in parallel operational mode |
CN110034918A (en) * | 2019-03-15 | 2019-07-19 | 深圳市纽创信安科技开发有限公司 | A kind of SM4 acceleration method and device |
CN110348231A (en) * | 2019-06-18 | 2019-10-18 | 阿里巴巴集团控股有限公司 | Realize the data homomorphism encryption and decryption method and device of secret protection |
Also Published As
Publication number | Publication date |
---|---|
CN110880967A (en) | 2020-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110880967B (en) | Method for parallel encryption and decryption of multiple messages by adopting packet symmetric key algorithm | |
Brown et al. | LOKI—a cryptographic primitive for authentication and secrecy applications | |
US10009171B2 (en) | Construction and uses of variable-input-length tweakable ciphers | |
CN110166223B (en) | Rapid implementation method of cryptographic block cipher algorithm SM4 | |
US11546135B2 (en) | Key sequence generation for cryptographic operations | |
CN101202623B (en) | Message authentication code generation method, authentication/encryption method and authentication/decryption method | |
US20230261853A1 (en) | Method and apparatus for improving the speed of advanced encryption standard (aes) decryption algorithm | |
JP5652363B2 (en) | Cryptographic processing apparatus, cryptographic processing method, and program | |
CN115314211B (en) | Privacy protection machine learning training and reasoning method and system based on heterogeneous computing | |
Achkoun et al. | SPF-CA: A new cellular automata based block cipher using key-dependent S-boxes | |
CN115811398A (en) | Dynamic S-box-based block cipher algorithm, device, system and storage medium | |
CN111934850A (en) | Encryption and decryption method for class AES | |
Tang et al. | A one-time pad encryption algorithm based on one-way hash and conventional block cipher | |
Singh et al. | Study & analysis of cryptography algorithms: RSA, AES, DES, T-DES, blowfish | |
Mohan et al. | Revised aes and its modes of operation | |
CN114244496B (en) | SM4 encryption and decryption algorithm parallelization realization method based on tower domain optimization S box | |
CN115913518A (en) | GCM (generalized matrix memory) optimization method and system based on block cipher algorithm and bit slice | |
Bajaj et al. | AES algorithm for encryption | |
KR20230007242A (en) | Method for determining a cryptographic key, computer program, and data processing system | |
CN114826558A (en) | Mass data rapid encryption method and system | |
Abood et al. | Enhancing performance of advanced encryption standard for data security | |
CN110532763A (en) | A kind of cipher constructions method and system based on high-order orthomorphic permutation | |
Lu et al. | Differential attack on nine rounds of the SEED block cipher | |
Labbi et al. | Symmetric encryption algorithm for RFID systems using a dynamic generation of key | |
Lanjewar et al. | Implementation of AES-256 Bit: A Review |
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 |