Method for improving security of block cipher

By recombining plaintext data and random mask processing, and using encryptors and key derivators during encryption and decryption, the problem of derived key convergence is solved and the security of packet passwords is improved.

WO2025060122A1PCT designated stage expired Publication Date: 2025-03-27DONGHUA UNIV
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2023/121375
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-19
Filing Date
2023-09-26
Publication Date
2025-03-27

AI Technical Summary

Technical Problem

When using a one-time encryption method based on reconstructible multi-valued logic operations, when long strings of the same symbols in the plain text are encrypted, the derived key will gradually decrease and change, resulting in the edge information of the large color block image in the ciphertext, which is called the 'derived key convergence' problem.

Method used

By reorganizing the plaintext data during the encryption process and adding a random mask on it, the plaintext grouping is generated after processing. Then, the processed plaintext packets are encrypted and key derived using an encryptor and encryption key derivator to generate the ciphertext packets and encryption keys. During the decryption process, decryption key derivation, random mask removal and data recombination reset are performed in reverse to restore the original plaintext.

Benefits of technology

It effectively solves the problem of derived key convergence, improves the security of packet passwords in encrypted scenarios such as images, videos, and audio, and ensures high security and randomness of ciphertexts.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2023121375_27032025_PF_FP_ABST
    Figure CN2023121375_27032025_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed in the present invention is a method for improving the security of a block cipher. The method comprises an encryption process and a decryption process. The encryption process comprises: acquiring plaintext data, and grouping the plaintext data to generate a plurality of plaintext blocks; performing data recombination on the plurality of plaintext blocks to generate recombined plaintext blocks, and adding a random mask to the recombined plaintext blocks to generate processed plaintext blocks; encrypting the processed plaintext blocks by means of an encryption process to generate a plurality of ciphertext blocks; and performing encryption key derivation on the processed plaintext blocks by means of an encryption key derivation process to generate a plurality of encryption keys. The decryption process comprises: a decryption device generating a decryption key by means of a decryption key derivation process; decrypting the ciphertext blocks in sequence by means of the decryption key to obtain decrypted data blocks; and removing the random mask of decrypted data, and recombining and resetting the decrypted data blocks to generate a plurality of corresponding plaintext blocks.
Need to check novelty before this filing date? Find Prior Art

Description

A method to improve the security of block ciphers Technical Field

[0001] The present invention relates to the field of information encryption, and more particularly to a method for improving the security of block ciphers. Background Art

[0002] The one-time-pad (OTP) Vernam cipher is considered to be an absolutely secure data encryption method, which allows each plaintext character to be replaced with any ciphertext character with equal probability. Claude Shannon proved that this encryption method is unbreakable when the key meets the three restrictions of uniform random distribution, the same length as the plaintext, and non-reusability. Multi-valued logic operations can provide a wide variety of symbol replacement rules, which can meet the key requirements of one-time pad and achieve high-security data encryption and decryption. In 2021, Wang Hongjian and others invented a one-time pad method based on a reconfigurable multi-valued logic operator, but when this method encrypts a long string of identical symbols in the plaintext, the derived key will gradually decrease and change. This paper calls this phenomenon the "derived key convergence" problem. This problem causes the presence of edge information of large color block images in the ciphertext when encrypting images or videos. The present invention aims to solve the problem of derived key convergence and can be applied to encryption methods based on multi-valued logic operations and other block ciphers to improve security.

[0003] There is one prior patent directly related to the present invention: an encryption and decryption method, device, and communication system thereof, Chinese patent: CN202110801365.4, authorization date: 2023-05-09. The key point of this invention is to disclose an encryption and decryption method and device implemented with a reconfigurable multi-valued logic operation component, which can derive a large number of optional keys with obvious random characteristics, no shorter than the plaintext, and a practical one-time pad technology based on a large number of optional keys, the computer's automatic execution capability, and a small number of storage units. The present invention aims to solve the problem of convergence of derived keys when the above-mentioned prior patents are applied to encryption scenarios such as images, videos, and audio.

