CN110071927B - Information encryption method, system and related components - Google Patents

Information encryption method, system and related components Download PDF

Info

Publication number
CN110071927B
CN110071927B CN201910349533.3A CN201910349533A CN110071927B CN 110071927 B CN110071927 B CN 110071927B CN 201910349533 A CN201910349533 A CN 201910349533A CN 110071927 B CN110071927 B CN 110071927B
Authority
CN
China
Prior art keywords
key
sub
word
result
encryption
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
Application number
CN201910349533.3A
Other languages
Chinese (zh)
Other versions
CN110071927A (en
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.)
CCore Technology Suzhou Co Ltd
Original Assignee
CCore Technology Suzhou Co 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 CCore Technology Suzhou Co Ltd filed Critical CCore Technology Suzhou Co Ltd
Priority to CN201910349533.3A priority Critical patent/CN110071927B/en
Publication of CN110071927A publication Critical patent/CN110071927A/en
Application granted granted Critical
Publication of CN110071927B publication Critical patent/CN110071927B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Abstract

The application discloses an information encryption method, wherein the information encryption comprises the steps of determining information to be encrypted and a main key code when an encryption instruction is received; dividing the main key code into a left key word and a right key word by taking a half word as a unit, and dividing the information to be encrypted into a first left code word and a first right code word by taking the half word as the unit; executing key expansion operation according to the left key word and the right key word to obtain N groups of sub keys; performing an XOR operation and modulo-2 operation on the first left-hand codeword and the first right-hand codeword using N sets of the subkeys in sequenceMAnd performing addition operation so as to perform encryption processing on the information to be encrypted to obtain a ciphertext code. The method can reduce the storage space occupied by the information encryption process on the premise of meeting certain safety. The application also discloses an information encryption system, a computer readable storage medium and an electronic device, which have the beneficial effects.

Description

