A data encryption method, product, device and medium

By optimizing the DES/3DES algorithm, including the extended permutation and XOR operation in the initial permutation and loop iteration operation, the problem of slow operation speed of the substitution box is solved, and the calculation parallelism and throughput rate are improved.

CN118972041BActive Publication Date: 2025-01-24SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411366007.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-29
Publication Date
2025-01-24
Estimated Expiration
2044-09-29

AI Technical Summary

Technical Problem

The nonlinear substitution box calculation speed in the current DES/3DES algorithm is slow, which reduces the computational parallelism and throughput.

Method used

By obtaining clear text data to be encrypted, and initial replacement of bright text data, the first sequence data and the second sequential data are generated. 然后,启动循环迭代运算,对第一乱序数据进行扩展置换运算和异或运算,以生成目标代换盒;对第二乱序数据进行扩展置换、代换盒运算和置换盒运算,以生成 Computing data. Through these steps, the parallelism and throughput of the algorithm are optimized.

Benefits of technology

The optimized DES algorithm increases the expected calculation process of the target replacement box on the left path, and saves different or computing processes on the right path, which reduces the overall algorithm delay, improves the calculation parallelity and throughput, and solves the generation generation. The problem of slow operation of the box is slow.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118972041B_ABST
    Figure CN118972041B_ABST
Patent Text Reader

Abstract

The present invention discloses a data encryption method, product, device and medium, and relates to the field of information security technology. This scheme provides an optimized DES algorithm; firstly, the plaintext data is initially permuted to generate the first disordered data and the second disordered data corresponding to the plaintext data; in the cyclic iteration operation, the first disordered data is sequentially subjected to an extended permutation operation and an XOR operation related to the round key, that is, the pre-calculation process of the target substitution box is added to the left path; the second disordered data is sequentially subjected to an extended permutation operation, a substitution box operation based on the target substitution box and a substitution box operation, that is, two XOR operation processes are saved on the right path, thereby reducing the length of the right path and shortening the overall algorithm delay. The problem of slow nonlinear substitution box operation speed in the current DES / 3DES algorithm is solved, and the calculation parallelism and throughput are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of information security technology, and in particular to a data encryption method, product, device and medium. Background Art

[0002] The Data Encryption Standard (DES) is a block encryption algorithm. The algorithm uses 64-bit plaintext blocks and uses 16 rounds of substitution (S) box permutation and permutation (P) box permutation operations to enhance encryption security. The Triple-DES (3DES) algorithm is an improvement on the DES algorithm. It uses three independent keys (K1, K2, K3) and repeatedly applies the DES algorithm three times, including one encryption, one decryption, and one encryption operation, to increase the key length and improve security.

[0003] In the DES and 3DES algorithms, the generation of 16 rounds of subkeys, initial permutation, inverse initial permutation, extended permutation, XOR operation, and substitution box permutation are all linear operations, and only the substitution box operation is nonlinear. Although the nonlinear characteristics of the substitution box enhance the security of the algorithm, it also leads to a slower operation speed, reducing the computational parallelism and throughput of the DES / 3DES algorithm.

[0004] In view of the above problems, how to solve the nonlinear substitution and slow operation speed in the current DES / 3DES algorithm, which reduces the computational parallelism and throughput, is an urgent problem to be solved by technicians in this field. Summary of the invention

[0005] The purpose of the present invention is to provide a data encryption method, product, device and medium to solve the problem that the nonlinear substitution box in the current DES / 3DES algorithm is slow in operation, reducing the computational parallelism and throughput.

[0006] In order to solve the above technical problems, the present invention provides a data encryption method, comprising:

[0007] Obtaining plaintext data to be encrypted, and performing initial permutation on the plaintext data to generate first random order data and second random order data corresponding to the plaintext data;

[0008] Initiate a loop iteration operation, and sequentially perform an expansion permutation operation and an XOR operation related to a round key on the first random data to generate a target substitution box required for the next iteration;

[0009] performing an extended permutation operation, a substitution box operation based on the target substitution box, and a substitution box operation on the second disordered data in sequence to generate operation data of this round;

[0010] Determine a new round of the first disordered data and a new round of the second disordered data according to the first disordered data, the second disordered data and the operation data, so as to perform a new round of iterative operation, until the iteration is completed to generate target disordered data and target operation data;

[0011] The target random data and the target operation data are reversely initial-permuted to output encrypted data corresponding to the plaintext data.

[0012] On the one hand, obtaining the plaintext data to be encrypted includes:

[0013] Get the initial plaintext data;

[0014] Sequentially splitting the initial plaintext data into multiple groups of plaintext data according to each group of 64 bits;

[0015] Determine whether the last set of plaintext data is 64 bits;

[0016] If yes, output the plaintext data to be encrypted;

[0017] If not, fill the last set of plaintext data to 64 bits, and output the plaintext data to be encrypted.

[0018] On the other hand, the performing of an initial permutation on the plaintext data to generate first random order data and second random order data corresponding to the plaintext data includes:

[0019] Get the initial permutation mapping table;

[0020] Generate random data according to the initial permutation mapping table and the plaintext data;

[0021] Using high 32 bits of the out-of-order data as the first out-of-order data;

[0022] The lower 32 bits of the out-of-order data are used as the second out-of-order data.

[0023] On the other hand, the step of sequentially performing an extended permutation operation and an XOR operation related to a round key on the first disordered data to generate a target substitution box required for the next round of iteration includes:

[0024] Get the extended permutation table and the round key of this round;

[0025] The first random data is divided into a plurality of groups of sub-data in sequence; wherein each group of sub-data has 4 bits;

[0026] Generate the first random order data after expansion according to the expansion substitution table and each group of the sub-data; wherein the first random order data after expansion is 48 bits;

[0027] An XOR operation is performed based on the expanded first random data and the round key of this round to generate the target substitution box required for the next round of iteration.

[0028] On the other hand, the step of sequentially performing an extended permutation operation, a substitution box operation based on the target substitution box, and a substitution box operation on the second disordered data to generate operation data of this round includes:

[0029] Get the extended permutation table;