[0004] Summary of the Invention

[0005] In order to solve at least one of the above technical problems, the present invention proposes a method for improving the security of block ciphers.

[0006] A first aspect of the present invention provides a method for improving the security of a block cipher, comprising: an encryption process and an encryption key derivation process; a decryption process and a decryption key derivation process;

[0007] The encryption process includes:

[0008] S1, obtain plaintext data, group the plaintext data into several plaintext groups;

[0009] S2, reorganizes the data of several plaintext groups to generate reorganized plaintext groups, and adds a random mask to the reorganized plaintext groups to generate processed plaintext groups;

[0010] S3, encrypting the processed plaintext group through an encryption process to generate a plurality of ciphertext groups; performing encryption key derivation on the processed plaintext group through an encryption key derivation process to generate a plurality of encryption keys;

[0011] The decryption process includes:

[0012] S21, the decryptor generates a decryption key through a decryption key derivation process, and decrypts the ciphertext packets in sequence using the decryption key to obtain decrypted data packets;

[0013] S22, removing the random mask of the decrypted data, and then reorganizing and resetting the decrypted data group to generate a number of corresponding plaintext groups.

[0014] In a preferred embodiment of the present invention, in step S2, the data reorganization process is as follows:

[0015] Cache n×m bits of plaintext data and arrange the data into n rows and m columns, where the n bits of data of each plaintext group are arranged in row priority order, and then combine the n bits of data in each column to form m groups of reorganized plaintext data groups.

[0016] In a preferred embodiment of the present invention, a processed plaintext group is encrypted through an encryption process to generate a plurality of ciphertext groups; an encryption key is derived from the processed plaintext group through an encryption key derivation process to generate a plurality of encryption keys; the encryption process and the encryption key derivation process are performed simultaneously, specifically including:

[0017] A random mask is added to the plaintext group after data reorganization to generate a processed plaintext group, and then the processed plaintext group is sent to the encryptor and the encryption key derivator. The encryptor processes the processed plaintext group data in sequence according to the reorganized grouping order to generate corresponding ciphertext groups; the encryption key derivator processes the processed plaintext group data in sequence according to the reorganized grouping order to generate a derived encryption key for encrypting the next processed plaintext group.

[0018] In a preferred embodiment of the present invention, the encryptor is an arbitrary block cipher. When encrypting, the encryptor uses a derived encryption key derived from a previous group of processed plaintext blocks for encryption, and the first group of data is encrypted using the initial encryption key.

[0019] In a preferred embodiment of the present invention, the encryption key deriver is implemented by a key derivation method in any block cipher and its working mode. During encryption, the encryption key deriver uses the derived encryption key derived from the previous group of processed plaintext blocks to derive the next group of derived encryption keys.

[0020] In a preferred embodiment of the present invention, during decryption, the decryptor uses a derived decryption key derived from a previous set of decrypted data for decryption, and the first set of ciphertext is decrypted using an initial decryption key, which is the same as the initial encryption key.

[0021] In a preferred embodiment of the present invention, the decryption key deriver processes each decryption data group in turn to generate a derived decryption key for decrypting the next ciphertext group. During decryption, the decryption key deriver uses the derived decryption key derived from the previous group of decrypted data to derive the next group of derived decryption keys.

[0022] In a preferred embodiment of the present invention, the random mask of the decrypted data is removed, and then the decrypted data packets are reassembled and reset to generate corresponding plaintext packets, specifically:

[0023] Cache n×m bits of decrypted data after removing the random mask, and arrange the data into n rows and m columns, where the n bits of data of each decrypted data group after removing the random mask are arranged in column priority order, and then take each group of n bits of data in row priority order to form m groups of decrypted data after removing the random mask after reorganization and reset, that is, plaintext data.

