Construction method of dynamic linear diffusion transformation in block cipher

By performing circular decomposition and Boolean function combination on the binomial xn-1, a dynamic linear diffusion transformation on a finite field with characteristic 2 is constructed, which solves the security problem of block cipher algorithms in dynamic environments and improves the efficiency and applicability of the diffusion layer.

CN120639273APending Publication Date: 2025-09-12SPACE STAR TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510634515.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-16
Publication Date
2025-09-12

AI Technical Summary

Technical Problem

When existing block cipher algorithms face security risks such as easy loss or theft, static logic may become a security risk and it is difficult to meet the needs of dynamic cipher design, especially the construction of dynamic linear diffusion transformation over finite fields with characteristic 2.

Method used

By performing cyclotomic decomposition on the binomial xn-1, the complement of the polynomial ring GF(2)[x]/(xn-1) is constructed. A finite number of Boolean function combinations are selected to construct a parameter-containing Boolean balance function, which is rewritten as a multi-variable multi-output Boolean function to realize dynamic linear diffusion transformation over a finite field with characteristic 2.

Benefits of technology

A non-trivial linear permutation is constructed, which is suitable for dynamic ciphers with a block width of a power of 2, improves the implementation efficiency of the diffusion layer, and meets the needs of dynamic cipher design in reality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120639273A_ABST
    Figure CN120639273A_ABST
Patent Text Reader

Abstract

A construction method for dynamic linear diffusion transformation in block cipher comprises the following steps: performing circle decomposition on a binomial expression xn-1 to obtain all irreducible factors in a decomposition formula, recording all irreducible factors in the decomposition formula of xn-1, constructing all main ideal complementary sets generated by a polynomial ring GF (2) [x] / (xn-1) with respect to the irreducible factors, the complementary set is a Boolean function selection range; selecting a limited number of Boolean functions about x in the obtained Boolean function selection range, and constructing a Boolean equilibrium function f (x) containing a parameter by adopting a mode of combining a plurality of functions; combining and arranging the obtained Boolean equilibrium function f (x) containing the parameter, rewriting the Boolean equilibrium function f (x) containing the parameter into a function of a multivariate, and constructing a multi-output Boolean function by adopting a circulation mode, the multi-output Boolean function being required dynamic linear diffusion transformation on a finite field with the characteristic of 2.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a construction method of dynamic linear diffusion transformation in a block cipher, in particular to a construction method of a linear layer with parameters that can be dynamically changed in a block cipher, and belongs to the technical field of dynamic cipher design. Background Art

[0002] Traditional cryptography can be broadly categorized into two main types: symmetric and asymmetric. Symmetric cryptography uses the same key for both encryption and decryption, and currently includes two main implementations: stream ciphers and block ciphers.

[0003] Block ciphers work by dividing plaintext sequences into fixed-length blocks, each of which is processed using the same encryption algorithm and key. This encryption method offers the following advantages: 1. Since modern data is commonly processed and transmitted in blocks, block ciphers are naturally suitable for standardization. 2. Transmission errors or data loss in a single block will not affect the decryption process of other blocks, thus ensuring system reliability.

[0004] In block cipher algorithms, the obfuscation layer is typically implemented using nonlinear S-boxes, while the diffusion layer consists of linear transformation functions. As a key component in the iterative structure of a block cipher, the diffusion layer's primary function is to extend the statistical properties of the plaintext into the ciphertext, causing each ciphertext element to be influenced by multiple plaintext elements while simultaneously making the statistical relationship between the plaintext and ciphertext as complex as possible. This design makes it difficult for an adversary to obtain the key or recover the plaintext, even if they can obtain certain statistical data about the ciphertext. Furthermore, the diffusion layer effectively enhances the obfuscation effect within the cryptographic algorithm. For efficiency reasons, linear functions are often used in practice to construct the diffusion layer.

[0005] In practical applications, cryptographic algorithms or cryptographic equipment face security risks such as easy loss or theft. The fixed logic of traditional static cryptographic algorithms may become a security risk in such a threat environment. To this end, researchers have designed cryptographic algorithms whose algorithm structure or algorithm operation logic can be dynamically transformed. By adding dynamically changing configuration parameters to the nonlinear and linear layers of the block cipher, the algorithm logic can be dynamically changed while ensuring the security of the algorithm. Since the linear layer is a linear function, the added dynamic configuration parameters should also be linear. In other words, this parameter substitution should be a bilinear function of the dynamic parameters and the independent variable. This ensures the efficiency of the diffusion layer.