[0030] The second random data is divided into a plurality of groups of sub-data in sequence; wherein each group of sub-data is 4 bits;

[0031] Generate the expanded second random order data according to the extended substitution table and each group of the sub-data; wherein the expanded second random order data is 48 bits;

[0032] The expanded second random data is divided into a plurality of groups of input data in sequence; wherein each group of input data is 6 bits;

[0033] Inputting each set of input data into each substitution sub-box of the target substitution box, so that each substitution sub-box outputs multiple sets of output data according to the relationship between the corresponding input data and the pre-calculated change value in the target substitution box;

[0034] A substitution box operation is performed on each set of output data to generate the operation data of this round.

[0035] On the other hand, before obtaining the extended substitution table, the method further includes:

[0036] Determine whether this is the first round of iterative operation;

[0037] If not, then proceed to the step of obtaining the extended substitution table;

[0038] If yes, then obtain the initial substitution box generated based on the round key of the first round;

[0039] The initial substitution box is used as the target substitution box to perform a first round of iterative operations.

[0040] On the other hand, determining a new round of the first random order data and a new round of the second random order data according to the first random order data, the second random order data and the operation data includes:

[0041] Determine whether the first round of iterative calculation has just ended;

[0042] If yes, use the second random order data as the first random order data of a new round;

[0043] Using the operation data as the second random data of a new round;

[0044] If not, taking the XOR operation result of the second random order data and the first random order data of the previous round as the first random order data of the new round;

[0045] The operation data is used as the second random data of a new round.

[0046] On the other hand, generating the target out-of-order data and the target operation data includes:

[0047] Obtaining the first out-of-order data, the second out-of-order data, and the operation data in the last round of iterative operations, and obtaining the first out-of-order data in the previous round of iterative operations before the last round;

[0048] Taking the XOR result of the second disordered data in the last round of iterative calculation and the first disordered data in the last round of iterative calculation as the target disordered data;

[0049] The XOR operation result of the operation data in the last round of iterative operation and the first disordered data in the last round of iterative operation is used as the target operation data.

[0050] On the other hand, the performing of inverse initial permutation on the target disordered data and the target operation data to output encrypted data corresponding to the plaintext data includes:

[0051] Obtain an inverse initial permutation mapping table;

[0052] Performing an exchange operation on the target out-of-order data and the target operation data;

[0053] The target random data and the target operation data after the inverse initial permutation mapping table and the exchange operation are subjected to inverse initial permutation to output the encrypted data corresponding to the plaintext data.

[0054] On the other hand, when the Triple Data Encryption Standard algorithm is executed, the round key in the cyclic iteration operation is the first key;

[0055] Correspondingly, after performing the inverse initial permutation on the target disordered data and the target operation data to output the encrypted data corresponding to the plaintext data, the method further includes:

[0056] Decrypting the encrypted data according to the second key to obtain second plaintext data;

[0057] The second plaintext data is encrypted according to a third key to obtain triply encrypted data.

[0058] On the other hand, it also includes:

[0059] Generate a digital signature based on the private key and the triple encrypted data;

[0060] The digital signature and the triple encrypted data are sent to a recipient so that the recipient can verify the digital signature according to a public key corresponding to the private key.

[0061] On the other hand, sending the digital signature and the triple encrypted data to a recipient includes:

[0062] Sending the digital signature and the triple encrypted data to a recipient based on a transport layer security protocol;

[0063] The digital signature and the triple encrypted data are backed up and stored in an encrypted file system.

[0064] In order to solve the above technical problem, the present invention also provides a computer program product, including a computer program / instruction, which implements the steps of the above data encryption method when executed by a processor.

[0065] In order to solve the above technical problems, the present invention further provides a data encryption device, comprising:

[0066] Memory for storing computer programs;

[0067] A processor is used to implement the steps of the above-mentioned data encryption method when executing the computer program.

[0068] In order to solve the above technical problem, the present invention also provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the steps of the above data encryption method are implemented.

[0069] The data encryption method provided by the present invention obtains plaintext data to be encrypted and performs initial permutation on the plaintext data to generate first random data and second random data corresponding to the plaintext data; starts a cyclic iteration operation, performs an extended permutation operation and an XOR operation related to a round key on the first random data in sequence to generate a target substitution box required for the next round of iteration; performs an extended permutation operation, a substitution box operation based on the target substitution box and a substitution box operation on the second random data in sequence to generate operation data for this round; determines a new round of first random data and a new round of second random data according to the first random data, the second random data and the operation data to perform a new round of iterative operation until the iteration ends to generate target random data and target operation data; performs an inverse initial permutation on the target random data and the target operation data to output encrypted data corresponding to the plaintext data. The beneficial effect of the present invention is that an optimized DES algorithm is provided; firstly, the plaintext data is initially permuted to generate the first disordered data and the second disordered data corresponding to the plaintext data; in the cyclic iteration operation, the first disordered data is sequentially subjected to the extended permutation operation and the XOR operation related to the round key, that is, the pre-calculation process of the target substitution box is added to the left path; the second disordered data is sequentially subjected to the extended permutation operation, the substitution box operation based on the target substitution box and the substitution box operation, that is, two XOR operation processes are saved on the right path, thereby reducing the length of the right path and shortening the overall algorithm delay. The problem of slow nonlinear substitution box operation speed in the current DES / 3DES algorithm is solved, and the calculation parallelism and throughput are improved.