Information encryption method, system and related components
Technical Field
The present invention relates to the field of information security technologies, and in particular, to an information encryption method and system, a computer-readable storage medium, and an electronic device.
Background
With the wide application of the internet of things, many security problems related to the characteristics of the devices of the internet of things caused by the deployment of the internet of things are more and more prominent. For the internet of things, internet of things devices are more vulnerable to security threats than internet-connected computers because the processing power and memory resources of the internet of things devices are very limited. The autonomous operation and communication of the internet of things devices also facilitates security attacks. Therefore, there is a pressing need for new and more robust security solutions for internet of things systems, particularly where lightweight encryption algorithms are required in terms of computing power and internal storage.
At present, in the existing grouping algorithm, most of the nonlinear components of the algorithm are S-boxes, which have higher security, but occupy a large storage space, for example, an 8-in 8-out S-box needs to occupy 256 bytes of storage space, and for the most widely used aes algorithm, there are 16S-boxes, which occupy a very large storage space, and are not suitable for internet of things devices with very limited processing capacity and resources. On the premise of meeting certain safety, a grouping algorithm with small storage space and simple structure is very urgent for the Internet of things.
Therefore, how to reduce the storage space occupied by the information encryption process on the premise of satisfying certain security is a technical problem that needs to be solved by those skilled in the art at present.
Disclosure of Invention
The invention aims to provide an information encryption method, an information encryption system, a computer readable storage medium and electronic equipment, which can reduce the storage space occupied by an information encryption process on the premise of meeting certain security.
In order to solve the above technical problem, the present application provides an information encryption method, where the information encryption algorithm includes:
when an encryption instruction is received, determining information to be encrypted and a main key code; the information to be encrypted is a plaintext code;
dividing the main key code into a left key word and a right key word by taking a half word as a unit, and dividing the information to be encrypted into a first left code word and a first right code word by taking the half word as the unit;
executing key expansion operation according to the left key word and the right key word to obtain N groups of sub keys;
performing an XOR operation and modulo-2 operation on the first left-hand codeword and the first right-hand codeword using N sets of the subkeys in sequenceMAnd performing addition operation so as to perform encryption processing on the information to be encrypted to obtain a ciphertext code.
Optionally, the performing a key expansion operation according to the left key word and the right key word to obtain N sub-keys includes:
step 1: performing modulo-2 on the left key word and the right key word after circularly shifting left by A bit16Performing an addition operation to obtain a first intermediate key word L1, and performing an exclusive-or operation on the right key word circularly shifted by the B bit and the first intermediate key word L1 to obtain a second intermediate key word R2;
step 2: performing modulo-2 on the first intermediate key word L1 and the second intermediate key word L2 after shifting left by A bits16Performing addition operation to obtain a first sub-key KL0, and performing exclusive OR operation on a right key word subjected to cyclic right shift by B bits and the first sub-key KL0 to obtain a second sub-key KR 0;
and step 3: setting the first sub-key KL0 and the second sub-key KR0 as a group of sub-keys, and recording the group number of the sub-keys;
and 4, step 4: judging whether the number of the groups is larger than N; if not, taking the first sub-key KL0 as a new left-side key word and taking the second sub-key KR0 as a new right-side key word, and entering step 1.
Optionally, performing xor operation and modulo-2 operation on the first left-side codeword and the first right-side codeword by sequentially using N sets of the subkeysMThe adding operation so as to perform encryption processing on the information to be encrypted to obtain ciphertext codes comprises the following steps:
step 1: numbering all the sub-keys from morning to evening according to the generation time, and setting Y as 1; wherein, the earlier the generation time, the smaller the number of the sub-key;
step 2: respectively taking the 2 sub-keys with the serial numbers of Y as a current first sub-key and a current second sub-key;
and step 3: performing XOR operation on the first left-side code word and the current first sub-key to obtain a first operation result, and performing modulo-2 operation on the first operation result and the first right-side code word16Performing addition operation to obtain a second operation result, circularly right-shifting the second operation result by C bits to obtain a first intermediate encryption result, and performing exclusive or operation on the first right-side code word circularly left-shifted by D bits and the first intermediate encryption result to obtain a second intermediate encryption result;
and 4, step 4: modulo-2 the first intermediate encryption result and the second intermediate encryption result16Performing addition operation to obtain a third operation result, performing exclusive-or operation on the third operation result and the current first sub-secret key to obtain a current first encryption result, and performing exclusive-or operation on the first right-side code word circularly shifted by A bit left and the current first encryption result to obtain a current second encryption result;
and 5: judging whether Y is larger than N; if so, using the current first encryption result and the current second encryption result as ciphertext codes after encrypting the information to be encrypted; if not, taking the current first encryption result as a new first left-side encoding word, taking the current second encryption result as a new first right-side encoding word, adding one to Y, and entering the step 2;
optionally, the method further includes:
and after the sub-keys are generated, storing the sub-keys into corresponding registers.
Optionally, the method further includes:
when a decryption instruction corresponding to the ciphertext codes is received, dividing the ciphertext codes into a second left side code word and a second right side code word by taking a half word as a unit according to the decryption instruction;
performing XOR operation and modulo-2 operation on the second left-hand codeword and the second right-hand codeword using N sets of the subkeys in sequenceMAnd performing addition operation so as to execute decryption processing on the ciphertext codes to obtain the plaintext codes.
Optionally, performing xor operation and modulo-2 operation on the second left-side codeword and the second right-side codeword by sequentially using N sets of the subkeysMThe adding operation so as to execute decryption processing on the ciphertext codes to obtain the plaintext codes comprises the following steps:
step 1: numbering all the sub-keys from morning to evening according to the generation time, and setting X to be N; the earlier generation time, the smaller the number of the sub-key is, and the same number of the sub-key with the same generation time is;
step 2: taking the subkey with the number of X as a current first subkey and a current second subkey;
and step 3: performing exclusive-or operation on the second left-side code word and the second right-side code word to obtain a fourth operation result, and shifting the fourth operation result to the right by A bit to obtain a second intermediate decryption result; performing an exclusive-or operation on the second left-side encoded word and the current second sub-key to obtain a fifth operation result, and performing a modulo-2 operation on the fifth operation result and the second middle key word R116The encryption operation obtains a first intermediate decryption result;
and 4, step 4: performing exclusive-or operation on the first intermediate decryption result and the second intermediate decryption result to obtain a sixth operation result, and circularly right-shifting the sixth operation result by D bit to obtain a current second decryption result; performing modulo-2 on the first intermediate decryption result and the current second decryption result after circularly shifting the left by C bit16Performing an addition operation to obtain a seventh operation result, and performing an exclusive or operation on the seventh operation result and the current first sub-secret key to obtain a current first decryption result;
and 5: judging whether X is equal to 1; if so, taking the current first decryption result and the current second decryption result as a plaintext code obtained after the ciphertext code is decrypted; if not, taking the current first decryption result as a new second left-side encoding word, taking the current second decryption result as a new second right-side encoding word, subtracting X by one, and entering the step 2.
The present application also provides an information encryption system, including:
the information determining module is used for determining the information to be encrypted and the main key code when the encryption instruction is received; the information to be encrypted is a plaintext code;
the dividing module is used for dividing the main key code into a left key word and a right key word by taking a halfword as a unit, and dividing the information to be encrypted into a first left code word and a first right code word by taking the halfword as the unit;
the key expansion module is used for executing key expansion operation according to the left key word and the right key word to obtain N groups of sub keys;
an encryption module for performing XOR operation and modulo-2 operation on the first left-side codeword and the first right-side codeword using N sets of the subkeys in sequenceMAnd performing addition operation so as to perform encryption processing on the information to be encrypted to obtain a ciphertext code.
Optionally, the key expansion module includes:
a middle key determining unit for performing modulo-2 operation on the left key word and the right key word after the left shift of the cycle by A bits16Performing an addition operation to obtain a first intermediate key word L1, and performing an exclusive-or operation on the right key word circularly shifted by the B bit and the first intermediate key word L1 to obtain a second intermediate key word R2;
a sub-key determination unit for performing modulo-2 on the first intermediate key word L1 and the second intermediate key word L2 after left-shifting by A bits16Performing addition operation to obtain a first sub-key KL0, and performing exclusive OR operation on a right key word subjected to cyclic right shift by B bits and the first sub-key KL0 to obtain a second sub-key KR 0;
a sub-key processing unit, configured to set the first sub-key KL0 and the second sub-key KR0 as a group of sub-keys, and record the number of groups of sub-keys;
a judging unit for judging whether the number of groups is greater than N; if not, the first sub-key KL0 is used as a new left key word, the second sub-key KR0 is used as a new right key word, and the work flow corresponding to the intermediate key determining unit is started.
The present application also provides a computer-readable storage medium having stored thereon a computer program that, when executed, performs the steps performed by the above-described information encryption method.
The application also provides an electronic device, which comprises a memory and a processor, wherein the memory is stored with a computer program, and the processor realizes the steps executed by the information encryption method when calling the computer program in the memory.
The application provides an information encryption method, which comprises the step of determining a message to be encrypted when an encryption instruction is receivedInformation and main key coding; the information to be encrypted is a plaintext code; dividing the main key code into a left key word and a right key word by taking a half word as a unit, and dividing the information to be encrypted into a first left code word and a first right code word by taking the half word as the unit; executing key expansion operation according to the left key word and the right key word to obtain N groups of sub keys; performing an XOR operation and modulo-2 operation on the first left-hand codeword and the first right-hand codeword using N sets of the subkeys in sequenceMAnd performing addition operation so as to perform encryption processing on the information to be encrypted to obtain a ciphertext code.
Compared with a mode of encrypting through an S box in the related technology, the method and the device have the advantages that N groups of sub-keys obtained through key expansion sequentially perform encryption operation on the first left side code word and the first right side code word to obtain the ciphertext codes. Furthermore, since the present application performs XOR operation and modulo-2 operationMThe information encryption is realized by addition operation, and no complex operation logic is needed in the process, so that the hardware utilization rate in the encryption process is improved, and the requirements on the carrier computing capacity and the storage space are reduced. Therefore, the storage space occupied by the information encryption process can be reduced on the premise of meeting certain safety. The application also provides an information encryption system, a computer readable storage medium and an electronic device, which have the beneficial effects and are not repeated herein.
Drawings
In order to more clearly illustrate the embodiments of the present application, the drawings needed for the embodiments will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and that other drawings can be obtained by those skilled in the art without inventive effort.
Fig. 1 is a flowchart of an information encryption method according to an embodiment of the present application;
fig. 2 is a flowchart of an information decryption method according to an embodiment of the present application;
FIG. 3 is a schematic diagram of the overall circuit structure of the present embodiment;
FIG. 4 is a diagram of an internal framework of each round of the key expansion circuit of the present embodiment;
FIG. 5 is a block diagram of the encryption/decryption circuit according to the present embodiment;
FIG. 6 is a diagram of the internal framework of each round of operation in the encryption/decryption algorithm of the present embodiment;
fig. 7 is a schematic structural diagram of an information encryption system according to an embodiment of the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are some embodiments of the present application, but not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
Referring to fig. 1, fig. 1 is a flowchart of an information encryption method according to an embodiment of the present disclosure.
The specific steps may include:
s101: when an encryption instruction is received, determining information to be encrypted and a main key code;
the information to be encrypted is a plaintext code, the embodiment can be applied to the internet of things equipment in the internet of things, and the execution main body of the embodiment can be the internet of things equipment. The information to be encrypted is information that needs to be encrypted, and the information to be encrypted exists in a plaintext encoding form.
S102: dividing the main key code into a left key word and a right key word by taking a half word as a unit, and dividing the information to be encrypted into a first left code word and a first right code word by taking the half word as the unit;
the main key code may be a string of characters, each character has a length of one word, each character in the main key may be divided into a left key word and a right key word according to a halfword unit in this step, and similarly, each character in the information to be encrypted may be divided into a first left encoded word and a first right encoded word according to a halfword unit.
S103: executing key expansion operation according to the left key word and the right key word to obtain N groups of sub keys;
the present embodiment aims to obtain multiple sets of sub-keys by performing key expansion on a main key code, and this step is implemented on the basis of dividing the main key code into a left key word and a right key word, where the value of N is not limited herein.
Specifically, the operation of performing the key expansion operation to obtain N groups of subkeys may include the following steps:
step 1: performing modulo-2 on the left key word and the right key word after circularly shifting left by A bit16Performing an addition operation to obtain a first intermediate key word L1, and performing an exclusive-or operation on the right key word circularly shifted by the B bit and the first intermediate key word L1 to obtain a second intermediate key word R2;
step 2: performing modulo-2 on the first intermediate key word L1 and the second intermediate key word L2 after shifting left by A bits16Performing addition operation to obtain a first sub-key KL0, and performing exclusive OR operation on a right key word subjected to cyclic right shift by B bits and the first sub-key KL0 to obtain a second sub-key KR 0;
and step 3: setting the first sub-key KL0 and the second sub-key KR0 as a group of sub-keys, and recording the group number of the sub-keys;
and 4, step 4: judging whether the number of the groups is larger than N; if not, taking the first sub-key KL0 as a new left-side key word and taking the second sub-key KR0 as a new right-side key word, and entering step 1. If yes, the relevant operation of S104 may be entered.
As a possible implementation, the subkey may be stored in a corresponding register after the subkey is generated.
S104: performing an exclusive-or operation sum on the first left-side codeword and the first right-side codeword using N sets of the subkeys in sequenceDie 2MAnd performing addition operation so as to perform encryption processing on the information to be encrypted to obtain a ciphertext code.
In the step, the first left code word and the first right code word are subjected to exclusive-or operation and modulo-2 operation in sequence by utilizing the subkeyMThe addition operation is equivalent to performing an iterative operation. The previous generation obtains the encryption result as the input data of the next generation encryption process, and the specific process may include the following steps:
step 1: numbering all the sub-keys from morning to evening according to the generation time, and setting Y as 1; wherein, the earlier the generation time, the smaller the number of the sub-key;
the minimum value of the number is 1, the maximum value is N, and the difference between adjacent numbers is 1.
Step 2: respectively taking the 2 sub-keys with the serial numbers of Y as a current first sub-key and a current second sub-key;
in this embodiment, two sub-keys with the default number Y exist, and further, in this embodiment, the current first sub-key is a sub-key corresponding to the left key word, and the current second sub-key is a sub-key corresponding to the right key word.
And step 3: performing XOR operation on the first left-side code word and the current first sub-key to obtain a first operation result, and performing modulo-2 operation on the first operation result and the first right-side code word16Performing addition operation to obtain a second operation result, circularly right-shifting the second operation result by C bits to obtain a first intermediate encryption result, and performing exclusive or operation on the first right-side code word circularly left-shifted by D bits and the first intermediate encryption result to obtain a second intermediate encryption result;
and 4, step 4: modulo-2 the first intermediate encryption result and the second intermediate encryption result16Performing addition operation to obtain a third operation result, performing exclusive-or operation on the third operation result and the current first sub-secret key to obtain a current first encryption result, and performing exclusive-or operation on the first right-side code word circularly shifted by A bit left and the current first encryption result to obtain a current second encryption result;
and 5: judging whether Y is larger than N; if so, using the current first encryption result and the current second encryption result as ciphertext codes after encrypting the information to be encrypted; if not, taking the current first encryption result as a new first left-side encoding word, taking the current second encryption result as a new first right-side encoding word, adding one to Y, and entering the step 2;
compared with the way of encrypting through an S-box in the related art, the present embodiment sequentially performs encryption operation on the first left encoded word and the first right encoded word through N groups of sub-keys obtained through key expansion to obtain a ciphertext code. Further, since the present embodiment performs the exclusive-or operation and modulo-2MThe information encryption is realized by addition operation, and no complex operation logic is needed in the process, so that the hardware utilization rate in the encryption process is improved, and the requirements on the carrier computing capacity and the storage space are reduced. Therefore, the embodiment can reduce the storage space occupied by the information encryption process on the premise of meeting certain security.
Referring to fig. 2, fig. 2 is a flowchart of an information decryption method according to an embodiment of the present disclosure. As a further supplement to the encryption process of the corresponding embodiment in fig. 1, after performing an encryption operation on the code to be encrypted, the present embodiment may further include the following corresponding decryption operations:
s201: when a decryption instruction corresponding to the ciphertext codes is received, dividing the ciphertext codes into a second left side code word and a second right side code word by taking a half word as a unit according to the decryption instruction;
s202: performing XOR operation and modulo-2 operation on the second left-hand codeword and the second right-hand codeword using N sets of the subkeys in sequenceMAnd performing addition operation so as to execute decryption processing on the ciphertext codes to obtain the plaintext codes.
The specific operation in S202 may include the following steps:
step 1: numbering all the sub-keys from morning to evening according to the generation time, and setting X to be N; the earlier generation time, the smaller the number of the sub-key is, and the same number of the sub-key with the same generation time is;
step 2: taking the subkey with the number of X as a current first subkey and a current second subkey;
in this embodiment, there are two sub-keys with the default number X, and further, in this embodiment, the current first sub-key is a sub-key corresponding to the left key word, and the current second sub-key is a sub-key corresponding to the right key word.
And step 3: performing exclusive-or operation on the second left-side code word and the second right-side code word to obtain a fourth operation result, and shifting the fourth operation result to the right by A bit to obtain a second intermediate decryption result; performing an exclusive-or operation on the second left-side encoded word and the current second sub-key to obtain a fifth operation result, and performing a modulo-2 operation on the fifth operation result and the second middle key word R116The encryption operation obtains a first intermediate decryption result;
and 4, step 4: performing exclusive-or operation on the first intermediate decryption result and the second intermediate decryption result to obtain a sixth operation result, and circularly right-shifting the sixth operation result by D bit to obtain a current second decryption result; performing modulo-2 on the first intermediate decryption result and the current second decryption result after circularly shifting the left by C bit16Performing an addition operation to obtain a seventh operation result, and performing an exclusive or operation on the seventh operation result and the current first sub-secret key to obtain a current first decryption result;
and 5: judging whether X is equal to 1; if so, taking the current first decryption result and the current second decryption result as a plaintext code obtained after the ciphertext code is decrypted; if not, taking the current first decryption result as a new second left-side encoding word, taking the current second decryption result as a new second right-side encoding word, subtracting X by one, and entering the step 2.
The flow described in the above embodiment is described below by a lightweight encryption/decryption method for the internet of things in practical application. Referring to fig. 3, fig. 4, fig. 5 and fig. 6, fig. 3 is a schematic diagram of an overall circuit structure of the present embodiment, fig. 4 is a schematic diagram of an internal framework of each round of operation of the key expansion circuit of the present embodiment, fig. 5 is a schematic diagram of an overall framework of the encryption and decryption circuit of the present embodiment, and fig. 6 is a schematic diagram of an internal framework of each round of operation of the encryption and decryption algorithm of the present embodiment.
Encryption process
Dividing a group of plaintext codes into 2 code words L and R by taking a halfword as a unit, and dividing a main key code into 2 key words L and R by taking the halfword as a unit;
step two, circularly moving the L key word in the main key code to the left by 5 bits, and then performing modulo-2 operation on the L key word and the L key word R in the main key code16Plus, a new L1 is generated. And circularly right-shifting the R key word in the main key code by 4 bits, and performing exclusive-OR operation on the R key word and the newly generated key word L1 in the main key code to generate a new R1. The L1 key word is circularly left shifted by 5 bits and then modulo-2 compared with R116Adding to generate new kL0. The R1 key word is circularly right-shifted by 4 bits and then is combined with the key word kL0Performing XOR operation to generate new kR0. The round key is stored.
Step three, repeating the step two of the key expansion process to generate 10 sub-keys;
step four, the plaintext code word L and the generated wheel secret key kL0XOR operation and modulo-2 operation with the plaintext encoding word R16And adding, circularly right shifting the added result by 3 bits to generate L ', circularly left shifting the plaintext code word R by 2 bits, and performing exclusive-or operation on the plaintext code word R ' to generate R '.
Step five, performing modulo 2 on L' and the code word R16Adding, adding the result and the generated wheel key kR0Performing exclusive-or operation to generate L1, circularly shifting the code word R' by 5 bits to the left, and performing exclusive-or operation with the code word L1 to generate R1;
step six, sequentially using the 2 nd round key to the 10 th round key to repeat the step four to the group of plaintext codes, and performing 10 rounds of encryption;
step seven, outputting and obtaining a cipher text code after a group of plaintext codes are subjected to 10 rounds of encryption;
(II) decryption procedure
Dividing a group of ciphertext codes into 2 code words L and R by taking a halfword as a unit, and dividing a main key code into 2 key words L and R by taking the halfword as a unit;
step two, circularly moving the L key word in the main key code to the left by 5 bits, and then performing modulo-2 operation on the L key word and the L key word R in the main key code16Plus, a new L1 is generated. And circularly right-shifting the R key word in the main key code by 4 bits, and performing exclusive-OR operation on the R key word and the newly generated key word L1 in the main key code to generate a new R1. The L1 key word is circularly left shifted by 5 bits and then modulo-2 compared with R116Adding to generate new kL0. The R1 key word is circularly right-shifted by 4 bits and then is combined with the key word kL0Performing XOR operation to generate new kR0. The round key is stored.
Step three, repeating the step two of the decryption process to generate 10 sub-keys;
and fourthly, carrying out XOR operation on the ciphertext coding word R and the ciphertext coding word L, and circularly right-shifting by 5 bits to generate R'. Cipher text code word L and wheel key kR9Exclusive OR operation is performed, and then modulo-2 operation is performed with R116Adding to generate L';
and step five, carrying out XOR operation on the ciphertext coding word R 'and the ciphertext coding word L', and circularly right-shifting by 2 bits to generate R1. The ciphertext encoding word L' is circularly left-shifted by 3 bits and then modulo-2 compared with R116Adding the obtained data to a round key kL9Performing exclusive-or operation to generate L1;
step six, sequentially using the keys of the 9 th round to the 0 th round to repeat the step four and the step five for decryption of 10 rounds;
and step seven, outputting to obtain the plaintext codes after a group of plaintext codes are decrypted for 10 times.
The 10 subkeys in the above embodiment can be registered by means of a Register File.
The specific interface of the register file is as follows:
Figure BDA0002043397750000111
the width of the register file is 32 bits, the depth is 10, the mem _ data _ rd _ raw [31:0] is the wheel key read out from the register file in the decryption process, clk is the system clock signal, CEN is the enable signal of the register file, the signal is defined as valid during decryption, WR is the read-write signal, the signal is defined as valid during high level reading, and valid during low level writing. mem _ addr [8:4] is an address signal that marks which address of the register file the data needs to be read from or written to, and every clock cycle, the address value is incremented by 1 until a 10 stop, i.e., decryption is complete. mem _ data _ wr [31:0] is the data port that writes round keys to the register file, i.e. the subkeys for each round, for example: in the decryption process, a sub-key of 10 rounds must be generated firstly, the sub-key of 10 rounds is generated by a key expansion algorithm, a round key is generated every clock cycle, and the round key is written into a register file. Rk0 is generated in the first round, the round number is 1, namely the sub-key rk0 is written into the register file at the address of 0 in the clock cycle, the sub-key rk1 is written into the address of 1 in the second clock cycle, the sub-key rk9 is written into the register file at the address of 9 in the 10 th clock cycle, before the 10-round key is generated, the key _ ready signal of the control circuit is pulled low, namely the mem _ rw _ b signal is pulled low, the register file is in the writing state, and after the 10-round keys are generated and are all written into the register file, the key _ ready signal of the control circuit is 1, when the register file is in the reading state, the value of the mem _ addr [8:4] is defined as (10-und), when the first round key is generated, namely the mem _ addr [8:4] is read from 0, when the register file is read from 0-5399, the second clock cycle during decryption, that is, the mem _ data _ rd [31:0], is rk9, the second clock cycle during decryption, that is, the mem _ addr [8:4], is 1, the sub-key rk8 is read out from the register file with the address of (9-1) ═ 8, the mem _ data _ rd [31:0] is rk8, the 9 th clock cycle during decryption, that is, the mem _ addr [8:4], is 9, the value with the address of (9-9) ═ 0 is read out from the register file with the sub-key rk0, the mem _ data _ rd [31:0] is rk0 for decryption, and the decryption process is completed.
The above-described contents of the present embodiment are explained as follows.
The function of the signals in fig. 3 is described as follows:
inputting a signal:
clk: inputting a system clock;
rst _: a reset signal, active low;
en _ de: an encryption and decryption mode, wherein 0 is decryption and 1 is encryption;
key [31:0 ]: the bit width of a master key of the algorithm is 32 bits;
key _ valid: a key input indication signal;
new _ key: updating the master key indication signal;
data _ in [31:0 ]: plaintext input, and the bit width is 32 bits;
data _ valid: a plaintext input indication signal;
and (3) start: the encryption and decryption of the signal is started.
Outputting a signal:
crypt _ out [31:0 ]: outputting a ciphertext with the bit width of 32 bits;
done: an encryption/decryption end indication signal.
The encryption key has a length of 32 bits and is denoted as K ═ L | R, where L and R are halfwords, and the round keys are denoted as (rk0, rk1, …, rk9), where rki (i ═ 0,1, …,9) are words. The round key is generated from the encryption key. The algorithm adopts a nonlinear iteration structure, encryption operation is carried out by taking a half word as a unit, namely one iteration operation is one round of transformation, and the total number of the iteration transformation is 10.
The algorithm hardware implementation method comprises the hardware implementation of a key expansion algorithm in the algorithm and the hardware implementation of an encryption and decryption algorithm, and the circuit implemented by the quick algorithm hardware implementation method comprises a key expansion circuit and an encryption and decryption circuit. The key expansion circuit refers to a circuit for generating subkeys required by 10 rounds of encryption and decryption in an algorithm by using a master key with 32 bits, wherein each round of keys is 32 bits in length. The encryption and decryption circuit is a circuit for obtaining 32-bit ciphertext through 10 rounds of encryption and decryption processes of an algorithm by using 32-bit plaintext and 10 rounds of keys generated by a key expansion circuit. The round control circuit is used for selecting and controlling the round number in the key expansion circuit and the encryption and decryption circuit.
The encryption and decryption circuit defines 10 32-bit registers, and respectively registers 10 rounds of round ciphertexts generated by an encryption and decryption algorithm, wherein each round of round ciphertexts is 10 bits, the data input length is 32 bits, a data input indicating signal data _ valid is used for determining when new 32-bit data is input, and the indicating signal data _ valid is an indicating signal with 10 clock units in one period, namely new 32-bit data is input after every 10 clock units.
When the indication signal data _ valid indicates that the signal is valid, the first group of 32-bit data is sent to the encryption and decryption circuit, a ciphertext of the first group of 32-bit data can be obtained through 10 clock units, a ciphertext of the second group of 32-bit data can be obtained through 10 clock units, a ciphertext of the third group of 32-bit data can be obtained through 10 clock units, and so on until all data processing is completed.
The relevant content in the above technical solution is explained as follows:
in the above scheme, the plaintext encoding is divided into 2 encoding words L and R by taking a halfword as a unit: m ═ L | R, | is a connector. And in the decryption process, 10 sub-keys are registered in a Register File mode. The nonlinear transformation in the encryption process is: tau is a nonlinear transformation in the encryption process, where the modulus N is 216I.e. by
Figure BDA0002043397750000132
Figure BDA0002043397750000131
Meaning modulo N plus, i.e. the result of a + B modulo N. Nonlinear transformation τ: let the input be (a15, a14, a13 … a0) ∈ (2)16),B=(b15,b14,b13…b0)∈(216) The output is C ═ C15, C14, C13 … C0 ∈ (2)16) Then, there are:
Figure BDA0002043397750000133
Figure BDA0002043397750000134
linear transformation L: the output of the non-linear transformation τ is also the input of the linear transformation L. Let input be C e 216Then, there are:
and D ═ L (C) ═ C < <3, wherein < < i is a 16-bit cyclic left shift of i bits.
In the above scheme, the nonlinear transformation in the decryption process is: tau is a nonlinear transformation in the encryption process, where the modulus N is 216I.e., (a-B) modN.
Nonlinear transformation τ: let the input be (a15, a14, a13 … a0) ∈ (2)16),B=(b15,b14,b13…b0)∈(216) The output is C ═ C15, C14, C13 … C0 ∈ (2)16) Then, there are:
(c15,c14,c13…c0)=τ(A,B)=(A-B)modN;
linear transformation L': the output of the non-linear transformation τ is also the input of the linear transformation L'. Let input be C e 216Then, there are:
d ═ l (C) ═ C > > >2, where > > > i is a 16-bit cyclic left-right shift of i bits.
Due to the application of the technical scheme, compared with the prior art, the invention has the following advantages and effects:
(1) the invention has simple design, small occupied area, simple integral operation, no complex operation logic and similar key expansion mode and encryption and decryption mode, and removes S with larger area. The algorithm has higher utilization rate of hardware when being realized, and is beneficial to realizing the whole algorithm on smaller circuit area.
(2) The safety is high, and the information safety of China is more reliably guaranteed.
(3) The circuit is simple to realize, different registers are defined to register the round ciphertext and the sub-key generated in each round, so that the circuit is relatively simple to realize, and the logic realization of an encryption and decryption algorithm and a key expansion algorithm does not need to be considered too much.
(4) The application range is wider, and after certain safety is achieved, the requirements on the computing capacity and the storage space of the carrier are greatly reduced by adopting simple logic operation and smaller area, so that the method can be applied to the application field with weaker requirements on the computing capacity and the storage size, the application range is expanded, and the method can be applied to different application environments.
Referring to fig. 7, fig. 7 is a schematic structural diagram of an information encryption system according to an embodiment of the present application;
the system may include:
an information determining module 100, configured to determine, when an encryption instruction is received, information to be encrypted and a master key code; the information to be encrypted is a plaintext code;
the dividing module 200 is configured to divide the master key code into a left key word and a right key word in units of halfwords, and divide the information to be encrypted into a first left code word and a first right code word in units of halfwords;
a key expansion module 300, configured to perform a key expansion operation according to the left key word and the right key word to obtain N groups of sub-keys;
an encryption module 400 for performing XOR operation and modulo-2 operation on the first left-side codeword and the first right-side codeword using N sets of the subkeys in sequenceMAnd performing addition operation so as to perform encryption processing on the information to be encrypted to obtain a ciphertext code.
Compared with the way of encrypting through an S-box in the related art, the present embodiment sequentially performs encryption operation on the first left encoded word and the first right encoded word through N groups of sub-keys obtained through key expansion to obtain a ciphertext code. Further, since the present embodiment performs the exclusive-or operation and modulo-2MThe information encryption is realized by addition operation, and no complex operation logic is needed in the process, so that the hardware utilization rate in the encryption process is improved, and the requirements on the carrier computing capacity and the storage space are reduced. Therefore, the embodiment can reduce the storage space occupied by the information encryption process on the premise of meeting certain security.
Further, the key expansion module 300 includes:
a middle key determining unit for performing modulo-2 operation on the left key word and the right key word after the left shift of the cycle by A bits16Performing an addition operation to obtain a first intermediate key word L1, and performing an exclusive-or operation on the right key word circularly shifted by the B bit and the first intermediate key word L1 to obtain a second intermediate key word R2;
a sub-key determination unit for performing modulo-2 on the first intermediate key word L1 and the second intermediate key word L2 after left-shifting by A bits16Performing addition operation to obtain a first sub-key KL0, and performing exclusive OR operation on a right key word subjected to cyclic right shift by B bits and the first sub-key KL0 to obtain a second sub-key KR 0;
a sub-key processing unit, configured to set the first sub-key KL0 and the second sub-key KR0 as a group of sub-keys, and record the number of groups of sub-keys;
a judging unit for judging whether the number of groups is greater than N; if not, the first sub-key KL0 is used as a new left key word, the second sub-key KR0 is used as a new right key word, and the work flow corresponding to the intermediate key determining unit is started.
Since the embodiment of the system part corresponds to the embodiment of the method part, the embodiment of the system part is described with reference to the embodiment of the method part, and is not repeated here.
The present application also provides a computer readable storage medium having stored thereon a computer program which, when executed, may implement the steps provided by the above-described embodiments. The storage medium may include: various media capable of storing program codes, such as a usb disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
The application further provides an electronic device, which may include a memory and a processor, where the memory stores a computer program, and the processor may implement the steps provided by the foregoing embodiments when calling the computer program in the memory. Of course, the electronic device may also include various network interfaces, power supplies, and the like.
The embodiments are described in a progressive manner in the specification, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other. For the system disclosed by the embodiment, the description is relatively simple because the system corresponds to the method disclosed by the embodiment, and the relevant points can be referred to the method part for description. It should be noted that, for those skilled in the art, it is possible to make several improvements and modifications to the present application without departing from the principle of the present application, and such improvements and modifications also fall within the scope of the claims of the present application.
It is further noted that, in the present specification, relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.