[0006] Constructing a dynamic linear layer is to construct a linear multi-output vector Boolean permutation with parameters on the vector space, or equivalently to construct a single variable linear permutation with parameters on the finite field.n ) is a set of bases on GF(2), which can be used to build GF(2 n ) and the equivalence between the linear function of a single variable on GF(2) and the linear Boolean vector function of multiple outputs on GF(2). n ) can be transformed into the research vector space GF(2) n Linear vector Boolean function on .

[0007] In 2012, Cao Xiwang gave the finite field GF(2 n ) with parameter b. Ding Cunsheng (2009) and Yuan Pingzhi (2010) presented parameterized linear permutations over finite fields of characteristic 3. Existing methods for parameterized linear permutations are limited to specific finite fields of characteristic 3, or simply perform linear permutations of the form bx, which is difficult to meet the requirements of real-world dynamic cryptography. Therefore, the use of new methods to construct such parameterized permutations has practical applications. Summary of the Invention

[0008] The technical problem solved by the present invention is: to overcome the shortcomings of the existing technology and provide a construction method for dynamic linear diffusion transformation in block ciphers, which can meet the demand for dynamic linear diffusion transformation on a finite field with characteristic 2 in the dynamic cipher design process, and is conducive to promoting the further optimization and application of dynamic block cipher algorithms.

[0009] The technical solution of the present invention is: a method for constructing a dynamic linear diffusion transformation in a block cipher, comprising:

[0010] Step 1. Enter the binomial x n -1 and n-dimensional parameter vector b, for the binomial x n -1 is decomposed into circles to obtain all irreducible factors in the decomposition formula, and the polynomial ring GF(2)[x] / (x n -1) The complement set of all principal ideals generated by irreducible factors is the range of Boolean function selection;

[0011] Step 2: Select a finite number of Boolean functions related to x from the obtained Boolean function selection range, and construct a parameter-containing Boolean equilibrium function f(x) based on the parameter vector b by combining multiple functions.

[0012] Step 3: Merge and organize the obtained parameter-containing Boolean balance functions f(x) and rewrite them into multi-variable functions. Use a loop to construct a multi-output Boolean function, which is the required dynamic linear diffusion transformation on a finite field with characteristic 2.

[0013] Preferably, for the binomial x n-1 is decomposed into circles and all irreducible factors in the decomposition formula are obtained, specifically:

[0014] Step 1-1: Calculate all integer factors d1, d2, ..., d of a positive integer n that are smaller than n. v , where d1,…,d v Different from each other;

[0015] Step 1-2: For all integer factors of n d1, d2, ..., d v Calculate the corresponding cyclotomic polynomials respectively The v cyclotomic polynomials constitute x n A cyclotomic decomposition of -1;

[0016] Steps 1-3: d i ∈{d1,d2,…,d v}, 1≤o≤v, respectively determine whether 2 is modulo d i The original root;

[0017] Step 1-4: If 2 is all modulo d i The primitive root of x n All irreducible factors in the decomposition of -1 are polynomials

[0018] When there is a d i ∈{d1,d2,…,d v}, so that 2 is not modulo d i When the original root of Further decomposition, all indecomposable and All irreducible factors of the decomposition are the binomial x n All irreducible factors in the decomposition of -1.

[0019] Preferably, in steps 1-4, when there is a certain d e ∈{d1,d2,…,d v}, so that 2 is not modulo d e When the original root Further decomposition, specifically:

[0020] Step 1-4-1: Set {0,1,2,…,d e -1} is divided into mutually disjoint cosets A0, A1, A2, ... A according to the power of 2 modulo n t ,…A u ; 0≤t≤u≤d e ;

[0021] Step 1-4-2: Calculate the coset A separately tThe corresponding minimal polynomial where α is a finite field GF(2 n ), the integer k traverses the coset A t Elements in All irreducible factors in the decomposition of are all minimal polynomials

[0022] Preferably, construct a polynomial ring GF(2)[x] / (x n -1) The complement set of all principal ideals (s1(x)), (s2(x)), ... generated by irreducible factors s1(x), s2(x), ... is:

[0023] Steps 1-5: Utilize x n All irreducible factors s1(x),s2(x),… in the decomposition of -1 generate the principal ideals (s1(x)),(s(x)),… respectively;

[0024] Step 1-6: Compute the union of the principal ideals (s1(x)), (s2(x)), ... i (s i (x));

[0025] Step 1-7: Compute the polynomial ring GF(2)[x] / (x n -1) About ∪ i (s i (x))'s complement (GF(2)[x] / (x)) n -1))\∪ i (su(x)).

[0026] Preferably, in step 2, a finite number of linear functions about x are selected, and the parameter-containing Boolean equilibrium function f(x) is constructed by combining multiple functions in the following steps:

[0027] Step 2-1: The Boolean function obtained in step 1 is selected from the range GF(2)[x] / (x n -1)\∪ i (s i (x)) select w Boolean functions k1(x),…,k w (x), w>0;

[0028] Step 2-2: Verify k1(x),…,k w Any linear combination of (x) falls within GF(2)[x] / (x n -1)\∪ i (s i (x)), otherwise return to step 2-1 and reselect k1(x),…,k w (x);

[0029] Step 2-3: Arbitrarily select w parameter vectors b=(b1,b2,…,b n ) of the linear function g1(b),…,g w (b), w>0;

[0030] Step 2-4: Construct a Boolean equilibrium function f(x)=g1(b)k1(x)+g2(b)k2(x)…+g w (b)k w (x).

[0031] Preferably, in step 3, the parameter-containing Boolean balance function f(x) obtained in step 2 is merged and rewritten as a multi-variable function, and a multi-output Boolean function is constructed in a loop, specifically:

[0032] Step 3-1: For the function f(x)=g1(b)k1(x)+g2(b)k2(x)…+g obtained in step 2-4 w (b)k w (x) According to the power of x, we can combine and sort the functions to get the function f0(x)=h0(b)+h1(b)x…+h j (b)x j …+h n-1 (b)x n-1 , where h0(b),…,h j (b),…,h n-1 (b) is a Boolean function with respect to b;

[0033] Step 3-2: Correspond to variable x according to the jth power of x j , 0≤j≤n-1, rewrite f0(x) as a function of multiple variables

[0034] Step 3-3: Calculate the multivariable function according to the following formula

[0035]

[0036] The resulting function The function group is an n-input and n-output multi-output Boolean function, that is, a parameterized dynamic linear diffusion transformation over a finite field with the required characteristic of 2.

[0037] In the second aspect, a block cipher construction method based on dynamic linear diffusion transformation is provided. The block cipher construction process includes five steps: determining parameters, selecting algorithm structure, round function design, key expansion design, and encryption and decryption implementation. It is characterized in that when performing linear transformation and complex transformation construction in the round function design and key expansion design steps, the construction method of dynamic linear diffusion transformation in block cipher as described above is used to construct dynamic linear diffusion transformation in block cipher.

[0038] In a third aspect, a system for constructing a dynamic linear diffusion transformation in a block cipher is provided, characterized by comprising: a Boolean function selection range solving module, a parameter-containing Boolean balance function construction module, and a multi-output Boolean function construction module, wherein:

[0039] Boolean function selection range solving module: receives the input binomial x from external input n -1, for the binomial x n -1 is decomposed into circles to obtain all irreducible factors in the decomposition formula, and the polynomial ring GF(2)[x] / (x n -1) Regarding the complement set of all principal ideals generated by irreducible factors, the complement set is the Boolean function selection range; the Boolean function selection range is output to the parameter-containing Boolean balance function construction module;

[0040] Parameter-containing Boolean balance function construction module: receives an n-dimensional parameter vector b as external input, selects a finite number of Boolean functions about x from the received Boolean function selection range, and constructs a parameter-containing Boolean balance function f(x) based on the parameter vector b by combining multiple functions; outputs the constructed parameter-containing Boolean balance function f(x) to the multi-output Boolean function construction module;

[0041] Multi-output Boolean function construction module: The received parameter-containing Boolean balance functions f(x) are merged and rewritten as multi-variable functions. A multi-output Boolean function is constructed in a loop. The multi-output Boolean function serves as the required dynamic linear diffusion transformation on a finite field with characteristic 2.

[0042] Compared with the prior art, the present invention has the following advantages:

[0043] The method of the present invention can construct a non-trivial linear permutation whose structural form is not bx. Compared with the existing parameter-containing linear permutation construction method, the method of the present invention is more suitable for constructing a linear diffusion layer of a dynamic password with a group width of a power of 2, and better meets the needs of dynamic password design in reality on the basis of ensuring the efficiency of the diffusion layer. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] Figure 1 Flow chart of the method of the present invention. DETAILED DESCRIPTION

[0045] This paper proposes a method for constructing the linear layer in a dynamic transform cipher, addressing the problem that the diffusion layer construction of current dynamic block cipher algorithms cannot meet the requirements of real-world dynamic cipher design. This method can meet the requirements of dynamic cipher design for dynamic linear diffusion transforms over finite fields with characteristic 2, and will promote the further optimization and application of dynamic block cipher algorithms.

[0046] The technical solution of the present invention is: for a finite field GF (2 n ), where n is a positive integer, by selecting a finite number of linear functions, a parameter-containing Boolean equilibrium function is constructed in a combined manner, and the parameter-containing Boolean equilibrium functions are merged, sorted, and rewritten to construct a dynamic linear diffusion transformation on a finite field with a characteristic of 2; including:

[0047] Step 1: Determine the range of Boolean function selection. n -1 to decompose the circle, record x n All irreducible factors in the decomposition of -1 are f1(x),f2(x),…, construct the polynomial ring GF(2)[x] / (x n -1) On the complement set (GF(2)[x] / (x) of all principal ideals (f1(x)), (f2(x)), ... generated by irreducible factors f1(x), f2(x), ... n -1))\∪ i (f i (x)), this set is the selection range of the Boolean function;

[0048] Step 2: Construct a parameterized Boolean equilibrium function. From the range of Boolean functions obtained in step 1, select a finite number of Boolean functions related to x and construct a parameterized Boolean equilibrium function f(x) by combining multiple functions.

[0049] Step 3: Construct a multi-output Boolean function. The parameter-containing Boolean equilibrium functions f(x) obtained in Step 2 are combined and rewritten as multi-variable functions. A multi-output Boolean function is constructed using a loop. This multi-output Boolean function is the desired dynamic linear diffusion transform over a finite field with characteristic 2.

[0050] Furthermore, in step 1, the binomial x n -1 to decompose the circle and obtain all irreducible factors in the decomposition formula can be done as follows:

[0051] Step 1-1: Calculate all integer factors d1, d2, ..., d of a positive integer n that are smaller than n. v , where d1,…,d v Different from each other.

[0052] Step 1-2: For all integer factors of n d1, d2, ..., d v Calculate the corresponding cyclotomic polynomials respectively These v polynomials form x n A cyclotomic decomposition of -1;

[0053] Steps 1-3: Determine whether 2 is modulo d1, d2, ..., d v The original root.

[0054] If all are satisfied, then x n All irreducible factors in the decomposition of -1 are polynomials

[0055] Step 1-4: When there is a certain d i ∈{d1,d2,…,d v}, 1≤i≤v, such that 2 is not modulo d i When the primitive root is obtained, it is necessary to use the set {0,1,2,…,d i -1} modulo n power 2 coset pair Further decomposition, that is: when there is a certain d i ∈{d1,d2,…,d v}, so that 2 is not modulo d i When the original root of Further decomposition, all indecomposable and All irreducible factors of the decomposition are the binomial x n All irreducible factors in the decomposition of -1. The specific steps can be as follows:

[0056] Step 1-4-1: Set {0,1,2,…,d e -1} is divided into mutually disjoint cosets A0, A1, A2, ... A according to the power of 2 modulo n t ,…A u ; 0≤t≤u≤d e ;

[0057] For example, when d i =4, A0={0}, A1={1×2 0 ,1×2 1 ,1×2 2 ,…}mod 7\A0={1,2},A2={3×2 0 ,3×2 1 ,3×2 2 ,…}mod 7\{A0,A1}={3}.

[0058] Step 1-4-2: Calculate set A separately t The corresponding minimal polynomial where α is a finite field GF(2 n ), the integer k traverses the coset A t Elements in . All irreducible factors in the decomposition of are all minimal polynomials

[0059] Step 1-4-3: Binomial x n All irreducible factors in the decomposition of -1 are polynomials All irreducible factors of .