[0070] On the other hand, the present invention specifically obtains initial plaintext data; splits the initial plaintext data into multiple groups of plaintext data in sequence according to each group of 64 bits; determines whether the last group of plaintext data is 64 bits; if so, outputs the plaintext data to be encrypted; if not, fills the last group of plaintext data to 64 bits and outputs the plaintext data to be encrypted, thereby ensuring the standardization of the plaintext data. Obtain an initial permutation mapping table; generate random data according to the initial permutation mapping table and the plaintext data; use the high 32 bits of the random data as the first random data; use the low 32 bits of the random data as the second random data, thereby achieving the initial permutation of the plaintext data. Obtain an extended permutation table and the round key of this round; divide the first random data into multiple groups of sub-data in sequence; generate the extended first random data according to the extended permutation table and each group of sub-data; perform an XOR operation based on the extended first random data and the round key of this round, and finally generate the target substitution box required for the next round of iteration. Obtain an extended substitution table; divide the second random data into multiple groups of sub-data in turn; generate extended second random data according to the extended substitution table and each group of sub-data; divide the extended second random data into multiple groups of input data in turn; input each group of input data into each substitution sub-box of the target substitution box, so that each substitution sub-box outputs multiple groups of output data according to the relationship between the corresponding input data and the pre-calculated change value in the target substitution box; perform substitution box operations according to each group of output data to generate operation data for this round. Determine whether the current is the first round of iterative operations; if not, enter the step of obtaining an extended substitution table; if so, obtain an initial substitution box generated based on the round key of the first round; use the initial substitution box as the target substitution box to perform the first round of iterative operations, thereby ensuring the integrity of the first round of iterative operations. Determine whether the first round of iterative operations has just ended; if so, use the second random data as the first random data of the new round; use the operation data as the second random data of the new round; if not, use the XOR operation result of the second random data and the first random data of the previous round as the first random data of the new round; use the operation data as the second random data of the new round, so as to accurately determine the first random data of the new round and the second random data of the new round in each round of iterative operations. Obtain the first random data, the second random data and the operation data in the last round of iterative operations, and obtain the first random data in the previous round of iterative operations of the last round; use the XOR operation result of the second random data in the last round of iterative operations and the first random data in the previous round of iterative operations of the last round as the target random data; use the XOR operation result of the operation data in the last round of iterative operations and the first random data in the last round of iterative operations as the target operation data, thereby accurately generating the final target random data and target operation data after the iteration ends.Obtain an inverse initial permutation mapping table; perform an exchange operation on the target random order data and the target operation data; perform an inverse initial permutation according to the inverse initial permutation mapping table and the target random order data and the target operation data after the exchange operation, and finally output the encrypted data corresponding to the plaintext data.

[0071] In addition, the present invention also provides a computer program product, a data encryption device and a medium, which have the same effects as above. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0073] Figure 1 A flowchart of standard DES encryption provided by an embodiment of the present invention;

[0074] Figure 2 A flowchart of a data encryption method provided by an embodiment of the present invention;

[0075] Figure 3 A flowchart of optimized DES encryption provided by an embodiment of the present invention;

[0076] Figure 4 The S provided in the embodiment of the present invention i Box calculation flow chart;

[0077] Figure 5 3DES encryption calculation flow chart provided by the embodiment of the present invention;

[0078] Figure 6 A schematic diagram of a data encryption device provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0079] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0080] The core of the present invention is to provide a data encryption method, product, device and medium to solve the problem of nonlinear substitution and slow operation speed in the current DES / 3DES algorithm, which reduces the computational parallelism and throughput.

[0081] In order to enable those skilled in the art to better understand the solution of the present invention, the present invention is further described in detail below in conjunction with the accompanying drawings and specific implementation methods.

[0082] Figure 1 This is a flow chart of standard DES encryption provided by an embodiment of the present invention. Figure 1 As shown in the figure, in the standard DES encryption process, the original 64-bit plaintext data is first rearranged according to a fixed permutation rule to disrupt the statistical characteristics and patterns of the plaintext. The original 64-bit key is further expanded and processed to generate 16 subkeys, each of which is used for one round of encryption operations. For each round of encryption, the data obtained in the previous round is divided into two parts, the left half is expanded, and then an XOR operation is performed with the subkey of the current round. The result is subjected to a series of substitution and permutation operations (including S-box substitution and P-box substitution), and finally an XOR operation is performed with the right half to obtain the result of this round of encryption. After each round of encryption, the left and right parts of the data are exchanged so that different subkeys are used in the next round of encryption. The above round function and data exchange operation are repeated for a total of 16 rounds to increase the security of encryption. After all rounds of encryption operations are completed, the obtained 64-bit data is reversed by initial permutation to restore the original order of the data and complete the data encryption.

[0083] However, from Figure 1 It can be seen that during the iterative operation, the length of the right path is much longer than that of the left path, resulting in a slow operation speed of the nonlinear substitution box on the right side, which reduces the computational parallelism and throughput. In order to solve the above problems, the present invention provides a data encryption method, which is actually an optimized DES encryption algorithm.

[0084] Figure 2 A flow chart of a data encryption method provided by an embodiment of the present invention. Figure 2 As shown, the method includes:

[0085] S10: Obtain plaintext data to be encrypted, and perform initial permutation on the plaintext data to generate first random order data and second random order data corresponding to the plaintext data.

[0086] In the specific implementation, the plaintext data to be encrypted is first obtained, and the initial permutation (IP) is performed on the plaintext data. It should be noted that the size of the plaintext data in this embodiment is 64 bits, and the initial permutation operation still adopts a direct mapping method, and the permutation table is compatible with the standard DES algorithm. Through the initial permutation, the first disordered data L0 and the second disordered data R0 corresponding to the plaintext data can be generated.

[0087] S11: Start a loop iteration operation, and perform an expansion permutation operation and an XOR operation related to a round key on the first disordered data in sequence, so as to generate a target substitution box required for the next iteration.

[0088] Figure 3 The flowchart of the optimized DES encryption provided by the embodiment of the present invention. Figure 3 As shown, after the initial permutation operation obtains the first random data L0 and the second random data R0, 16 rounds of loop iteration operation are started. In the i-th round (i=1, 2, 3, ..., 16) of iteration operation, the first random data L0 is firstly permuted. i-1 Perform the expansion (Expander, E) permutation operation in sequence, and the subkey Kn sub i+1 related XOR operations are performed to generate the target substitution box required for the i+1th iteration, that is, S i+1 box.

[0089] It is worth noting that the extended E permutation operation added to the left path is to make up for the difference in eliminating the second XOR operation on the right path. i+1 The box pre-generation is only an XOR negation operation, which is much lower than the S of this round. i The box lookup table is operated, so the left target replaces the box S i+1 The pre-generation of the box will not increase the overall delay of the i-th round. In this embodiment, no limitation is imposed on the specific generation process of the target replacement box.