[0024] In a preferred embodiment of the present invention, the random mask is a pseudo-random number sequence of the same length as the plaintext.

[0025] The above technical solution of the present invention has the following advantages over the prior art:

[0026] The present invention implements the encryption, decryption and key derivation processes in the disclosed method through any block cipher and its working mode; a random mask can be generated through any pseudo-random generator. The present invention can be applied to encryption and decryption methods based on multi-valued logic operations and other block ciphers to improve the security of ciphertext when these cryptographic methods are applied to encryption scenarios such as images, videos, and audio. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] In order to more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the specific embodiments or the description of the prior art. Obviously, some of the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0028] FIG1 is a schematic diagram of a flow chart of an encryption process according to an embodiment of the present invention;

[0029] FIG2 is a schematic diagram of a decryption process according to an embodiment of the present invention;

[0030] FIG3 is a schematic diagram of data reorganization and reset according to an embodiment of the present invention;

[0031] FIG4 is a schematic diagram of the structure of a linear feedback shift register according to an embodiment of the present invention. DETAILED DESCRIPTION

[0032] In order to more clearly understand the above-mentioned objects, features and advantages of the present invention, the present invention is further described in detail below in conjunction with specific embodiments. It should be noted that, in the absence of conflict, the embodiments of the present application and the features therein can be combined with each other.

[0033] In the following description, many specific details are set forth to facilitate a full understanding of the present invention. However, the present invention may also be implemented in other ways different from those described herein. Therefore, the scope of protection of the present invention is not limited to the specific embodiments disclosed below.

[0034] Example 1

[0035] 1-4 , the present invention proposes a method for improving the security of block ciphers, comprising: a data reassembly process, a random mask addition process, an encryption process, and an encryption key derivation process; a data reassembly and reset process, a random mask removal process, a decryption process, and a decryption key derivation process; preferably, the random mask is generated by a linear feedback shift register, and the encryption process, encryption key derivation process, decryption process, and decryption key derivation process are all implemented by multi-valued logic operations.

[0036] The encryption process includes:

[0037] S1, obtain plaintext data, group the plaintext data into several plaintext groups;

[0038] S2, reorganizes several plaintext groups to generate reorganized plaintext groups, and adds a random mask to the reorganized plaintext groups to generate "processed plaintext groups";

[0039] S3, encrypting the processed plaintext group through an encryption process to generate a plurality of ciphertext groups; performing encryption key derivation on the processed plaintext group through an encryption key derivation process to generate a plurality of encryption keys;

[0040] The decryption process includes:

[0041] S21, the decryptor generates a decryption key through a decryption key derivation process, and sequentially decrypts several ciphertext packets using the decryption key to obtain decrypted data packets;

[0042] S22, by removing the random mask of the decrypted data, and then reorganizing and resetting the data group to generate a number of corresponding plaintext groups.

[0043] Obtain plaintext data and group the plaintext data to generate a number of plaintext groups. Specifically, the plaintext data is divided into groups of n bits in sequence (preferably, n is a multiple of 8). The specific steps of the data reassembly process include:

[0044] Cache n×m bits of plaintext data (preferably, m is not divisible by 8), and reassemble the currently cached n×m bits of plaintext data to form reassembled n×m bits of data. The data reassembly operation is to arrange the data into n rows and m columns, where the n bits of data of each plaintext group are arranged in row-first order, and then combine the n bits of data in each column to form m reassembled plaintext data groups.

[0045] Specifically, a dual-buffer pipeline hardware architecture is used: two 1056-bit buffers are created, and 32 bits of plaintext packets are sequentially stored in the first buffer every clock cycle. After 33 clock cycles, the first buffer is completely filled with plaintext packets. At the 34th clock cycle, all the data in the first buffer is stored in the second buffer, which then outputs the first column of reassembled packets according to the reassembly scheme shown in Figure 3. Simultaneously, the plaintext packets from the 34th clock cycle overwrite the data in the first buffer from the beginning. With each subsequent clock cycle, the first buffer stores a plaintext packet, and the second buffer outputs a reassembled packet. Data from the first buffer is stored in the second buffer every 33 clock cycles.