Claims (7)

1. An information encryption method, comprising:
when an encryption instruction is received, determining information to be encrypted and a main key code; the information to be encrypted is a plaintext code;
dividing the main key code into a left key word and a right key word by taking a half word as a unit, and dividing the information to be encrypted into a first left code word and a first right code word by taking the half word as the unit;
executing key expansion operation according to the left key word and the right key word to obtain N groups of sub keys;
performing an XOR operation and modulo-2 operation on the first left-hand codeword and the first right-hand codeword using N sets of the subkeys in sequenceMAdding operation is carried out so as to carry out encryption processing on the information to be encrypted to obtain ciphertext codes;
wherein the obtaining N subkeys by performing a key expansion operation according to the left side key word and the right side key word comprises:
step 1: performing modulo-2 on the left key word and the right key word after circularly shifting left by A bit16Performing an addition operation to obtain a first intermediate key word L1, and performing an exclusive-or operation on the right key word circularly shifted by the B bit and the first intermediate key word L1 to obtain a second intermediate key word R2;
step 2: performing modulo-2 on the first intermediate key word L1 and the second intermediate key word L2 after shifting left by A bits16Performing addition operation to obtain a first sub-key KL0, and performing exclusive OR operation on a right key word subjected to cyclic right shift by B bits and the first sub-key KL0 to obtain a second sub-key KR 0;
and step 3: setting the first sub-key KL0 and the second sub-key KR0 as a group of sub-keys, and recording the group number of the sub-keys;
and 4, step 4: judging whether the number of the groups is larger than N; if not, taking the first sub-key KL0 as a new left-side key word and taking the second sub-key KR0 as a new right-side key word, and entering the step 1;
wherein said performing XOR and modulo-2 on said first left-hand codeword and said first right-hand codeword using N sets of said subkeys in sequenceMThe adding operation so as to perform encryption processing on the information to be encrypted to obtain ciphertext codes comprises the following steps:
step 1: numbering all the sub-keys from morning to evening according to the generation time, and setting Y as 1; the earlier generation time, the smaller the number of the sub-key is, and the same number of the sub-key with the same generation time is;
step 2: respectively taking the 2 sub-keys with the serial numbers of Y as a current first sub-key and a current second sub-key;
and step 3: performing XOR operation on the first left-side code word and the current first sub-key to obtain a first operation result, and performing modulo-2 operation on the first operation result and the first right-side code word16Adding to obtain a second operation result, and performing the second operationPerforming cyclic right shift on the calculation result by C bit to obtain a first intermediate encryption result, and performing exclusive or operation on the first right-side code word subjected to cyclic left shift by D bit and the first intermediate encryption result to obtain a second intermediate encryption result;
and 4, step 4: modulo-2 the first intermediate encryption result and the second intermediate encryption result16Performing addition operation to obtain a third operation result, performing exclusive-or operation on the third operation result and the current first sub-secret key to obtain a current first encryption result, and performing exclusive-or operation on the first right-side code word circularly shifted by A bit left and the current first encryption result to obtain a current second encryption result;
and 5: judging whether Y is larger than N; if so, using the current first encryption result and the current second encryption result as ciphertext codes after encrypting the information to be encrypted; if not, taking the current first encryption result as a new first left encoding word, taking the current second encryption result as a new first right encoding word, adding one to Y, and entering the step 2.
2. The information encryption method according to claim 1, further comprising:
and after the sub-keys are generated, storing the sub-keys into corresponding registers.
3. The information encryption method according to claim 1, further comprising:
when a decryption instruction corresponding to the ciphertext codes is received, dividing the ciphertext codes into a second left side code word and a second right side code word by taking a half word as a unit according to the decryption instruction;
performing XOR operation and modulo-2 operation on the second left-hand codeword and the second right-hand codeword using N sets of the subkeys in sequenceMAnd performing addition operation so as to execute decryption processing on the ciphertext codes to obtain the plaintext codes.
4. The encryption method according to claim 3, wherein said second left-hand codeword is sequentially encoded with N sets of said subkeysPerforming an XOR operation and modulo 2 with the second right codewordMThe adding operation so as to execute decryption processing on the ciphertext codes to obtain the plaintext codes comprises the following steps:
step 1: numbering all the sub-keys from morning to evening according to the generation time, and setting X to be N; the earlier generation time, the smaller the number of the sub-key is, and the same number of the sub-key with the same generation time is;
step 2: taking the subkey with the number of X as a current first subkey and a current second subkey;
and step 3: performing exclusive-or operation on the second left-side code word and the second right-side code word to obtain a fourth operation result, and shifting the fourth operation result to the right by A bit to obtain a second intermediate decryption result; performing an exclusive-or operation on the second left-side encoded word and the current second sub-key to obtain a fifth operation result, and performing a modulo-2 operation on the fifth operation result and the second middle key word R116The encryption operation obtains a first intermediate decryption result;
and 4, step 4: performing exclusive-or operation on the first intermediate decryption result and the second intermediate decryption result to obtain a sixth operation result, and circularly right-shifting the sixth operation result by D bit to obtain a current second decryption result; performing modulo-2 on the first intermediate decryption result and the current second decryption result after circularly shifting the left by C bit16Performing an addition operation to obtain a seventh operation result, and performing an exclusive or operation on the seventh operation result and the current first sub-secret key to obtain a current first decryption result;
and 5: judging whether X is equal to 1; if so, taking the current first decryption result and the current second decryption result as a plaintext code obtained after the ciphertext code is decrypted; if not, taking the current first decryption result as a new second left-side encoding word, taking the current second decryption result as a new second right-side encoding word, subtracting X by one, and entering the step 2.
5. An information encryption system, comprising:
the information determining module is used for determining the information to be encrypted and the main key code when the encryption instruction is received; the information to be encrypted is a plaintext code;
the dividing module is used for dividing the main key code into a left key word and a right key word by taking a halfword as a unit, and dividing the information to be encrypted into a first left code word and a first right code word by taking the halfword as the unit;
the key expansion module is used for executing key expansion operation according to the left key word and the right key word to obtain N groups of sub keys;
an encryption module for performing XOR operation and modulo-2 operation on the first left-side codeword and the first right-side codeword using N sets of the subkeys in sequenceMAdding operation is carried out so as to carry out encryption processing on the information to be encrypted to obtain ciphertext codes;
wherein the key expansion module comprises:
a middle key determining unit for performing modulo-2 operation on the left key word and the right key word after the left shift of the cycle by A bits16Performing an addition operation to obtain a first intermediate key word L1, and performing an exclusive-or operation on the right key word circularly shifted by the B bit and the first intermediate key word L1 to obtain a second intermediate key word R2;
a sub-key determination unit for performing modulo-2 on the first intermediate key word L1 and the second intermediate key word L2 after left-shifting by A bits16Performing addition operation to obtain a first sub-key KL0, and performing exclusive OR operation on a right key word subjected to cyclic right shift by B bits and the first sub-key KL0 to obtain a second sub-key KR 0;
a sub-key processing unit, configured to set the first sub-key KL0 and the second sub-key KR0 as a group of sub-keys, and record the number of groups of sub-keys;
a judging unit for judging whether the number of groups is greater than N; if not, taking the first sub-key KL0 as a new left-side key word and taking the second sub-key KR0 as a new right-side key word, and starting a work flow corresponding to the intermediate key determining unit;
wherein, the work flow of the encryption module comprises:
step 1: numbering all the sub-keys from morning to evening according to the generation time, and setting Y as 1; the earlier generation time, the smaller the number of the sub-key is, and the same number of the sub-key with the same generation time is;
step 2: respectively taking the 2 sub-keys with the serial numbers of Y as a current first sub-key and a current second sub-key;
and step 3: performing XOR operation on the first left-side code word and the current first sub-key to obtain a first operation result, and performing modulo-2 operation on the first operation result and the first right-side code word16Performing addition operation to obtain a second operation result, circularly right-shifting the second operation result by C bits to obtain a first intermediate encryption result, and performing exclusive or operation on the first right-side code word circularly left-shifted by D bits and the first intermediate encryption result to obtain a second intermediate encryption result;
and 4, step 4: modulo-2 the first intermediate encryption result and the second intermediate encryption result16Performing addition operation to obtain a third operation result, performing exclusive-or operation on the third operation result and the current first sub-secret key to obtain a current first encryption result, and performing exclusive-or operation on the first right-side code word circularly shifted by A bit left and the current first encryption result to obtain a current second encryption result;
and 5: judging whether Y is larger than N; if so, using the current first encryption result and the current second encryption result as ciphertext codes after encrypting the information to be encrypted; if not, taking the current first encryption result as a new first left encoding word, taking the current second encryption result as a new first right encoding word, adding one to Y, and entering the step 2.
6. A computer-readable storage medium, characterized in that a computer program is stored thereon, which computer program, when being executed by a processor, carries out the steps of the information encryption method according to any one of claims 1 to 4.
7. An electronic device, comprising:
a memory for storing a computer program;
a processor for implementing the steps of the information encryption method according to any one of claims 1 to 4 when executing said computer program.
CN201910349533.3A 2019-04-28 2019-04-28 Information encryption method, system and related components Active CN110071927B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910349533.3A CN110071927B (en) 2019-04-28 2019-04-28 Information encryption method, system and related components

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910349533.3A CN110071927B (en) 2019-04-28 2019-04-28 Information encryption method, system and related components