[0090] S12: performing an extended permutation operation, a substitution box operation based on a target substitution box, and a substitution box operation on the second disordered data in sequence to generate operation data of this round.

[0091] Furthermore, in the i-th round of iterative operation, the second disordered data R i-1 It needs to go through the extended permutation operation, the substitution box operation based on the target substitution box, and the P box operation in sequence, and finally output the operation data M of this round i In this embodiment, there is no limitation on the specific process of generating the operation data, which depends on the specific implementation situation.

[0092] S13: Determine a new round of first random data and a new round of second random data according to the first random data, the second random data and the operation data, so as to perform a new round of iterative operation, until the iteration is completed to generate target random data and target operation data.

[0093] After completing a round of iterative operations, it is necessary to determine a new round of first disordered data and a new round of second disordered data based on the first disordered data, the second disordered data and the operation data of the current round, so as to perform a new round of iterative operations, that is, to execute the processes in step S12 and step S13 again. Until 16 rounds of iterations are completed, target disordered data and target operation data are generated. In this embodiment, there is no limitation on the specific method for determining the new round of first disordered data and the new round of second disordered data, which depends on the specific implementation situation.

[0094] S14: Perform inverse initial permutation on the target random data and the target operation data to output encrypted data corresponding to the plaintext data.

[0095] Finally, perform reverse initial permutation IP on the target disordered data and target operation data -1 , the purpose is to restore the original text order. It should be noted that the reverse initial permutation in this embodiment also adopts a direct mapping method, and the permutation table is compatible with the standard DES algorithm. By performing reverse initial permutation on the target disordered data and the target operation data, the encrypted data corresponding to the plaintext data is finally output.

[0096] In this embodiment, an optimized DES algorithm is provided; firstly, the plaintext data is initially permuted to generate the first random data and the second random data corresponding to the plaintext data; in the cyclic iteration operation, the first random data is sequentially subjected to the extended permutation operation and the XOR operation related to the round key, that is, the pre-calculation process of the target substitution box is added to the left path; the second random data is sequentially subjected to the extended permutation operation, the substitution box operation based on the target substitution box and the substitution box operation, that is, two XOR operation processes are saved on the right path, thereby reducing the length of the right path and shortening the overall algorithm delay. The problem of slow nonlinear substitution box operation speed in the current DES / 3DES algorithm is solved, and the computational parallelism and throughput are improved.

[0097] Based on the above embodiments, in some embodiments, obtaining the plaintext data to be encrypted includes:

[0098] S101: Obtaining initial plaintext data;

[0099] S102: splitting the initial plaintext data into multiple groups of plaintext data in sequence according to each group of 64 bits;

[0100] S103: Determine whether the last set of plaintext data is 64 bits; if so, proceed to step S104; if not, proceed to step S105;

[0101] S104: Outputting each plaintext data to be encrypted;

[0102] S105: Fill the last set of plaintext data to 64 bits, and output the plaintext data to be encrypted.

[0103] In a specific implementation, the size of the initial plaintext data to be encrypted may be larger than 64 bits. In order to perform standardized DES encryption on the initial plaintext data, it is necessary to obtain the initial plaintext data and perform group processing on the initial plaintext data: the initial plaintext data is divided into multiple groups of plaintext data in sequence according to each group of 64 bits.

[0104] It is understandable that the initial plaintext data may not be completely split according to each group of 64 bits. Therefore, it is also necessary to determine whether the last group of plaintext data is 64 bits. If the last group of plaintext data is 64 bits, then the plaintext data to be encrypted is output; if the last group of plaintext data is not 64 bits, then it is confirmed that the last group of plaintext data is less than 64 bits, and the last group of plaintext data needs to be padded with 0 to 64 bits, and finally the plaintext data to be encrypted is output. In this way, the standardization of the plaintext data is guaranteed.

[0105] On the basis of the above embodiments, in some embodiments, the plaintext data is initially permuted to generate first random order data and second random order data corresponding to the plaintext data, including:

[0106] S106: Obtaining an initial replacement mapping table;

[0107] S107: Generate random data according to the initial replacement mapping table and the plaintext data;

[0108] S108: taking the high 32 bits of the random data as the first random data;

[0109] S109: Use the lower 32 bits of the random data as the second random data.

[0110] In a specific implementation, in order to perform an initial replacement of plaintext data, it is first necessary to obtain an initial replacement mapping table.

[0111] Table 1 Initial permutation mapping table

[0112]

[0113] As shown in Table 1, during the initial permutation operation, it is assumed that the input 64-bit binary plaintext data is m1m2m3…mi…m64, where the serial number i corresponds to the number in the table; for example, m1 is located in the 5th row and 8th column in the table, and m2 is located in the 1st row and 8th column in the table. Assume that after permutation, the binary output is d1d2d3…dj…d64, where the serial number j corresponds to the coordinates in the table; for example, d1 is in the 1st row and 1st column in the table, then d1=m58, d2=m50, …, d64=m7, and so on, and finally the initial plaintext data is processed in disorder and disordered data is generated to achieve the purpose of "chaos". After the initial permutation, the 64-bit disordered data also needs to be equally divided into the first disordered data L0 of the upper 32 bits and the second disordered data R0 of the lower 32 bits for standby. In this way, the initial permutation of the plaintext data is achieved.

[0114] Based on the above embodiments, in some embodiments, the first random data is sequentially subjected to an extended permutation operation and an XOR operation related to a round key to generate a target substitution box required for the next round of iteration, including:

[0115] S111: Obtain an extended permutation table and a round key of this round;

[0116] S112: dividing the first disordered data into multiple groups of sub-data in sequence;

[0117] Among them, each group of sub-data is 4 bits;

[0118] S113: Generate extended first random data according to the extended permutation table and each group of sub-data;

[0119] Among them, the first random data after expansion is 48 bits;

[0120] S114: Perform an XOR operation on the expanded first random data and the round key of this round to generate a target substitution box required for the next round of iteration.

[0121] In a specific implementation, in order to generate the target substitution box required for the next round of iteration, the extended permutation table and the round key of the current round are specifically obtained in the left path of each round of iteration.

[0122] Table 2 Extended substitution table