[0046] The specific steps of adding a random mask include: bitwise XORing the reorganized plaintext with the random mask, and then feeding the result into an encryptor or encryption key deriver. The random mask is a pseudo-random number sequence of the same length as the plaintext. Theoretically, any pseudo-random number generator is suitable for generating a random mask. Since the random mask is used to conceal regular data in the plaintext, and the security of the ciphertext is guaranteed by the subsequent encryption process, the pseudo-random generator that generates the random mask does not require cryptographic security. Considering the ease of hardware implementation, a linear feedback shift register (LFSR) is preferably used to generate a pseudo-random sequence as the random mask.

[0047] The encryption process involves the following steps: the encryptor takes the plaintext blocks that have undergone data reorganization and random masking (called "processed plaintext blocks") and encrypts each processed plaintext block in the order of the reorganized blocks, producing the corresponding ciphertext blocks. The encryptor can be any block cipher, and encryption is performed using a derived encryption key derived from the previous set of processed plaintext blocks. The first block of data is encrypted using the initial encryption key.

[0048] The encryption key derivation process specifically involves the following steps: an encryption key deriver groups the processed plaintext, which has undergone data reorganization and random masking, and processes each processed plaintext group in sequence according to the order of the reorganized groups to generate a derived encryption key for encrypting the next processed plaintext group. The encryption key deriver can be implemented using any block cipher and the key derivation method used in its operating mode. In this embodiment, a reconfigurable multi-valued logic operator is used in conjunction with a corresponding reconstruction code to implement the encryption key deriver. During encryption, the derived encryption key derived from the previous group of processed plaintext blocks is used to derive the next group of derived encryption keys.

[0049] If data reassembly is performed first and then a random mask is added during encryption, the decryption must be performed in the opposite order, that is, the decryptor must first remove the random mask after decryption and then perform data reassembly and reset; if random mask is added first and then data reassembly is performed during encryption, the decryptor must first perform data reassembly and reset after decryption and then remove the random mask.

[0050] The encryption process and encryption key derivation process are implemented through four-valued logic operations. Both plaintext and encryption key are grouped in 32 bits to represent 16-bit four-valued data, where every two bits represent a four-valued data. Encryption is achieved through a 16-bit four-valued logic operation F with an inverse operation. e The encryption key is derived by any 16-bit four-valued logic operation F′. e Each bit of can take any n-valued logical operation f for which there is an inverse operation e , each bit of F′ can take any n-valued logical operation. In particular, the specific definition of the four-valued logical operation and its inverse operation is as follows: The four-valued logical operation is a binary function. Assume that the set Z = {0, 1, 2, 3}, if and Then the binary function f is called a four-valued logical operation; for a four-valued logical operation f, if there exists a binary function f -1 , making and Then this binary function f -1 It is the inverse operation of f.

[0051] The encryption process is shown in Figure 1. After steps S1 and S2, the first group of 16-bit four-value processed plaintext packets P'1 are formed. P'1 and the initial encryption key K1 are processed by F e (P'1, K1) generates the first 16-bit four-value ciphertext group C1, and at the same time, P'1 and K1 are passed through F'(P'1, K1) to generate the derived encryption key K2, which is used as the encryption key for the second group. The encryption and encryption key derivation of subsequent groups are completed in sequence according to the above process. After the i-th group is processed, the plaintext group P' i and the encryption key K derived from the (i-1)th group of processed plaintext i , through F e (P′ i ,K i ) Generate the i-th ciphertext group C i , while P′ i and K i After F′(P′ i ,K i ) Generate the derived encryption key K i+1 , K i+1 As the encryption key for the (i+1)th group.