Publications (2)

Publication Number Publication Date
CN110071927A CN110071927A (en) 2019-07-30
CN110071927B true CN110071927B (en) 2021-09-14

Family

ID=67369256

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910349533.3A Active CN110071927B (en) 2019-04-28 2019-04-28 Information encryption method, system and related components

Country Status (1)

Country Link
CN (1) CN110071927B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113901492A (en) * 2021-09-06 2022-01-07 苏州国芯科技股份有限公司 Data transmission encryption and decryption method, device, system and equipment

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101196965A (en) * 2006-12-07 2008-06-11 上海安创信息科技有限公司 Algorithm of encrypted chip with anti-attack advanced encryption standard
CN101459510A (en) * 2007-12-14 2009-06-17 华为技术有限公司 Implementation method and device for real-time transmission data encryption algorithm
CN101764685A (en) * 2009-10-26 2010-06-30 广州杰赛科技股份有限公司 Encrypting and deciphering system for realizing SMS4 algorithm
CN101895389A (en) * 2010-07-16 2010-11-24 黑龙江大学 Methods for encrypting and decrypting combined coding based file by adopting proportion calculation
CN101924630A (en) * 2010-09-06 2010-12-22 苏州国芯科技有限公司 Rapid encoding and decoding method for wireless local area network
CN103236923A (en) * 2010-09-06 2013-08-07 苏州国芯科技有限公司 Efficient and safe encryption method for WLAN (Wireless Local Area Network)
CN104301095A (en) * 2014-10-13 2015-01-21 深圳中科讯联科技有限公司 DES round operation method and circuit
CN106027227A (en) * 2016-07-01 2016-10-12 浙江工业大学 Fermat number number-theoretic transform and SAFER (Secure And Fast Encryption Routine) cipher algorithm combined block encryption method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015130580A (en) * 2014-01-07 2015-07-16 富士通株式会社 Data scrambling device, security device, security system, and data scrambling method

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101196965A (en) * 2006-12-07 2008-06-11 上海安创信息科技有限公司 Algorithm of encrypted chip with anti-attack advanced encryption standard
CN101459510A (en) * 2007-12-14 2009-06-17 华为技术有限公司 Implementation method and device for real-time transmission data encryption algorithm
CN101764685A (en) * 2009-10-26 2010-06-30 广州杰赛科技股份有限公司 Encrypting and deciphering system for realizing SMS4 algorithm
CN101895389A (en) * 2010-07-16 2010-11-24 黑龙江大学 Methods for encrypting and decrypting combined coding based file by adopting proportion calculation
CN101924630A (en) * 2010-09-06 2010-12-22 苏州国芯科技有限公司 Rapid encoding and decoding method for wireless local area network
CN103236923A (en) * 2010-09-06 2013-08-07 苏州国芯科技有限公司 Efficient and safe encryption method for WLAN (Wireless Local Area Network)
CN104301095A (en) * 2014-10-13 2015-01-21 深圳中科讯联科技有限公司 DES round operation method and circuit
CN106027227A (en) * 2016-07-01 2016-10-12 浙江工业大学 Fermat number number-theoretic transform and SAFER (Secure And Fast Encryption Routine) cipher algorithm combined block encryption method