[0123]

[0124] As shown in Table 2, the purpose of the extended permutation is to expand the 32-bit first random data d1d2d3...dj...d32 into 48-bit expanded first random data. Specifically, the first random data is divided into multiple groups of sub-data in turn, specifically 8 groups of sub-data, and each group of sub-data is 4 bits. Further, according to the extended permutation table, 1 bit of extension bit is added before and after each group of sub-data; for example, the first group d1d2d3d4 is expanded to e1e2e3e4e5e6=d32d1d2d3d4d5, and each group eventually becomes 6 bits, 8 groups totaling 48 bits, the same as the number of bits of the round key. Finally, an XOR operation is performed on the expanded first random data and the round key of this round to generate the target substitution box required for the next round of iteration.

[0125] Based on the above embodiments, in some embodiments, the second disordered data is sequentially subjected to an extended substitution operation, a substitution box operation based on a target substitution box, and a substitution box operation to generate operation data of this round, including:

[0126] S121: Obtain an extended substitution table;

[0127] S122: dividing the second random data into multiple groups of sub-data in sequence;

[0128] Among them, each group of sub-data is 4 bits;

[0129] S123: Generate extended second random data according to the extended permutation table and each group of sub-data;

[0130] The second random data after expansion is 48 bits;

[0131] S124: dividing the expanded second random data into multiple groups of input data in sequence;

[0132] Among them, each group of input data is 6 bits;

[0133] S125: inputting each set of input data into each substitution sub-box of the target substitution box, so that each substitution sub-box outputs multiple sets of output data according to the relationship between the corresponding input data and the pre-calculated change value in the target substitution box;

[0134] S126: Perform substitution box operation according to each group of output data to generate operation data for this round.

[0135] In a specific implementation, in order to generate the operation data M of this round in the iterative operation i, first, it is necessary to perform an extended permutation operation on the second disordered data. It can be understood that the method of performing an extended permutation operation on the second disordered data is the same as the process of performing an extended permutation operation on the first disordered data in the above embodiment. Specifically, an extended permutation table is obtained, and the second disordered data is divided into 8 groups of sub-data in turn, each group of sub-data is 4 bits; and the expanded 48-bit second disordered data is generated according to the extended permutation table and each group of sub-data. In this way, the extended permutation operation on the second disordered data is ended, and an S-box operation based on the target substitution box can be further performed.

[0136] It should be noted that the S-box is a compression substitution table that compresses 48-bit input into 32-bit output and has nonlinear characteristics. The S-box substitution contains a total of 8 S sub-boxes, namely S 1 , S 2 ,……,S 8 . Figure 4 The S provided in the embodiment of the present invention i Box calculation flow chart. Figure 4 As shown, each S sub-box is a lookup table with 4 rows and 16 columns.

[0137] Table 3 S i 8 sub-boxes of the box

[0138]

[0139] As shown in Table 3, each sub-box has 6 bits of input and 4 bits of output; the values ​​in the table represent the decimal values ​​0 to 15 corresponding to the 4-bit binary output of the S sub-box. i The value of the S-box is the same as that of the S-box in the standard DES algorithm, but the positioning method is different. By comparison, it can be seen that the S-box of the standard algorithm needs to XOR the output value of the extended E operation with the round key value before calculation, and input the 48-bit XOR value into the S-box, and the 16-round S-box is the same. In order to reduce the delay caused by the XOR operation, the present invention integrates the XOR operation into the S-box and optimizes it into S i Box, and in 16 rounds of iterative operations S i The boxes are different.

[0140] It can be seen from the above embodiments that S i Box is a key Kn associated with the round i sub i and extended E(L i-2 ) variables related to the XOR value k, and have been pre-generated in the i-1th round. Because Kn sub1 and k can be pre-calculated in advance. For the convenience of description, the present invention uses the pre-calculated change value as 48-bit binary k1k2...k48. Therefore, in order to perform S-box operation based on the target substitution box, the expanded second random data is divided into 8 groups of 6-bit input data in sequence; each group of input data is input into each substitution sub-box of the target substitution box, so that each substitution sub-box outputs multiple groups of output data according to the relationship between the corresponding input data and the pre-calculated change value in the target substitution box. The following is an example:

[0141] Take S in Table 3 i 1 For example, if the 6-bit input data is b1b2b3b4b5b6, the standard DES algorithm will directly use the two-bit b1b6 to locate the row number and the four-bit b2b3b4b5 to locate the column number. For example, when b1b2b3b4b5b6=001001, b1b6=01 is the 2nd row, b2b3b4b5=0100 is the 5th column, then after S 1 The 4-bit output data after the box substitution is 14, that is, 1110. In the improved S-box operation based on the target substitution box of the present invention, S i 1 The number of rows and columns of the box needs to determine the relationship between the 6-bit input data b1b2b3b4b5b6 and the pre-calculated change value k1k2k3k4k5k6: when b1b6=k1k6 is the first row, For row 2, For row 3, For example, when k1k6=01, b1b6=00 is required to locate the 2nd row. Similarly, when b2b3b4b5=k2k3k4k5 is the 1st column, For the second column, For the third column, ..., is the 16th column, and so on. i The same is true for the sub-boxes. In this way, the S-box operation based on the target substitution box is realized.

[0142] Finally, according to each group S i The output data of the sub-box is processed by P-box operation to generate the 32-bit operation data M of this round. i In this way, the calculation data M of this round in the iterative calculation is realized. i Generation of.

[0143] It should be noted that, in the first round of iteration, the target substitution box is not generated in the left path, but is generated in advance, so there are some differences between the S-box operation in the first round of iteration and the S-box operation in other rounds of iteration. Specifically, based on the above embodiment, before obtaining the extended substitution table, it also includes:

[0144] S127: Determine whether the current operation is the first round of iteration; if not, proceed to step S121; if yes, proceed to step S128;

[0145] S128: Obtain an initial substitution box generated based on the round key of the first round;

[0146] S129: Using the initial substitution box as the target substitution box to perform a first round of iterative operations.