[0052] This embodiment of the present invention also includes a decryption process, a decryption key derivation process, a derandomization masking process, and a data reassembly and resetting process. The decryption process uses a decryptor corresponding to the encryptor used in the encryption process, the decryption key derivation process uses the same key deriver as used in the encryption process, and the pseudo-random number sequence in the derandomization masking process is generated by the same pseudo-random number generator as used in the encryption process.

[0053] The specific steps of the decryption process include:

[0054] The decryptor decrypts each ciphertext block in turn, producing the corresponding decrypted data block. Decryption is performed using a derived decryption key derived from the previous decrypted data block. The first ciphertext block is decrypted using the initial decryption key, which is the same key used to decrypt the initial encryption key.

[0055] The decryption key deriver processes each decryption data group in turn to generate a derived decryption key for decrypting the next ciphertext group. During decryption, the derived decryption key derived from the previous set of decrypted data is used to derive the next set of derived decryption keys.

[0056] The decrypted data is bitwise XORed with the random mask to form the decrypted data after removing the random mask. The random mask here is the same as the random mask used during encryption.

[0057] Cache n×m bits of decrypted data after removing the random mask (where n and m are the same as during encryption), and reassemble and reset the currently cached n×m bits of data to form n×m bits of data after reset. The data reassembly and reset operation is exactly the opposite of the data reassembly operation during encryption. Specifically, the data is arranged into n rows and m columns, where the n bits of data in each decrypted data group after removing the random mask are arranged in column-priority order. Then, each group of n bits of data is taken in row-priority order to form m groups of decrypted data after reassembly and reset, i.e., the plaintext data.

[0058] If data reassembly is performed first and then a random mask is added during encryption, the decryption must be performed in the opposite order, that is, the decryptor must first remove the random mask after decryption and then perform data reassembly and reset; if random mask is added first and then data reassembly is performed during encryption, the decryptor must first perform data reassembly and reset after decryption and then remove the random mask.

[0059] A 32-bit plaintext block size is used, and a data reassembly operation is performed for every 33 plaintext blocks. Each data reassembly operation requires caching a total of 32×33 bits of data, which are arranged into 32 rows and 33 columns. The 32-bit data of each plaintext block are arranged in row priority order, and then the 32-bit data of each column are combined to form 33 new groups of plaintext data blocks.

[0060] The corresponding decryption mode is shown in Figure 2. When decrypting, the first group of ciphertext blocks C1 and the initial decryption key K1 are passed through F d (C1, K1) is decrypted to obtain the first group of decrypted data P'1. P'1 and K1 derive the second group decryption key K2 through F'(P'1, K1). According to the above process, the subsequent multi-group decryption and decryption key derivation are completed in sequence. The i-th group of ciphertext group C i and the decryption key K derived from the (i-1)th group of decrypted data i , through F d (C i ,K i ) Generate the i-th group of decrypted data P′ i , while P′ i and K i After F′(P′ i ,K i ) Generate the derived decryption key K i+1 , K i+1 As the (i+1)th ciphertext group C i+1The decryption key is obtained by performing a random mask. The random mask is a pseudo-random sequence generated by an LFSR. The LFSR used in this embodiment consists of 32 registers with five taps, as shown in FIG4 . The LFSR seed (the initial value stored in the 32-bit register) is a preset 32-bit random sequence. This embodiment implements a random mask through the above LFSR and its configuration, but this does not limit the present invention. Other methods of generating random numbers as the random mask in this step also fall within the scope of protection of the present invention.

[0061] This embodiment implements packet data encryption and inter-group encryption key derivation through the above-mentioned four-valued logic operation and reconfigurable multi-valued logic operator, but this is not a limitation of the present invention. Packet data encryption and inter-group encryption key derivation can be implemented using other block ciphers and their working modes.