[0060] Furthermore, in step 1, the polynomial ring GF(2)[x] / (x n -1) On the complement set (GF(2)[x] / (x) of all principal ideals (s1(x)), (s2(x)), ... generated by irreducible factors s1(x), s2(x), ... n -1))\∪ i (s i (x)) can be done as follows:

[0061] Steps 1-5: Utilize x n All irreducible factors s1(x), s2(x), ... in the decomposition of -1 generate the principal ideals (s1(x)), (s2(x)), ... respectively;

[0062] Step 1-6: Compute the union of the principal ideals (s1(x)), (s2(x)), ... i (s i (x));

[0063] Step 1-7: Compute the polynomial ring GF(2)[x] / (x n -1) About ∪ i (s i (x))'s complement (GF(2)[x] / (x)) n -1))\∪ i (s i (x)).

[0064] Furthermore, in step 2, a finite number of linear functions about x are selected, and a parameter-containing Boolean balance function f(x) is constructed by combining multiple functions in the following steps:

[0065] Step 2-1: The Boolean function obtained in step 1 is selected from the range GF(2)[x] / (x n -1)\∪ i (s i(x)) select w>0 Boolean functions k1(x),…,k w (x).

[0066] Step 2-2: Verify k1(x),…,k w Any linear combination of (x) falls within GF(2)[x] / (x n -1)\∪ i (s i (x)), otherwise return to step 2-1 and reselect k1(x),…,k w (x).

[0067] Step 2-3: Arbitrarily select w>0 parameter vectors b=(b1,b2,…,b n ) of the linear function g1(b),…,g w (b);

[0068] Step 2-4: Construct a Boolean equilibrium function f(x)=g1(b)k1(x)+g2(b)k2(x)…+g w (b)k w (x).

[0069] Furthermore, in step 3, the parameter-containing Boolean balance function f(x) obtained in step 2 is merged, rewritten, and a multi-output Boolean function is constructed in a loop. This can be done as follows:

[0070] Step 3-1: For the function f(x)=g1(b)k1(x)+g2(b)k2(x)…+g obtained in step 2-4 w (b)k w (x) According to the power of x, we can combine and sort the functions to get the function f0(x)=h0(b)+h1(b)x…+h j (b)x j …+h n-1 (b)x n-1 , where h0(b),…,h j (b),…,h n-1 (b) is a Boolean function with respect to b;

[0071] Step 3-2: Correspond to variable x according to the jth power of x j , 0≤j≤n-1, rewrite f0(x) as a function of multiple variables

[0072] Step 3-3: Calculate the multivariable function according to the following formula

[0073]

[0074] The resulting function The function group is an n-input and n-output vector Boolean function, that is, a parameterized dynamic linear diffusion transformation over a finite field with the required characteristic of 2.

[0075] In a second aspect, the present invention provides a method for constructing a block cipher based on dynamic linear diffusion transformation. The block cipher construction process includes five steps: determining parameters, selecting algorithm structure, designing round functions, designing key expansion, and implementing encryption and decryption. The method is characterized in that when performing linear transformation and complex transformation construction in the round function design and key expansion design steps, the construction method of dynamic linear diffusion transformation in the block cipher as described above is used to construct the dynamic linear diffusion transformation in the block cipher.

[0076] In a third aspect, the present invention provides a system for constructing a dynamic linear diffusion transformation in a block cipher, characterized by comprising: a Boolean function selection range solving module, a parameter-containing Boolean balance function construction module, and a multi-output Boolean function construction module, wherein:

[0077] Boolean function selection range solving module: receives the input binomial x from external input n -1, for the binomial x n -1 is decomposed into circles to obtain all irreducible factors in the decomposition formula, and the polynomial ring GF(2)[x] / (x n -1) Regarding the complement set of all principal ideals generated by irreducible factors, the complement set is the Boolean function selection range; the Boolean function selection range is output to the parameter-containing Boolean balance function construction module;

[0078] Parameter-containing Boolean balance function construction module: receives an n-dimensional parameter vector b as external input, selects a finite number of Boolean functions about x from the received Boolean function selection range, and constructs a parameter-containing Boolean balance function f(x) based on the parameter vector b by combining multiple functions; outputs the constructed parameter-containing Boolean balance function f(x) to the multi-output Boolean function construction module;