Also Published As

Publication number Publication date
CN110071927A (en) 2019-07-30

Similar Documents

Publication Publication Date Title
JP5822970B2 (en) Encryption device for pseudo-random generation, data encryption, and message encryption hashing
US8966279B2 (en) Securing the implementation of a cryptographic process using key expansion
EP2058781B1 (en) Encryption device, encryption method, and computer program
US9898623B2 (en) Method for performing an encryption with look-up tables, and corresponding encryption apparatus and computer program product
CN108964872B (en) Encryption method and device based on AES
US8504845B2 (en) Protecting states of a cryptographic process using group automorphisms
US8605894B2 (en) Cryptographic process execution protecting an input value against attacks
US8675866B2 (en) Multiplicative splits to protect cipher keys
WO2019114122A1 (en) Encryption method for login information, device, electronic device, and medium
US9565018B2 (en) Protecting cryptographic operations using conjugacy class functions
US11258579B2 (en) Method and circuit for implementing a substitution table
MX2011001228A (en) Method for generating a cipher-based message authentication code.
CN107534549B (en) Readable storage medium, method and system for encrypting data stream block
US9418245B2 (en) Encryption processing device, encryption processing method, and program
CN116488794A (en) Method and device for realizing high-speed SM4 password module based on FPGA
KR101506499B1 (en) Method for encrypting with SEED applying mask
Bhavani et al. Modified AES using dynamic S-box and DNA cryptography
CN110071927B (en) Information encryption method, system and related components
CN114124359A (en) Method and device for preserving format encrypted data, electronic equipment and storage medium
RU2188513C2 (en) Method for cryptographic conversion of l-bit digital-data input blocks into l-bit output blocks
US11101824B2 (en) Encryption device and decryption device, and operation method thereof
JP5605197B2 (en) Cryptographic processing apparatus, cryptographic processing method, and program
JP5578422B2 (en) ENCRYPTED COMMUNICATION SYSTEM, TRANSMISSION DEVICE, RECEPTION DEVICE, ENCRYPTION / DECRYPTION METHOD, AND PROGRAM THEREOF
JP4990843B2 (en) Cryptographic operation apparatus, method thereof, and program
CN112487448B (en) Encryption information processing device, method and computer equipment

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