[0147] In a specific implementation, the S1 box of the present invention is a key that is only used for the first round of round key K1. sub 1 related variables, and have been obtained in advance before the first round of operation. Therefore, in order to accurately calculate the operation data of each round, before performing the extended permutation operation on the right path, it is determined whether the current round is the first round of iterative operation; if it is not the first round of iterative operation, it enters the step S121 of obtaining the extended permutation table; if it is the first round of iterative operation, it obtains the round key K1 based on the first round sub 1, and use the initial substitution box as the target substitution box to perform the first round of iterative operations, thereby ensuring the integrity of the first round of iterative operations.

[0148] Based on the above embodiments, in some embodiments, determining a new round of first disordered data and a new round of second disordered data according to the first disordered data, the second disordered data and the operation data includes:

[0149] S131: Determine whether the first round of iterative calculation has just ended; if so, proceed to step S132; if not, proceed to step S134;

[0150] S132: Using the second random order data as the first random order data of a new round;

[0151] S133: using the calculated data as the second random data of a new round;

[0152] S134: taking the XOR operation result of the second random order data and the first random order data of the previous round as the first random order data of the new round;

[0153] S135: Use the calculated data as the second random data of a new round.

[0154] In a specific implementation, in order to accurately determine the first random order data and the second random order data of a new round in each round of iterative operation, it is specifically determined whether the first round of iterative operation has just ended. It is understandable that the first random order data and the second random order data in the first round of iterative operation have different sources from the first random order data and the second random order data in other rounds of iterative operation.

[0155] If it is confirmed that the first round of iterative operations has just ended, in order to obtain the first and second random data for the second round of iterative operations, the second random data in the first round of iterative operations is used as the first random data for the second round; and the operation data obtained in the first round of iterative operations is used as the second random data for the second round.

[0156] If it is confirmed that the first round of iterative operation has not just ended, it is considered that at least two iterations have been completed. In order to obtain the first random order data and the second random order data of the new round of iterative operation, the XOR operation result of the second random order data of the current round and the first random order data of the previous round is used as the first random order data of the new round; and the operation data of the current round is used as the second random order data of the new round. In this way, the first random order data of the new round and the second random order data of the new round are accurately determined in each round of iterative operation.

[0157] Based on the above embodiments, in some embodiments, generating target out-of-order data and target operation data includes:

[0158] S136: Acquire the first random order data, the second random order data, and the operation data in the last round of iterative operation, and acquire the first random order data in the previous round of iterative operation of the last round;

[0159] S137: taking the XOR result of the second random order data in the last round of iterative calculation and the first random order data in the last round of iterative calculation as the target random order data;

[0160] S138: Taking the XOR result of the operation data in the last round of iterative operation and the first random data in the last round of iterative operation as the target operation data.

[0161] In a specific implementation, since the present invention optimizes the DES algorithm and eliminates the second XOR operation of the standard DES algorithm in the right path, the operation data M obtained after the iteration is completed is 16 Not the R in the standard DES algorithm 16 , L i It is not equal to M i-1 .

[0162] In order to accurately generate the final target disordered data and target operation data after the iteration, the first disordered data, the second disordered data and the operation data in the last round of iterative operation are obtained, and the first disordered data in the previous round of iterative operation is obtained; the XOR operation result of the second disordered data in the last round of iterative operation and the first disordered data in the previous round of iterative operation is used as the target disordered data, that is, L 16 =R 15 =M 15 ⊕L 14; The XOR result of the operation data in the last round of iterative operation and the first disordered data in the last round of iterative operation is used as the target operation data, that is, R 16 =M 16 ⊕L 15 In this way, the final target disordered data and target operation data after the iteration are accurately generated.

[0163] On the basis of the above embodiments, in some embodiments, the target disordered data and the target operation data are reversely initially permuted to output encrypted data corresponding to the plaintext data, including:

[0164] S141: Obtaining an inverse initial permutation mapping table;

[0165] S142: performing an exchange operation on the target disordered data and the target operation data;

[0166] S143: Perform inverse initial permutation on the target disordered data and target operation data after the inverse initial permutation mapping table and the exchange operation to output encrypted data corresponding to the plaintext data.

[0167] After obtaining the target random order data and target operation data after the iteration, it is necessary to perform inverse initial permutation on the target random order data and the target operation data. First, it is necessary to obtain the inverse initial permutation mapping table.

[0168] Table 4 Inverse initial permutation mapping table

[0169]

[0170] As shown in Table 4, the purpose of the inverse initial permutation is to restore the original text order, and its mapping method is the same as that of the initial permutation. It should be noted that before the inverse initial permutation, the target disordered data and the target operation data need to be exchanged to ensure the similarity of the encryption and decryption process. Finally, the inverse initial permutation is performed according to the inverse initial permutation mapping table and the target disordered data and the target operation data after the exchange operation to output the 64-bit encrypted data mK1 corresponding to the plaintext data.

[0171] Figure 5 3DES encryption calculation flow chart provided by the embodiment of the present invention. It can be understood that, Figure 5 As shown in the figure, when executing the 3DES algorithm, the round key in the above iterative operation is the first key. The second step of the 3DES algorithm is to use the key K2 to decrypt the ciphertext mK1 output from the first step. The decryption process is the same as the encryption process above, except that K2 is used in the first round. sub 16 round keys, K2 is used in the second round sub The round key of 15 is used, and so on to complete the output of the plaintext data mK1K2.

[0172] Correspondingly, in order to implement 3DES data encryption, after performing inverse initial permutation on the target disordered data and the target operation data to output the encrypted data corresponding to the plaintext data, it also includes:

[0173] S15: decrypting the encrypted data according to the second key to obtain second plaintext data;

[0174] S16: Encrypt the second plaintext data according to the third key to obtain triple encrypted data.

[0175] Specifically, after obtaining the 64-bit encrypted data mK1, the encrypted data mK1 is decrypted according to the second key K2 to obtain the second plaintext data mK1K2; the second plaintext data mK1K2 is encrypted according to the third key K3 to obtain the triple encrypted data mK1K2K3.