[0079] Multi-output Boolean function construction module: The received parameter-containing Boolean balance functions f(x) are merged and rewritten as multi-variable functions. A multi-output Boolean function is constructed in a loop. The multi-output Boolean function serves as the required dynamic linear diffusion transformation on a finite field with characteristic 2.

[0080] Example:

[0081] In order to make the purpose and technical solution of the present invention clearer, the present invention will be further described in detail below with reference to specific examples.

[0082] In existing block cipher algorithms, the length of a block is generally 128 bits or 256 bits wide. This size is a compromise between security and efficiency and can meet the security requirements of most current scenarios. Each block of a block cipher is generally divided into several processing units during linear layer processing, and each division unit is a power of 2 bit. For example, the linear processing part of the national standard algorithm SM4 is 32 bits. The length of the linear processing unit of some block algorithms is a prime number. Therefore, in this specific implementation example, n=2 a , where a is a positive integer.

[0083] Step 1: Determine the selection range of the Boolean function.

[0084] Step 1-1: Calculate all integer factors d1, d2, ..., d of a positive integer n that are smaller than n. v , where d1,…,d v Different from each other.

[0085] In this example, all values ​​less than n=2 a The integer factors of 2 ,…,2 a-1 .

[0086] Step 1-2: For all integer factors of n d1, d2, ..., d v Calculate the corresponding cyclotomic polynomials respectively This v polynomials form x n A cyclotomic decomposition of -1;

[0087] In this example,

[0088] Steps 1-3: Determine whether 2 is modulo d1, d2, ..., d v If all of them are satisfied, then x n All irreducible factors in the decomposition of -1 are polynomials

[0089] In this example, only φ1(x) and φ2(x) are irreducible.

[0090] Step 1-4: When there is a certain d i ∈{d1,d2,…,d v}, so that 2 is not modulo d i When the primitive root is obtained, it is necessary to use the set {0,1,2,…,d i -1} modulo n power 2 coset pair To further decompose, we can follow the following steps:

[0091] Step 1-4-1: Set {0,1,2,…,d i-1} is divided into mutually disjoint cosets A0, A1, A2, ... according to the power of 2 modulo n;

[0092] Step 1-4-2: Calculate the minimal polynomials corresponding to the sets A0, A1, A2, ... respectively where α is a finite field GF(2 n ) is a generator of . All irreducible factors in the decomposition of are all minimal polynomials

[0093] Step 1-4-3: Binomial x n All irreducible factors in the decomposition of -1 are polynomials All irreducible factors of .

[0094] In this example, the binomial x n All irreducible factors in the decomposition of -1 are {x-1}.

[0095] Steps 1-5: Utilize x n All irreducible factors s1(x), s2(x), ... in the decomposition of -1 generate the principal ideals (s1(x)), (s2(x)), ... respectively;

[0096] In this example, the principal ideal generated by the irreducible factor x-1 is (x-1).

[0097] Step 1-6: Compute the union of the principal ideals (s1(x)), (s2(x)), ... i (s i (x));

[0098] In this example, since the only irreducible factor is x-1, there is no need to calculate the union.

[0099] Step 1-7: Compute the polynomial ring GF(2)[x] / (x n -1) About ∪ i (s i (x))'s complement (GF(2)[x] / (x)) n -1))\∪ i (s i (x)).

[0100] In this example, the range of Boolean function selection is (GF(2)[x] / (x n -1))\(x-1).

[0101] Step 2: Construct a parameter-containing Boolean balance function.

[0102] Step 2-1: The Boolean function obtained in step 1 is selected from the range (GF(2)[x] / (xn -1))\(x-1) select w>0 Boolean functions k1(x),…,k w (x).

[0103] In this example, w = 2. Let k1(x) and k2(x) be Boolean functions that satisfy k1(1), k2(1)≠0 and k1(1)+k2(1)≠0.

[0104] Step 2-2: Verify k1(x),…,k w Any linear combination of (x) falls within GF(2)[x] / (x n -1)\∪ i (s i (x)), otherwise return to step 2-1 and reselect k1(x),…,k w (x).

[0105] In this example, k1(x) and k2(x) meet the requirements.

[0106] Step 2-3: Arbitrarily select w>0 parameter vectors b=(b1,b2,…,b n ) of the linear function g1(b),…,g w (b);

[0107] In this example, linear functions g1(b) and g2(b) are taken.