[0062] A reconfigurable four-valued logic operator is used to implement the decryptor and decryption key derivation. That is, the decryptor and decryption key derivation are both 16-bit reconfigurable four-valued logic operators to decrypt the plaintext data. The ciphertext and decryption key are both in groups of 32 bits, used to represent 16-bit four-valued data, where every two bits represent one four-valued data. The decryption process is implemented by a 16-bit four-valued logic operator that is the inverse operation of the encryption process in Example 1, that is, F d Every bit of f d All F e f on the corresponding position e The decryptor is based on F d The reconstruction code is configured according to the operation rules of the reconfigurable multi-valued logic operator. The decryption key derivation process is implemented using the same 16-bit four-valued logic operation F' as the encryption key derivation process in Example 1. The decryption key deriver configures the reconstruction code according to the operation rules of F'. An initial decryption key K1 is set, which is the same as the initial encryption key. This embodiment implements packet data decryption and inter-group decryption key derivation through the above-mentioned four-valued logic operation and reconfigurable multi-valued logic operator. However, this is not intended to limit the present invention. Other block sizes can be used, and other block ciphers and their operating modes can be used to implement packet data decryption and inter-group decryption key derivation.

[0063] The pseudo-random sequence generated by the same LFSR is used as a random mask. The LFSR consists of 32 registers and has 5 taps. The structure is shown in Figure 3.

[0064] A 32-bit data group size is used for the data to be reset, and a reassembly and reset operation is performed every 33 groups. Each reassembly and reset operation requires caching a total of 32×33 bits of data, which are arranged into 32 rows and 33 columns. The 32-bit data of each data group to be reset are arranged in column priority order, and then the 32-bit data of each reset data group are taken in row priority order to form 33 new groups of reassembly and reset data groups, that is, the original plaintext data groups.

[0065] The decryption process is implemented using a dual-buffer pipeline hardware architecture: two 1056-bit buffers are created. Each clock cycle, 32 bits of data to be reset are sequentially stored in the first buffer. After 33 clock cycles, the first buffer is filled with the data to be reset. At the 34th clock cycle, all data in the first buffer is stored in the second buffer. The second buffer then reorganizes according to the scheme shown in Figure 4, outputting the first 32 bits of the first row as the first group of reorganized, reset data. Simultaneously, the data to be reset in the 34th clock cycle overwrites the data in the first buffer from the beginning. With each subsequent clock cycle, the first buffer stores a data group to be reset, and the second buffer outputs a group of reorganized, reset data. Data from the first buffer is stored in the second buffer every 33 clock cycles. This embodiment achieves data reorganization and reset using the dual-buffer pipeline architecture described above, but this does not limit the invention. Other hardware and software implementations with varying data group sizes, buffer sizes, pipeline architectures, and other variations fall within the scope of the invention.

[0066] This embodiment implements data reorganization through the above double-buffer pipeline mode, but it is not intended to limit the present invention. Other data group sizes, buffer sizes, pipeline modes and other different software and hardware implementations all fall within the scope of protection of the present invention. In summary, the present invention implements the encryption and decryption and key derivation processes in the disclosed method through any block cipher and its working mode; a random mask can be generated by any pseudo-random generator. The present invention can be applied to encryption and decryption methods based on multi-valued logical operations and other block ciphers to improve the security of ciphertext when these cryptographic methods are applied to encryption scenarios such as images, videos, and audio.

[0067] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0068] The above description of the disclosed embodiments is intended to enable one skilled in the art to implement or use the present invention. Various modifications to the above embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention is not limited to the embodiments shown herein, but is intended to conform to the widest scope consistent with the principles and novel features disclosed herein.

[0069] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any modifications or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in the present invention should be included in the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be based on the scope of protection of the claims.

Claims