[0176] It can be understood that, in the present invention, the round key K sub The generation method and mapping relationship of i are the same as those of the standard DES algorithm, that is, the 56-bit effective part of the 64-bit K1, K2, and K3 must be permuted and selected PC-1 (8 rows and 7 columns), cyclically shifted left, and permuted and selected PC-2 (8 rows and 6 columns) in turn, and then 16 rounds of 48-bit round keys are generated in turn, for a total of 48. In PC-1, 56 bits are split into 28 bits of high and low, respectively C0 and D0. C0 and D0 are cyclically shifted left respectively. The 1st, 2nd, 9th and 16th rounds are calculated with a cyclic left shift of 1 bit, and the remaining rounds are cyclically shifted left by 2 bits. The result after each round of left shift is used as the input for the next round of left shift operation. The 56-bit data after each cyclic left shift is compressed and permuted by PC-2 to obtain the 48-bit round key of that cyclic round. Round key generation can be parallel to the DES encryption operation, but it is necessary to ensure that the first round of K is generated one round in advance. sub 1 is generated, and then the S1 box is pre-generated. The overall delay of round key generation will not exceed that of the round function with Si box, so it has little impact on the delay of the entire algorithm.

[0177] In a specific implementation, in order to ensure the security of 3DES encrypted data transmission, the method further includes:

[0178] S17: Generate a digital signature based on the private key and the triple encrypted data;

[0179] S18: Send the digital signature and the triple encrypted data to the recipient, so that the recipient can verify the digital signature according to the public key corresponding to the private key.

[0180] In order to ensure the secure transmission of 3DES encrypted data, a digital signature can be generated based on the private key and triple encrypted data during data transmission. Among them, the digital signature is a cryptographic tool used to verify the integrity and authenticity of data. After the digital signature and triple encrypted data are sent to the recipient, the recipient verifies the digital signature based on the public key corresponding to the private key; if the verification is successful, it can be confirmed that the data has not been tampered with and that the data is indeed from the sender. In this way, the security of 3DES encrypted data transmission is guaranteed.

[0181] In addition, the security of data transmission can also be guaranteed by means of checksum. Checksum is a simple data integrity verification method that obtains a fixed-length value (checksum) by performing a mathematical operation (such as XOR or summation) on the data. The sender sends the checksum together with the 3DES encrypted data to the receiver. The receiver performs the same mathematical operation on the received 3DES encrypted data and compares the result with the received checksum. If the two match, the data has not been tampered with. In this way, the security of 3DES encrypted data transmission is guaranteed.

[0182] On this basis, in order to further improve the security of data transmission, the digital signature and triple encrypted data are sent to the recipient, including:

[0183] S181: Sending the digital signature and triple encrypted data to the recipient based on the transport layer security protocol;

[0184] S182: Back up the digital signature and triple encrypted data, and store them in the encrypted file system.

[0185] The Transport Layer Security (TLS) protocol is a protocol used to protect network communication security. Its main function is to ensure the confidentiality, integrity and authentication of data transmitted on the Internet. In specific implementations, digital signatures and triple-encrypted data are sent to the recipient based on the TLS protocol, which can further improve data security based on the transmission protocol. At the same time, digital signatures and triple-encrypted data are backed up and stored in an encrypted file system, which can effectively prevent data loss or leakage.

[0186] In the above embodiment, the data encryption method is described in detail. The present invention also provides a computer program product, including a computer program / instruction, which implements the steps of the above data encryption method when executed by a processor.

[0187] Figure 6 A schematic diagram of a data encryption device provided by an embodiment of the present invention. Figure 6 As shown, the data encryption device includes:

[0188] A memory 20, for storing computer programs;

[0189] The processor 21 is used to implement the steps of the data encryption method mentioned in the above embodiment when executing the computer program.

[0190] The data encryption device provided in this embodiment may include but is not limited to a smart phone, a tablet computer, a laptop computer, or a desktop computer.

[0191] Among them, the processor 21 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 21 can be implemented in at least one hardware form of a digital signal processor (DSP), a field programmable gate array (FPGA), and a programmable logic array (PLA). The processor 21 may also include a main processor and a coprocessor. The main processor is a processor for processing data in an awake state, also known as a central processing unit (CPU); the coprocessor is a low-power processor for processing data in a standby state. In some embodiments, the processor 21 may be integrated with a graphics processing unit (GPU), and the GPU is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 21 may also include an artificial intelligence (AI) processor, which is used to process computing operations related to machine learning.

[0192] The memory 20 may include one or more computer-readable storage media, which may be non-transitory. The memory 20 may also include a high-speed random access memory, and a non-volatile memory, such as one or more disk storage devices, flash memory storage devices. In this embodiment, the memory 20 is at least used to store the following computer program 201, wherein, after the computer program is loaded and executed by the processor 21, it can implement the relevant steps of the data encryption method disclosed in any of the aforementioned embodiments. In addition, the resources stored in the memory 20 may also include an operating system 202 and data 203, etc., and the storage method may be temporary storage or permanent storage. Among them, the operating system 202 may include Windows, Unix, Linux, etc. Data 203 may include but is not limited to data involved in the data encryption method.

[0193] In some embodiments, the data encryption device may further include a display screen 22 , an input / output interface 23 , a communication interface 24 , a power supply 25 , and a communication bus 26 .

[0194] Those skilled in the art will understand that Figure 6 The structure shown in the figure does not constitute a limitation on the data encryption device, and may include more or fewer components than those shown in the figure.

[0195] Finally, the present invention also provides an embodiment corresponding to a computer-readable storage medium. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps recorded in the above method embodiment are implemented.

[0196] It is understandable that if the method in the above embodiment is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium to execute all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, etc. Various media that can store program codes.

[0197] The above is a detailed introduction to a data encryption method, product, device and medium provided by the present invention. The various embodiments in the specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same and similar parts between the embodiments can be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part description. It should be pointed out that for ordinary technicians in this technical field, without departing from the principle of the present invention, several improvements and modifications can be made to the present invention, and these improvements and modifications also fall within the scope of protection of the present invention.

[0198] It should also be noted that, in this specification, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "comprise", "include" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the statement "comprises a ..." does not exclude the presence of other identical elements in the process, method, article or device including the element.

Claims