[0108] Step 2-4: Construct a linear equilibrium function f(x)=g1(b)k1(x)+g2(b)k2(x)…+g w (b)k w (x).

[0109] In this example, the linear balance function f(x)=g1(b)k1(x)+g2(b)k2(x).

[0110] Step 3: Construct a multi-output Boolean function.

[0111] Step 3-1: For the function f(x)=g1(b)k1(x)+g2(b)k2(x)…+g obtained in step 2-3 w (b)k w (x) According to the power of x, we can combine and sort the functions to get the function f0(x)=h0(b)+h1(b)x…+h n-1 (b)x n-1 , where h0(b),…,h n-1 (b) is a Boolean function with respect to b;

[0112] Step 3-2: Correspond to variable x according to the jth power of x jRewrite f0(x) as a multivariate function

[0113] Step 3-3: Calculate the multivariable function according to the following formula

[0114]

[0115] The resulting function The function group is an n-input and n-output vector Boolean function, that is, a parameterized dynamic linear diffusion transformation over a finite field with the required characteristic of 2.

[0116] In this example, The function group is 2 a Enter 2 a The vector Boolean function.

[0117] Finally, it should be noted that the above embodiments are only intended to illustrate rather than limit the technical solutions of the present invention. Although the present invention has been described in detail with reference to the above embodiments, those skilled in the art should understand that the present invention can still be modified or replaced by equivalents. Any modification or partial replacement that does not depart from the spirit and scope of the present invention should be included in the scope of the claims of the present invention.

[0118] The contents not described in detail in the specification of the present invention belong to the prior art known to those skilled in the art.

Claims

1. A method for constructing a dynamic linear diffusion transformation in a block cipher, characterized in that include: Step 1. Enter the binomial x n -1 and n-dimensional parameter vector b, for the binomial x n -1 is decomposed into circles to obtain all irreducible factors in the decomposition formula, and the polynomial ring GF(2)[x] / (x n -1) The complement set of all principal ideals generated by irreducible factors is the range of Boolean function selection; Step 2: Select a finite number of Boolean functions related to x from the obtained Boolean function selection range, and construct a parameter-containing Boolean equilibrium function f(x) based on the parameter vector b by combining multiple functions. Step 3: Merge and organize the obtained parameter-containing Boolean balance functions f(x) and rewrite them into multi-variable functions. Use a loop to construct a multi-output Boolean function, which is the required dynamic linear diffusion transformation on a finite field with characteristic 2.

2. The method for constructing a dynamic linear diffusion transformation in a block cipher according to claim 1, wherein: For the binomial x n -1 is decomposed into circles and all irreducible factors in the decomposition formula are obtained, specifically: Step 1-1: Calculate all integer factors d1, d2, ..., d of a positive integer n that are smaller than n. v , where d1,…,d v Different from each other; Step 1-2: For all integer factors of n d1, d2, ..., d v Calculate the corresponding cyclotomic polynomials respectively The v cyclotomic polynomials constitute x n A cyclotomic decomposition of -1; Steps 1-3: d i ∈{d1,d2,…,d v }, 1≤i≤v, respectively determine whether 2 is modulo d i The original root; Step 1-4: If 2 is all modulo d i The primitive root of x n All irreducible factors in the decomposition of -1 are polynomials When there is a d i ∈{d1,d2,…,d v }, so that 2 is not modulo d i When the original root of Further decomposition, all indecomposable and All irreducible factors of the decomposition are the binomial x n All irreducible factors in the decomposition of -1.

3. The method for constructing a dynamic linear diffusion transformation in a block cipher according to claim 2, wherein: In steps 1-4, when there is a d e ∈{d1,d2,…,d v }, so that 2 is not modulo d e When the original root Further decomposition, specifically: Step 1-4-1: Set {0,1,2,…,d e -1} is divided into mutually disjoint cosets A0, A1, A2, ... A according to the power of 2 modulo n t ,…A u ; 0≤t≤u≤d e ; Step 1-4-2: Calculate the coset A separately t The corresponding minimal polynomial where α is a finite field GF(2 n ), the integer k traverses the coset A t Elements in All irreducible factors in the decomposition of are all minimal polynomials 4. The method for constructing a dynamic linear diffusion transformation in a block cipher according to claim 2, wherein: Construct a polynomial ring GF(2)[x] / (x n -1) The complement set of all principal ideals (s1(x)), (s2(x)), ... generated by irreducible factors s1(x), s2(x), ... is: Step 1-5: Utilize x n All irreducible factors s1(x),s2(x),… in the decomposition of -1 generate the principal ideals (s1(x)),(s(x)),… respectively; Step 1-6: Compute the union of the principal ideals (s1(x)), (x2(x)), … i (s i (x)); Step 1-7: Compute the polynomial ring GF(2)[x] / (x n -1) About ∪ i (s i (x))'s complement (GF(2)[x] / (x)) n -1))\∪ i (s i (x)).