1. A method for improving the security of a block cipher, characterized in that: include: an encryption process and an encryption key derivation process; a decryption process and a decryption key derivation process; The encryption process includes: S1, obtaining plaintext data, and grouping the plaintext data to generate a number of plaintext groups; S2, reorganize the data of several plaintext groups to generate reorganized plaintext groups, and add a random mask to the reorganized plaintext groups to generate processed plaintext groups; S3, encrypting the processed plaintext group through an encryption process to generate a number of ciphertext groups; deriving encryption keys from the processed plaintext group through an encryption key derivation process to generate a number of encryption keys; The decryption process includes: S21, the decryptor generates a decryption key through a decryption key derivation process, and decrypts the ciphertext packets in sequence using the decryption key to obtain decrypted data packets; S22, removing the random mask of the decrypted data, and then reorganizing and resetting the decrypted data group to generate a number of corresponding plaintext groups.

2. The method for improving the security of block ciphers according to claim 1, characterized in that: In step S2, the process of data reorganization is as follows: Cache n×m bits of plaintext data and arrange the data into n rows and m columns, where the n bits of data of each plaintext group are arranged in row priority order, and then combine the n bits of data in each column to form m groups of reorganized plaintext data groups.

3. The method for improving the security of block ciphers according to claim 2, characterized in that: The processed plaintext group is encrypted through an encryption process to generate a plurality of ciphertext groups; the processed plaintext group is encrypted through an encryption key derivation process to generate a plurality of encryption keys; The encryption process and encryption key derivation process are carried out simultaneously, including: A random mask is added to the plaintext group after data reorganization to generate a processed plaintext group, and then the processed plaintext group is sent to the encryptor and the encryption key derivator. The encryptor processes the processed plaintext group data in sequence according to the reorganized grouping order to generate corresponding ciphertext groups; the encryption key derivator processes the processed plaintext group data in sequence according to the reorganized grouping order to generate a derived encryption key for encrypting the next processed plaintext group.

4. The method for improving the security of block ciphers according to claim 3, characterized in that: The encryptor is an arbitrary block cipher. When encrypting, the encryptor uses a derived encryption key derived from the previous group of processed plaintext blocks for encryption. The first group of data is encrypted using the initial encryption key. The encryption key derivator is implemented by a key derivation method in any block cipher and its working mode. During encryption, the encryption key derivator uses the derived encryption key derived from the previous group of processed plaintext blocks to derive the next group of derived encryption keys.

5. The method for improving the security of block ciphers according to claim 4, characterized in that: During decryption, the decryptor uses the derived decryption key derived from the previous set of decrypted data for decryption. The first set of ciphertext is decrypted using the initial decryption key, which is the same as the initial encryption key.

6. The method for improving the security of block ciphers according to claim 5, characterized in that: The decryption key deriver processes each decryption data group in turn to generate a derived decryption key for decrypting the next ciphertext group. During decryption, the decryption key deriver uses the derived decryption key derived from the previous group of decrypted data to derive the next group of derived decryption keys.

7. The method for improving the security of block ciphers according to claim 6, characterized in that: By removing the random mask of the decrypted data, and then reorganizing and resetting the decrypted data group, a number of corresponding plaintext groups are generated, specifically: Cache n×m bits of decrypted data after removing the random mask, and arrange the data into n rows and m columns, wherein the n bits of data of each decrypted data group after removing the random mask are arranged in sequence in column priority order, and then take each group of n bits of data in sequence in row priority order to form m groups of decrypted data after removing the random mask after reorganization and reset, that is, plaintext data.

8. The method for improving the security of block ciphers according to claim 7, characterized in that: The random mask is a pseudo-random number sequence of the same length as the plaintext.

Citation Information

Patent Citations

  • Cloud storage data control method

    CN102065129A

  • Data encryption method and data encryption equipment

    CN109495242A

  • FPGA-based DPA attack resistant AES encryption method

    CN111385290A

  • Encryption and decryption method and device and communication system thereof

    CN113630386A

  • NADO Cryptography with Key Generators

    US20170063530A1