1. A data encryption method, characterized in that: include: Obtaining plaintext data to be encrypted, and performing initial permutation on the plaintext data to generate first random order data and second random order data corresponding to the plaintext data; Initiate a loop iteration operation, and sequentially perform an expansion permutation operation and an XOR operation related to a round key on the first random data to generate a target substitution box required for the next iteration; performing an extended permutation operation, a substitution box operation based on a target substitution box of this round, and a substitution box operation on the second disordered data in sequence to generate operation data of this round; Determine a new round of the first disordered data and a new round of the second disordered data according to the first disordered data, the second disordered data and the operation data, so as to perform a new round of iterative operation, until the iteration is completed to generate target disordered data and target operation data; Performing inverse initial permutation on the target disordered data and the target operation data to output encrypted data corresponding to the plaintext data; The determining a new round of the first out-of-order data and a new round of the second out-of-order data according to the first out-of-order data, the second out-of-order data and the operation data includes: Determine whether the first round of iterative calculation has just ended; If yes, use the second random order data as the first random order data of a new round; Using the operation data as the second random data of a new round; If not, taking the XOR operation result of the second random order data and the first random order data of the previous round as the first random order data of the new round; Using the operation data as the second random data of a new round; Generating the target out-of-order data and the target operation data includes: Obtaining the first out-of-order data, the second out-of-order data, and the operation data in the last round of iterative operations, and obtaining the first out-of-order data in the previous round of iterative operations before the last round; Taking the XOR result of the second disordered data in the last round of iterative calculation and the first disordered data in the last round of iterative calculation as the target disordered data; The XOR operation result of the operation data in the last round of iterative operation and the first disordered data in the last round of iterative operation is used as the target operation data.

2. The data encryption method according to claim 1, characterized in that: The obtaining of the plaintext data to be encrypted comprises: Get the initial plaintext data; Sequentially splitting the initial plaintext data into multiple groups of plaintext data according to each group of 64 bits; Determine whether the last set of plaintext data is 64 bits; If yes, output the plaintext data to be encrypted; If not, fill the last set of plaintext data to 64 bits, and output the plaintext data to be encrypted.

3. The data encryption method according to claim 2, characterized in that: The initial permutation of the plaintext data to generate first random order data and second random order data corresponding to the plaintext data includes: Get the initial permutation mapping table; Generate out-of-order data according to the initial permutation mapping table and the plaintext data; Using high 32 bits of the out-of-order data as the first out-of-order data; The lower 32 bits of the out-of-order data are used as the second out-of-order data.

4. The data encryption method according to claim 3, characterized in that: The step of sequentially performing an extended permutation operation and an XOR operation related to a round key on the first disordered data to generate a target substitution box required for the next round of iteration includes: Get the extended permutation table and the round key of this round; The first random data is divided into a plurality of groups of sub-data in sequence; wherein each group of sub-data has 4 bits; Generate the first random order data after expansion according to the expansion substitution table and each group of the sub-data; wherein the first random order data after expansion is 48 bits; An XOR operation is performed based on the expanded first random data and the round key of this round to generate the target substitution box required for the next round of iteration.

5. The data encryption method according to claim 3, characterized in that: The step of sequentially performing an extended permutation operation, a substitution box operation based on the target substitution box, and a substitution box operation on the second disordered data to generate operation data of this round includes: Get the extended permutation table; The second random data is divided into a plurality of groups of sub-data in sequence; wherein each group of sub-data is 4 bits; Generate the expanded second random order data according to the extended substitution table and each group of the sub-data; wherein the expanded second random order data is 48 bits; The expanded second random data is divided into a plurality of groups of input data in sequence; wherein each group of input data is 6 bits; Inputting each set of input data into each substitution sub-box of the target substitution box, so that each substitution sub-box outputs multiple sets of output data according to the relationship between the corresponding input data and the pre-calculated change value in the target substitution box; A substitution box operation is performed on each set of output data to generate the operation data of this round.

6. The data encryption method according to claim 5, characterized in that: Before obtaining the extended substitution table, the method further includes: Determine whether this is the first round of iterative operation; If not, then proceed to the step of obtaining the extended substitution table; If yes, then obtain the initial substitution box generated based on the round key of the first round; The initial substitution box is used as the target substitution box to perform a first round of iterative operations.

7. The data encryption method according to claim 1, characterized in that: The performing inverse initial permutation on the target disordered data and the target operation data to output encrypted data corresponding to the plaintext data includes: Obtain an inverse initial permutation mapping table; Performing an exchange operation on the target out-of-order data and the target operation data; The target random data and the target operation data after the inverse initial permutation mapping table and the exchange operation are subjected to inverse initial permutation to output the encrypted data corresponding to the plaintext data.

8. The data encryption method according to any one of claims 1 to 7, characterized in that: When executing the Triple Data Encryption Standard algorithm, the round key in the cyclic iteration operation is the first key; Correspondingly, after performing the inverse initial permutation on the target disordered data and the target operation data to output the encrypted data corresponding to the plaintext data, the method further includes: Decrypting the encrypted data according to the second key to obtain second plaintext data; The second plaintext data is encrypted according to a third key to obtain triply encrypted data.

9. The data encryption method according to claim 8, characterized in that: Also includes: Generate a digital signature based on the private key and the triple encrypted data; The digital signature and the triple encrypted data are sent to a recipient so that the recipient can verify the digital signature according to a public key corresponding to the private key.

10. The data encryption method according to claim 9, characterized in that: The sending of the digital signature and the triple encrypted data to a recipient includes: Sending the digital signature and the triple encrypted data to a recipient based on a transport layer security protocol; The digital signature and the triple encrypted data are backed up and stored in an encrypted file system.

11. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the steps of the data encryption method according to any one of claims 1 to 10 are implemented.

12. A data encryption device, characterized in that: include: Memory for storing computer programs; A processor, configured to implement the steps of the data encryption method according to any one of claims 1 to 10 when executing the computer program.

13. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the data encryption method according to any one of claims 1 to 10 are implemented.

Citation Information

Patent Citations

  • DES data encryption algorithm based on mobile internet

    CN108270545A

  • Method of realizing data enciphering standard or double data enciphering standard

    CN1527531A