5. The method for constructing a dynamic linear diffusion transformation in a block cipher according to claim 1, wherein: In step 2, a finite number of linear functions about x are selected, and the construction of a parameter-containing Boolean equilibrium function f(x) by combining multiple functions can be carried out as follows: Step 2-1: The Boolean function obtained in step 1 is selected from the range GF(2)[x] / (x n -1)\∪ i (s i (x)) select w Boolean functions k1(x),…,k w (x), w>0; Step 2-2: Verify k1(x),…,k w Any linear combination of (x) falls within GF(2)[x] / (x n -1)\∪ i (s i (x)), otherwise return to step 2-1 and reselect k1(x),…,k w (x); Step 2-3: Arbitrarily select w parameter vectors b=(b1,b2,…,b n ) of the linear function g1(b),…,g w (b), w>0; Step 2-4: Construct a Boolean equilibrium function f(x)=g1(b)k1(x)+g2(b)k2(x)…+g w (b)k w (x).

6. The method for constructing a dynamic linear diffusion transformation in a block cipher according to claim 1, wherein: In step 3, the parameter-containing Boolean balance function f(x) obtained in step 2 is merged and rewritten as a multi-variable function, and a multi-output Boolean function is constructed in a loop, specifically: Step 3-1: For the function f(x)=g1(b)k1(x)+g2(b)k2(x)…+g obtained in step 2-4 w (b)k w (x) According to the power of x, we can combine and sort the functions to get the function f0(x)=h0(b)+h1(b)x…+h j (b)x j …+h n-1 (b)x n-1 , where h0(b),…,h j (b),…,h n-1 (b) is a Boolean function with respect to b; Step 3-2: Correspond to variable x according to the jth power of x j , 0≤j≤n-1, rewrite f0(x) as a function of multiple variables Step 3-3: Calculate the multivariable function according to the following formula The resulting function The function group is an n-input and n-output multi-output Boolean function, that is, a parameterized dynamic linear diffusion transformation over a finite field with the required characteristic of 2.

7. A block cipher construction method based on dynamic linear diffusion transformation, the block cipher construction process comprising: The method comprises the following five steps: determining parameters, selecting an algorithm structure, designing a round function, designing a key expansion, and implementing encryption and decryption. The method is characterized in that when performing linear transformation and complex transformation construction in the round function design and key expansion design steps, the method for constructing a dynamic linear diffusion transformation in a block cipher as described in any one of claims 1 to 6 is used to construct a dynamic linear diffusion transformation in a block cipher.

8. A system for constructing dynamic linear diffusion transformation in block ciphers, characterized by include: Boolean function selection range solving module, parameter-containing Boolean balance function construction module, multi-output Boolean function construction module, among which: Boolean function selection range solving module: receives the input binomial x from external input n -1, for the binomial x n -1 is decomposed into circles to obtain all irreducible factors in the decomposition formula, and the polynomial ring GF(2)[x] / (x n -1) Regarding the complement set of all principal ideals generated by irreducible factors, the complement set is the Boolean function selection range; the Boolean function selection range is output to the parameter-containing Boolean balance function construction module; Parameter-containing Boolean balance function construction module: receives an n-dimensional parameter vector b as external input, selects a finite number of Boolean functions about x from the received Boolean function selection range, and constructs a parameter-containing Boolean balance function f(x) based on the parameter vector b by combining multiple functions; outputs the constructed parameter-containing Boolean balance function f(x) to the multi-output Boolean function construction module; Multi-output Boolean function construction module: The received parameter-containing Boolean balance functions f(x) are merged and rewritten as multi-variable functions. A multi-output Boolean function is constructed in a loop. The multi-output Boolean function serves as the required dynamic linear diffusion transformation on a finite field with characteristic 2.