A Physical Layer Information Encryption Method Based on Infinite-Dimensional Hyperchaos
The hyperchaotic encryption method addresses security issues in industrial IoT data transmission by using infinite-dimensional hyperchaotic systems and logistic mapping for secure key generation and encryption, enhancing resistance to attacks.
Patent Information
- Application Number
- CN202210708061.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-21
- Publication Date
- 2025-07-15
- Estimated Expiration
- 2042-06-21
AI Technical Summary
Among the existing industrial Internet of Things encryption methods, low-dimensional chaotic systems are easily deciphered, systems with fewer parameters or small value ranges have poor resistance to brute force attacks, the key distribution system is not safe, and is vulnerable to selective plaintext attacks or differential attacks, and data security is threatened.
The infinite-dimensional hyperchaotic system and Logistic mapping are combined with the dynamic Hash key function, and temporary marks are calculated through channel phase and amplitude to generate dynamic keys. The infinite-dimensional hyperchaotic system and Logistic mapping are used to generate random number position index sequences, and information encryption is encrypted by combining mark diffusion and S-box obfuscation operations.
Improve encryption security, enhance the ability to resist malicious attacks by eavesdroppers, the key space reaches unlimited theory, dynamic key streams improve security, and the new S-box has stronger attack resistance and security performance.
Smart Images

Figure CN115102685B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of information security, and particularly relates to a physical layer information encryption method based on infinite-dimensional hyperchaos. Background Art
[0002] The 5G wireless communication era has promoted the leapfrog progress of all walks of life, giving rise to many new application scenarios, such as industrial Internet of Things communication, millimeter-wave communication, and massive multiple-input multiple-output communication. The information content security and privacy on wireless communication nodes are also becoming a concern. The main contribution of encryption algorithms is to provide a secure method for transmitting or storing sensitive information. Currently, traditional cryptographic technologies have been applied to the defense systems of the industrial Internet of Things. The data transmission in the industrial Internet of Things has characteristics such as large data volume, high redundancy, and strong correlation, which makes the reliability of some traditional cryptographic mechanisms (such as DES algorithm, ZUC algorithm, RSA algorithm, etc.) no longer meet the requirements.
[0003] Due to the characteristics of initial value parameter sensitivity, randomness, ergodicity, etc. of chaotic systems, they are very suitable for digital encryption. However, there are still many problems and deficiencies in traditional chaotic encryption algorithms. For example, for encryption methods using low-dimensional chaotic systems, phase space reconstruction and nonlinear prediction methods can be used for deciphering. And for chaotic systems with fewer parameters or a small parameter value range, their ability to resist brute-force attacks is poor. Infinite-dimensional hyperchaotic systems have very complex dynamic behaviors. Due to their theoretically infinite-dimensional characteristics in the parameter domain of continuous delay intervals, they have more excellent performance compared with general chaotic systems. However, there are also deficiencies in encryption methods based on infinite-dimensional hyperchaotic systems, such as the low security of the key distribution system, etc., which are vulnerable to selective plaintext attacks or differential attacks, threatening data security. Summary of the Invention
[0004] (1) Technical Problems to be Solved
[0005] The technical problem to be solved by the present invention is: how to provide a physical layer information encryption method based on infinite-dimensional hyperchaos.
[0006] (2) Technical Solutions
[0007] To solve the above technical problems, the present invention provides a physical layer information encryption method based on infinite-dimensional hyperchaos, and the method includes the following steps:
[0008] Step 1: Calculate temporary markers NN and AA through the channel phase of the current communication and amplitude A, and set the initial values of the relevant parameters of the infinite-dimensional hyperchaotic system and the Logistic map;
[0009] The said Step 1 includes:
[0010] Step 1.1: Estimate the channel state among current legitimate users to obtain the channel phase information and amplitude A, and calculate the temporary tags NN and AA through formula (1);
[0011]
[0012] AA = 3.8 + 0.2cos(A) (1)
[0013] Then assign the value of NN to the parameter c in the infinite-dimensional hyperchaotic system (2), and assign the value of AA to the parameter μ in the Logistic map (3);
[0014] Step 1.2: Generate a key using the infinite-dimensional hyperchaotic system, and its mathematical model is expressed as:
[0015]
[0016] where a, b, c are the control parameters of the infinite-dimensional hyperchaotic system, x, y, z are the state variables of the infinite-dimensional hyperchaotic system, k is the feedback gain, τ>0 is the delay time, given the control parameters a, b, k, τ of the infinite-dimensional hyperchaotic attractor system, and let the parameter c = NN;
[0017] Generate a random number position index sequence using the Logistic map, and its mathematical model is expressed as:
[0018] u n+1 = μu n (1 - u n ) (3)
[0019] where u is the system state variable, the subscript n represents the iteration number, μ is the control parameter, given the control parameter μ = AA of the Logistic map, and the initial value u0 is the same as the initial value x0 of the state x of the infinite-dimensional hyperchaotic system;
[0020] Step 2: Generate a 512-bit dynamic key DK using the dynamic Hash key function based on the infinite-dimensional hyperchaos. The dynamic Hash key function takes the preamble information S q , the initial vector I0 and the temporary tags NN and AA obtained in Step 1.2 as inputs, and outputs a 512-bit key DK. Among them, the preamble information S q is a training sequence in the frame structure, and the initial vector I0 is a binary sequence agreed upon by both the sender and the receiver, with a length of L1 + L2 + L3;
[0021] The said Step 2 includes:
[0022] Step 2.1: Divide the preamble information S q into blocks, and divide Sq Grouped by 128-bit binary sequences per block, a total of groups, where len is the total number of groups and length(.) is to obtain the sequence length, indicating the ceiling operation;
[0023] Step 2.2: Divide the initial vector I0 into three binary sequences with lengths L1, L2, and L3 respectively. Perform transformations on these three sequences and assign values to the initial values x0, y0, and z0 of the hyperchaotic system in sequence, using the following formula (4) for operation;
[0024] x0 = 0.5 + (I0(1:L1))2
[0025] y0 = 0.5 + (I0(L1 + 1:L1 + L2))2
[0026] z0 = 0.5 + (I0(L1 + L2 + 1:length(I0)))2 (4)
[0027] where (.)2 represents the operation of converting the binary sequence into a decimal fraction in the range of [0,1] by bit weighting;
[0028] Step 2.3: According to the parameters of the infinite-dimensional hyperchaotic system set in Step 1 and the initial conditions set in Step 2.2, let the infinite-dimensional hyperchaotic system (2) evolve for a time T1 (T1 is large enough). Perform diffusion processing on the three output system state sequences x(t), y(t), and z(t) (t ∈ [0, T1]) to obtain state quantities X′, Y′, and Z′ in the range of [-1,1]. The state diffusion operation is shown in the following formula:
[0029] X′ = 2 * (x * 10 8 - round(x * 10 8 ))
[0030] Y′ = 2 * (y * 10 8 - round(y * 10 8 ))
[0031] Z′ = 2 * (z * 10 8 - round(z * 10 8 )) (5)
[0032] where round(.) represents the rounding operation;
[0033] Step 2.4: Given that the initial value u0 of the Logistic map is equal to x0 obtained in Step 2.2, iterate the Logistic map (3) for L1 + L2 + L3 times, and preprocess the output sequence to obtain the position index sequence. The preprocessing is as follows:
[0034] U k = mod(u k * 10 8 , 1024) (6)
[0035] where k = 1, ..., L1 + L2 + L3, and U k is the k-th system output state after processing the state quantity u k , and mod(a, b) represents the operation of finding the remainder of a divided by b;
[0036] Step 2.5: Use the position index sequence obtained in Step 2.4 to perform position selection on the state quantities X′, Y′, and Z′ obtained in Step 2.3, and then take the signs of the values in the three sequences and quantize them into binary sequences to obtain X″k, Y″k, and Z″k. This process is shown in the following formula:
[0037]
[0038] where sgn(.) represents the sign-taking operation;
[0039] Step 2.6: Perform an exclusive OR operation on the preamble information sequence in Step 2.1 and the binary sequence obtained in Step 2.5, as shown in the following formula:
[0040] W k = xor(W k , S1(k)), k = 1, ..., L1 + L2 + L3, (8)
[0041] where xor(.) represents the bitwise exclusive OR operation. Use W k to update the initial vector I0 in Step 2.2; thus, the processing of the first block in S q is completed;
[0042] Step 2.7: Perform a loop according to Steps 2.2 to 2.6. When processing the (len - 1)-th block, that is, when processing the information sequence S len-1 , stop the loop; in the last loop, when the system runs to Step 2.4, since a 512-bit key output needs to be constructed, only in the last operation, update the values of L1, L2, and L3 after Step 2.4 to L′1, L′2, and L′3 (L′1 + L′2 + L′3 = 512), select the new sequences composed of L′1 bits, L′2 bits, and L′3 bits of the state quantities X′, Y′, and Z′, and quantize them into binary sequences and serially link them. Thus, the final 512-bit binary sequence is obtained as the dynamic key DK;
[0043] Step 3: Use the lower 256 bits of the dynamic key DK obtained in Step 2 to set the parameters of the infinite-dimensional hyperchaotic system. The output sequence is processed and used to perform label diffusion on the plaintext message P to obtain the ciphertext C′;
[0044] The said Step 3 includes:
[0045] Step 3.1: Convert the plaintext message of any length into a one-dimensional binary plaintext data stream P;
[0046] Step 3.2: Take the lower 256 bits of the dynamic key DK obtained in Step 2 and assign values to the parameters and initial state values of the infinite-dimensional hyperchaotic system. Specifically, divide the lower 256 bits of DK into two large groups, each group with 128 bits. Then divide one large group into three small groups with bit sequences of lengths L4, L5, and L6 respectively. Then, assign these six binary sequences to the three control parameters a, b, c and the three initial state values x0, y0, z0 of the infinite-dimensional hyperchaotic system respectively;
[0047] Step 3.3: Evolve the infinite-dimensional hyperchaotic system (2) for T2 time, and use Equation (5) to perform diffusion processing on the output states x(t) and y(t) (t ∈ [0, T2]) of the hyperchaotic system to obtain the transformed state quantities X′1 and Y1′. Perform preprocessing on the state quantities X′1 and Y1′ as in Equation (9) to obtain two key sequences K1 and K2 within the range of [0, 255];
[0048] K1 = round(mod(X′1 ′(end - length(P)+1:end)*10 8 , 255))
[0049] K2 = round(mod(Y1′(end - length(P)+1:end)*10 8 , 255)), (9)
[0050] where, round(.) represents the rounding operation, and the lengths of the two key sequences are both the same as that of P;
[0051] Step 3.4: Calculate the label value Mr and the initial ciphertext C′(1). Define the loop variable j = 1:length(P) to represent processing the j-th bit of the plaintext. Calculate the label value Mr and the initial ciphertext C′(1) using the following formula:
[0052]
[0053]
[0054] Step 3.5, starting from the second bit of the plaintext, perform loop diffusion according to the following formula:
[0055] C′(i) = bitxor(mod(P(i) + K1(i), 256), mod(C′(i - 1) + K2(i) + Mr * 1000, 256))(11)
[0056] where i = 2, 3,..., length(P), bitxor(a, b) represents the operation of converting a and b into binary numbers, performing bitwise exclusive OR, and then converting back to decimal numbers. And for each bit of the plaintext processed, the marker value Mr is updated once according to the following formula:
[0057] Mr = Mr - P(i), (12)
[0058] After (length(P) - 1) loops, the diffusion operation of all plaintext information is completed, and a one-dimensional ciphertext sequence C′ is obtained;
[0059] Step 4: Use the high 256 bits of the dynamic key DK obtained in Step 2 to set the parameters of the infinite-dimensional hyperchaotic system. The output sequence is processed and used for S-box confusion operation on the ciphertext C′ to obtain the encrypted ciphertext C;
[0060] The said Step 4 includes:
[0061] Step 4.1: Take the high 256 bits of the dynamic key DK obtained in Step 2 and divide them into six groups of binary sequences. These six binary sequences are respectively used to assign values to the three control parameters a, b, c and the three state initial values x0, y0, z0 of the infinite-dimensional hyperchaotic system;
[0062] Step 4.2: Evolve the infinite-dimensional hyperchaotic system (2) for T3 time. Use Equation (5) to perform diffusion processing on the output states x(t), y(t) and z(t) (t ∈ [0, T3]) of the hyperchaotic system to obtain the state quantities X′2, Y′2 and Z′2. Define M * N * K as the length of the one-dimensional plaintext. Then, for the end of the evolution of the three states, sequences with lengths of M, N and K * M * N are taken respectively for numerical transformation to obtain new sequences RX, RY and RZ. The numerical transformation is shown in the following formula:
[0063] RX = round(mod(X′2(end - M + 1:end) * 10 8 , M))
[0064] RY = round(mod(Y′2(end - N + 1:end) * 10 8 , N))
[0065] RZ = round(mod(Z′2(end - (K * M * N) + 1:end) * 10 8 , K * M * N)) (13)
[0066] Then, the sequence RZ is reorganized into an M*N*K matrix;
[0067] Step 4.3: Respectively arrange the obtained RX, RY, and RZ in descending order to obtain three groups of arranged sequences, and determine the position index values of the arranged sequences to form three S-boxes, namely SX, SY, and SZ, as shown in the following formula:
[0068] SX = sort(RX)
[0069] SY = sort(RY)
[0070] SZ = sort(RZ) (14)
[0071] Wherein, sort(.) represents arranging the sequence therein in descending order and outputting the position index sequence of the arranged sequence. Among them, SX and SY are two one-dimensional vectors with lengths of M and N respectively, and their ranges are [1, M] and [1, N]. Since RZ is an M*N*K matrix, the arranged output index value sorts the K elements in its M rows and N columns in descending order. Therefore, the position index matrix SZ is composed of M*N groups of elements with a range of [1, K];
[0072] Step 4.4: Reorganize the one-dimensional ciphertext C' obtained in Step 3 into an M*N*K matrix, and then perform a confusion permutation operation using the three groups of S-boxes obtained in Step 4.3 to obtain the confused ciphertext C. The confusion permutation rule is to set loop variables ii = 1:M, jj = 1:N, vv = 1:K, and perform loop confusion permutation according to the following formula:
[0073] C(ii, jj, vv) = C'(SX(ii), SY(jj), SZ(ii, jj, vv)) (15)
[0074] A total of M*N*K times of loop confusion permutation are performed, and then it is reorganized into a one-dimensional ciphertext matrix C, which is the encrypted ciphertext information.
[0075] (III) Beneficial effects
[0076] In order to improve the security of data transmission in the current industrial Internet of Things, the present invention proposes a physical layer information encryption method based on infinite-dimensional hyperchaos to improve the security of data transmission and enhance the ability to resist malicious attacks by eavesdroppers in a complex environment. The purpose of the present invention is to provide a physical layer information encryption method based on infinite-dimensional hyperchaos to solve the problems of simple encryption process and low security of the key distribution system in the existing physical layer data transmission method of industrial Internet of Things.
[0077] Compared with the prior art, the present invention has the following beneficial effects:
[0078] (1) When the present invention uses an infinite-dimensional hyperchaotic system for plaintext information encryption, the key space can reach the theoretical infinite dimension; (2) The present invention uses the channel information between legitimate users as the input of the dynamic Hash key function based on infinite-dimensional hyperchaos to obtain a dynamic key for encryption, achieving higher security; (3) The present invention uses the characteristics of the infinite-dimensional hyperchaotic system to generate a new type of S-box, which has stronger anti-attack ability and better security performance compared with the traditional S-box. Brief Description of the Drawings
[0079] Figure 1 is the overall block diagram of the encryption method of the present invention;
[0080] Figure 2 is the block diagram for generating the infinite-dimensional hyperchaotic Hash-512 key of the encryption method of the present invention;
[0081] Figure 3 is the attractor diagram of the infinite-dimensional hyperchaotic system of the encryption method of the present invention;
[0082] Figure 4 is the preprocessing diagram of the infinite-dimensional hyperchaotic state sequence of the encryption method of the present invention;
[0083] Figure 5 is the "Lena" image before encryption of the encryption method of the present invention;
[0084] Figure 6 is the "Lena" image after encryption of the encryption method of the present invention;
[0085] Figure 7 is the pixel distribution histogram of the "Lena" image after encryption of the encryption method of the present invention;
[0086] Figure 8 is the analysis diagram of the correlation between adjacent pixels in the horizontal direction before encryption of the encryption method of the present invention;
[0087] Figure 9 is the analysis diagram of the correlation between adjacent pixels in the horizontal direction after encryption of the encryption method of the present invention. Detailed Embodiment
[0088] To make the objectives, contents, and advantages of the present invention clearer, the following further describes in detail the specific embodiments of the present invention with reference to the drawings and embodiments.
[0089] To solve the above technical problems, the present invention provides a physical layer information encryption method based on infinite-dimensional hyperchaos, and the method includes the following steps:
[0090] Step 1: Through the channel phase of the current communication Calculate the temporary tags NN and AA for the amplitude A, and set the initial values of the relevant parameters of the infinite-dimensional hyperchaotic system and the Logistic map;
[0091] The said step 1 includes:
[0092] Step 1.1: Estimate the channel state among current legitimate users to obtain the channel phase information and the amplitude A, and calculate the temporary tags NN and AA through formula (1);
[0093]
[0094] AA = 3.8 + 0.2cos(A) (1)
[0095] Then assign the value of NN to the parameter c in the infinite-dimensional hyperchaotic system (2), and assign the value of AA to the parameter μ in the Logistic map (3);
[0096] Step 1.2: Use the infinite-dimensional hyperchaotic system to generate a key, and its mathematical model is expressed as:
[0097]
[0098] where a, b, c are the control parameters of the infinite-dimensional hyperchaotic system, x, y, z are the state variables of the infinite-dimensional hyperchaotic system, k is the feedback gain, τ > 0 is the delay time, the control parameters a, b, k, τ of the infinite-dimensional hyperchaotic attractor system are given, and let the parameter c = NN;
[0099] Use the Logistic map to generate a random number position index sequence, and its mathematical model is expressed as:
[0100] u n+1 = μu n (1 - u n ) (3)
[0101] where u is the system state variable, the subscript n represents the iteration number, μ is the control parameter, the control parameter μ = AA of the Logistic map is given, and the initial value u0 is the same as the initial value x0 of the state x of the infinite-dimensional hyperchaotic system;
[0102] Step 2: Use the dynamic Hash key function based on the infinite-dimensional hyperchaos to generate a 512-bit dynamic key DK. The dynamic Hash key function takes the preamble information S q 、the initial vector I0 and the temporary tags NN and AA obtained in step 1.2 as inputs, and outputs a 512-bit key DK. Among them, the preamble information S q is a training sequence segment in the frame structure, and the initial vector I0 is a binary sequence agreed upon by both the sender and the receiver, with a length of L1 + L2 + L3;
[0103] Step 2 includes:
[0104] Step 2.1: Divide the preamble information S q into blocks, and group S q into groups of 128-bit binary sequences per block, with a total of groups, where len is the total number of groups and length(.) is to obtain the sequence length, indicating the ceiling operation;
[0105] Step 2.2: Divide the initial vector I0 into three binary sequences with lengths L1, L2, and L3 respectively, and perform transformations on these three sequences to assign values to the initial values x0, y0, z0 of the hyperchaotic system in sequence, using the following formula (4) for operation;
[0106] x0 = 0.5 + (I0(1:L1))2
[0107] y0 = 0.5 + (I0(L1+1:L1+L2))2
[0108] z0 = 0.5 + (I0(L1+L2+1:length(I0)))2 (4)
[0109] where (.)2 represents the operation of converting the binary sequence into a decimal fraction in the range of [0,1] by bit weighting;
[0110] Step 2.3: According to the parameters of the infinite-dimensional hyperchaotic system set in Step 1 and the initial conditions set in Step 2.2, let the infinite-dimensional hyperchaotic system (2) evolve for a time T1 (T1 is large enough), and perform diffusion processing on the three output system state sequences x(t), y(t), and z(t) (t∈[0,T1]) to obtain state quantities X′, Y′, and Z′ in the range of [-1,1]. The state diffusion operation is shown by the following formula:
[0111] X′ = 2 * (x * 10 8 - round(x * 10 8 ))
[0112] Y′ = 2 * (y * 10 8 - round(y * 10 8 ))
[0113] Z′ = 2 * (z * 10 8 - round(z * 10 8 )) (5)
[0114] where round(.) represents the rounding operation;
[0115] Step 2.4: Given that the initial value u0 of the Logistic map is equal to x0 obtained in Step 2.2, iterate the Logistic map (3) for L1+L2+L3 times, and preprocess the output sequence to obtain a position index sequence. The preprocessing is as follows:
[0116] U k = mod(u k * 10 8 , 1024) (6)
[0117] where k = 1, ..., L1+L2+L3, and U k is the k-th system output state u k after processing. mod(a, b) represents the operation of taking the remainder of a divided by b;
[0118] Step 2.5: Use the position index sequence obtained in Step 2.4 to select positions for the state quantities X′, Y′, and Z′ obtained in Step 2.3, and then take the signs of the values in the three sequences and quantize them into binary sequences to obtain X″ k 、Y″ k and Z″ k , and this process is shown as follows:
[0119]
[0120] where sgn(.) represents the sign-taking operation;
[0121] Step 2.6, perform an exclusive OR operation on the preamble information sequence in Step 2.1 and the binary sequence obtained in Step 2.5, as shown below:
[0122] W k = xor(W k , S1(k)), k = 1, ..., L1+L2+L3, (8)
[0123] where xor(.) represents the bitwise exclusive OR operation. Use W k to update the initial vector I0 in Step 2.2; thus, the processing of the first block in S q is completed;
[0124] Step 2.7, perform a loop according to Steps 2.2 to 2.6. When processing the (len - 1)-th block, that is, processing the information sequence S len-1Stop the loop; in the last loop, when the system runs to step 2.4, since a 512-bit key output needs to be constructed, only in the last operation, update the values of L1, L2, and L3 after step 2.4 to L′1, L′2, and L′3 (L′1 + L′2 + L′3 = 512), select a new sequence composed of L′1 bits, L′2 bits, and L′3 bits of the state variables X′, Y′, and Z′, and quantize it into a binary sequence and serially link it. Thus, the final 512-bit binary sequence is obtained as the dynamic key DK;
[0125] Step 3: Use the lower 256 bits of the dynamic key DK obtained in step 2 to set the parameters of the infinite-dimensional hyperchaotic system, and the output sequence is processed to perform label diffusion on the plaintext message P to obtain the ciphertext C′;
[0126] The said step 3 includes:
[0127] Step 3.1: Convert the plaintext message of any length into a one-dimensional binary plaintext data stream P;
[0128] Step 3.2: Take the lower 256 bits of the dynamic key DK obtained in step 2, and assign values to the parameters and state initial values of the infinite-dimensional hyperchaotic system. Specifically, divide the lower 256 bits of DK into two large groups, each group with 128 bits, then divide one large group into three small groups with bit sequences of lengths L4, L5, and L6 respectively, and then assign these six binary sequences to the three control parameters a, b, c and the three state initial values x0, y0, z0 of the infinite-dimensional hyperchaotic system respectively;
[0129] Step 3.3: Evolve the infinite-dimensional hyperchaotic system (2) for T2 time, and use formula (5) to perform diffusion processing on the output states x(t) and y(t) (t ∈ [0, T2]) of the hyperchaotic system to obtain the transformed state variables X′1 and Y′1, and perform preprocessing on the state variables X′1 and Y1′ as in formula (9) to obtain two key sequences K1 and K2 with ranges between [0, 255];
[0130] K1 = round(mod(X′1(end - length(P)+1:end)*10 8 , 255))
[0131] K2 = round(mod(Y1′(end - length(P)+1:end)*10 8 , 255)), (9)
[0132] where, round(.) represents the rounding operation, and the lengths of the two key sequences are both the same as P;
[0133] Step 3.4: Calculate the marker value Mr and the initial ciphertext C′(1). Define the loop variable j = 1:length(P) to represent processing the j-th bit of the plaintext. Calculate the marker value Mr and the initial ciphertext C′(1) using the following formula:
[0134]
[0135]
[0136] Step 3.5, starting from the second bit of the plaintext, perform loop diffusion according to the following formula:
[0137] C′(i) = bitxor(mod(P(i)+K1(i),256),mod(C′(i - 1)+K2(i)+Mr*1000,256))(11)
[0138] where i = 2, 3,..., length(P), bitxor(a, b) represents the operation of converting a and b into binary numbers, performing bitwise exclusive OR, and then converting back to decimal numbers. And for each bit of the plaintext processed, the marker value Mr is updated once according to the following formula:
[0139] Mr = Mr - P(i), (12)
[0140] After length(P) - 1 loops, complete the diffusion operation of all plaintext information to obtain a one-dimensional ciphertext sequence C′;
[0141] Step 4: Use the high 256 bits of the dynamic key DK obtained in Step 2 to set the parameters of the infinite-dimensional hyperchaotic system. The output sequence is processed and used to perform S-box confusion operation on the ciphertext C′ to obtain the encrypted ciphertext C;
[0142] The said Step 4 includes:
[0143] Step 4.1: Take the high 256 bits of the dynamic key DK obtained in Step 2 and divide them into six groups of binary sequences. Assign these six binary sequences to the three control parameters a, b, c and the three state initial values x0, y0, z0 of the infinite-dimensional hyperchaotic system respectively;
[0144] Step 4.2: Evolve the infinite-dimensional hyperchaotic system (2) for T3 time. Use formula (5) to perform diffusion processing on the output states x(t), y(t) and z(t) (t ∈ [0, T3]) of the hyperchaotic system to obtain the state quantities X′2, Y′2 and Z′2. Define M*N*K as the length of the one-dimensional plaintext. Then, for the ends of the evolutions of the three states respectively, take sequences of lengths M, N and K*M*N and perform numerical transformation to obtain new sequences RX, RY and RZ. The numerical transformation is shown in the following formula:
[0145] RX=round(mod(X′2(end-M+1:end)*10 8 ,M))
[0146] RY=round(mod(Y′2(end-N+1:end)*10 8 ,N))
[0147] RZ=round(mod(Z′2(end-(K*M*N)+1:end)*10 8 ,K*M*N)) (13)
[0148] Then reshape the sequence RZ into an M*N*K matrix;
[0149] Step 4.3: Arrange RX, RY and RZ obtained in step 4.2 from large to small to obtain three groups of arranged sequences, and determine the position index values of the arranged sequences to form three groups of S-boxes, namely SX, SY and SZ, as shown in the following formula:
[0150] SX=sort(RX)
[0151] SY=sort(RY)
[0152] SZ=sort(RZ) (14)
[0153] Among them, sort(.) means to sort the sequence from large to small and output the position index sequence of the sorted sequence, where SX and SY are two one-dimensional vectors with lengths of M and N respectively, and their ranges are [1,M] and [1,N] respectively. Since RZ is an M*N*K matrix, the index value of its arrangement output is to sort the K elements in its M rows and N columns from large to small, so the position index matrix SZ is composed of M*N groups of elements with a range of [1,K];
[0154] Step 4.4: Reorganize the one-dimensional ciphertext C′ obtained in step 3 into an M*N*K matrix, and then use the three groups of S-boxes obtained in step 4.3 to perform confusion permutation operations to obtain the obfuscated ciphertext C. The confusion permutation rule is to set the loop variables ii=1:M, jj=1:N, vv=1:K, and perform cyclic confusion permutation according to the following formula:
[0155] C(ii,jj,vv)=C′(SX(ii),SY(jj),SZ(ii,jj,vv)) (15)
[0156] A total of M*N*K cyclic confusion permutations are performed, and then the matrix is reorganized into a one-dimensional ciphertext matrix C, which is the encrypted ciphertext information.
[0157] Example 1
[0158] In this embodiment, referring to Figure 1 and Figure 2 , they are respectively the overall design block diagram of the encryption method of the present invention and the Hash-512 key generation block diagram based on infinite-dimensional hyperchaos, and are specifically implemented according to the following steps:
[0159] Step 1, calculate the temporary tags NN and AA through the channel phase and amplitude A of the current communication, and set the initial values of the relevant parameters of the infinite-dimensional hyperchaotic system and the Logistic map;
[0160] Specifically, it is implemented according to the following steps:
[0161] Step 1.1, estimate the channel state between current legitimate users to obtain the channel phase information and amplitude A, and calculate the temporary tags NN and AA through (1),
[0162]
[0163] AA = 3.8 + 0.2cos(A), (1)
[0164] Then assign the value of NN to the parameter c of the infinite-dimensional hyperchaotic system (2), and assign the value of AA to the parameter μ of the Logistic map (3);
[0165] In the embodiment, estimate the channel state between current legitimate users through the channel estimation method to obtain its phase information amplitude information A = 0.7735, calculate the temporary tags NN = 19.3090 and AA = 3.9431 according to formula (1), and then assign them to the parameter c of the infinite-dimensional hyperchaotic system and the parameter μ of the Logistic map respectively, that is, c = 19.3090, μ = 3.9431.
[0166] Step 1.2, use the infinite-dimensional hyperchaotic system to generate keys, and its mathematical model is expressed as:
[0167]
[0168] where a, b, c are the control parameters of the system, x, y, z are the state variables of the system, k is the feedback gain, τ > 0 is the delay time, given the control parameters a, b, k, τ of the infinite-dimensional hyperchaotic attractor system, and let the parameter c = NN;
[0169] In the embodiment, set the parameters of the infinite-dimensional hyperchaotic system a = 35, b = 3, c = 19.3090, k = 3.8, τ = 0.3, and at this time the dynamic performance of the chaotic system is as Figure 3 shown as a composite multi-scroll attractor.
[0170] Generate a random number position index sequence using the Logistic map, and its mathematical model is expressed as:
[0171] u n+1 = u n μ(1 - u n ), (3)
[0172] where u is the system state variable, the subscript n represents the number of iterations, μ is the control parameter, and given the control parameter μ = AA of the Logistic map, the initial value u0 is consistent with the initial value x0 of the infinite-dimensional hyperchaotic system state;
[0173] In this embodiment, μ = 3.9431 and the initial state value u0 = 0.5217.
[0174] Step 2, generate a 512-bit dynamic key DK using the dynamic Hash key function based on the infinite-dimensional hyperchaos. The input of the dynamic Hash key function is the preamble information S q , the initial vector I0, and the temporary tags NN and AA obtained in Step 1.2, and the output is a 512-bit key DK. Among them, the preamble information S q is a training sequence in the frame structure, and the initial vector I0 is a binary sequence agreed upon by both the sender and the receiver, with a length of L1 + L2 + L3;
[0175] Step 2.1, divide the preamble information S q into blocks, group S q by 128-bit binary sequences for each block, and divide them into a total of groups, where len is the total number of groups and length(.) is to take the sequence length, indicating the ceiling operation;
[0176] In the embodiment, set S q as a 2048-bit binary sequence, and divide it into a total of len = 16 groups, with each group being a 128-bit binary number sequence.
[0177] Step 2.2, divide the initial vector I0 into three binary sequences with lengths of L1, L2, and L3 respectively, and perform transformations on these three sequences to assign values to the initial values x0, y0, z0 of the hyperchaotic system in sequence. Use the following formula for the operation,
[0178] x0 = 0.5 + (I0(1:L1)) / 2
[0179] y0 = 0.5 + (I0(L1 + 1:L1 + L2)) / 2
[0180] z0 = 0.5 + (I0(L1 + L2 + 1:length(I0))) / 2, (4)
[0181] Among them, (.)2 represents the operation of converting a binary sequence into a decimal fraction within the range of [0, 1] by bit - weighted conversion;
[0182] In the embodiment, the initial vector I0 is set as a binary sequence with a length of 128 bits, which is divided into three short sequences with lengths of L1 = 42, L2 = 42, and L3 = 44 respectively. Then, according to Equation (4), the initial values of the infinite - dimensional hyper - chaotic system are calculated to be x0 = 0.5217, y0 = 0.5861, and z0 = 0.5175.
[0183] Step 2.3: According to the parameters of the infinite - dimensional hyper - chaotic system set in Step 1 and the initial conditions set in Step 2.2, the infinite - dimensional hyper - chaotic system (2) evolves for a time T1 (T1 is large enough). The three system - state sequences x(t), y(t), and z(t) (t ∈ [0, T1]) output are subjected to diffusion processing to obtain state variables X′, Y′, and Z′ within the range of [-1, 1]. The state diffusion operation is shown in the following formula:
[0184] X′ = 2 * (x * 10 8 - round(x * 10 8 ))
[0185] Y′ = 2 * (y * 10 8 - round(y * 10 8 ))
[0186] Z′ = 2 * (z * 10 8 - round(z * 10 8 )) (5)
[0187] where round(.) represents the rounding operation;
[0188] In the embodiment, using the parameters set in Step 1 and Step 2.2, the infinite - dimensional hyper - chaotic system (2) evolves for a time T1 = 1024 / f s time, where f s = 4 * 10 7 is the system sampling frequency. Then, using Equation (5), the system states x(t), y(t), and z(t) at time [0, T1] are subjected to diffusion processing to obtain state variables X′, Y′, and Z′. The processed phase - space mapping is as Figure 4 shown. By comparison Figure 3 it can be clearly seen that the system output states are completely diffused to the phase - space within the range of [-1, 1].
[0189] Step 2.4: Given that the initial value u0 of the Logistic mapping is equal to x0 obtained in Step 2.2, the Logistic mapping (3) is iterated L1 + L2 + L3 times, and the output sequence is pre - processed to obtain a position - index sequence. The pre - processing is as follows:
[0190] U k = mod(u k * 10 8 , 1024), (6)
[0191] where k = 1, ..., L1 + L2 + L3, and U k is the k-th system output state after processing the state quantity u k , and mod(a, b) represents the operation of finding the remainder of a divided by b;
[0192] In the embodiment, set the Logistic mapping parameters u0 = 0.5217 and μ = 3.9431, iterate the Logistic mapping L1 + L2 + L3 = 128 times, and calculate the position index sequence U of length 128 bits according to the output state in Equation (6) k .
[0193] Step 2.5: Use the position index sequence obtained in Step 2.4 to perform position selection on the state quantities X′, Y′, and Z′ obtained in Step 2.3, and then take the signs of the values in the three sequences and quantize them into binary sequences to obtain X″ k , Y″ k and Z″ k , and this process is shown as follows:
[0194]
[0195] where sgn(.) represents the sign-taking operation;
[0196] In the embodiment, the three groups of state quantities X′, Y′, and Z′ obtained in Step 2.3 are subjected to position selection according to the position index sequence U k and their elements are converted into binary numbers according to Equation (7) to obtain a binary sequence W of length L1 + L2 + L3 k .
[0197] Step 2.6: Perform an exclusive OR operation on the preamble information sequence in Step 2.1 and the binary sequence obtained in Step 2.5, as shown in the following equation:
[0198] W k = xor(W k , S1(k)), k = 1, ..., L1 + L2 + L3, (8)
[0199] where xor(.) represents the bitwise exclusive OR operation. This sequence is used to update the initial vector I0 in Step 2.2. Thus, the processing of the first block in S q is completed;
[0200] In the embodiment, take S in Step 2.1q For the first block, divide it into three groups of sequences with lengths of 42 bits, 42 bits, and 44 bits respectively, and perform exclusive OR operations bit by bit with the binary sequence obtained in step 2.5. As shown in Equation (8), the result of the exclusive OR operation is a new 128-bit binary sequence, which is used to update and replace the vector I0 in step 2.2.
[0201] Step 2.7, loop according to steps 2.2 to 2.6. When processing the (len - 1)-th block, that is, when processing the information sequence S len-1 stop the loop. In the last loop, when the system runs to step 2.4, since a 512-bit key output needs to be constructed, only in the last operation, update the values of L1, L2, and L3 after step 2.4 to L′1, L′2, and L′3 (L′1 + L′2 + L′3 = 512). Thus, the final 512-bit binary sequence is obtained as the dynamic key DK;
[0202] In the embodiment, loop according to steps 2.2 to 2.6. Each loop processes one block of the preamble information S q for a total of (len - 1) loops. In the last loop, when the system runs to step 2.4, update L′1 = 170, L′2 = 170, and L′3 = 172 to obtain a 512-bit position index sequence U k . Execute step 2.5 to obtain a 512-bit binary sequence, which is the output dynamic key sequence DK.
[0203] Step 3, use the lower 256 bits of the dynamic key DK obtained in step 2 to set the parameters of the infinite-dimensional hyperchaotic system. The output sequence is processed and used to perform label diffusion on the plaintext information P to obtain the ciphertext C′;
[0204] Step 3 is specifically implemented according to the following steps:
[0205] Step 3.1, convert the plaintext information of any length into a one-dimensional binary plaintext data stream P;
[0206] In the embodiment, take the "Lena" image information of 352 * 352 * 3 as the information and convert it into a one-dimensional binary plaintext data stream P with a length of 371712.
[0207] Step 3.2, take the lower 256 bits of the dynamic key DK obtained in step 2 and assign values to the parameters and state initial values of the infinite-dimensional hyperchaotic system. Specifically, divide the lower 256 bits of DK into two large groups, each group with 128 bits. Then divide one large group into three small groups, which are bit sequences with lengths of L4, L5, and L6. Then, assign these six binary sequences to the three control parameters a, b, c and the three state initial values x0, y0, z0 of the infinite-dimensional hyperchaotic system respectively;
[0208] In the embodiment, take the lower 256-bit of the dynamic key DK obtained in step 2, divide it into two large groups, each group with 128 bits, then divide each large group into three small groups, take L4 = 42, L5 = 42 and L6 = 44 as the sequence lengths of the three small groups, and assign the six groups of binary sequences to the infinite-dimensional hyperchaotic system parameters and initial values, as shown in the following formula:
[0209]
[0210] Among them, (.)2 represents the operation of converting the binary sequence into a decimal fraction in the range of [0, 1] by weighted bits, and then adding two system parameters k = 3.8 and τ = 0.26 to complete the setting of the infinite-dimensional hyperchaotic system parameters and initial values.
[0211] Step 3.3, evolve the infinite-dimensional hyperchaotic system (2) for T2 time, use formula (5) to perform diffusion processing on the output states x(t) and y(t) (t ∈ [0, T2]) of the hyperchaotic system to obtain the transformed state quantities X′1 and Y′1, and perform preprocessing on the state quantities X′1 and Y′1 according to formula (9) to obtain two key sequences K1 and K2 in the range of [0, 255].
[0212] K1 = round(mod(X′1(end - length(P)+1:end)*10 8 , 255))
[0213] K2 = round(mod(Y1′(end - length(P)+1:end)*10 8 , 255)), (10)
[0214] Among them, round(.) represents the rounding operation, and the lengths of the two key sequences are both the same as P;
[0215] In the embodiment, use the system parameters and initial values in step 3.2 to evolve the infinite-dimensional hyperchaotic system (2) for T2 = 512 / f s time, where f s = 4*10 7 , process the output state sequences x(t) and y(t) (t ∈ [0, T2]) of the system according to formula (4) to obtain the state quantities X′1 and Y1′, and then calculate two groups of keys K1 and K2 with a length of 371712 and a range of [0, 255] according to formula (10) for the two state quantities.
[0216] Step 3.4, calculate the marker value Mr and the initial ciphertext C′(1), define the loop variable j = 1:length(P) to represent processing the j-th bit of the plaintext, and calculate the marker value Mr and the initial ciphertext C′(1) using the following formula:
[0217]
[0218]
[0219] In the embodiment, for the plaintext data stream P obtained according to step 3.1, the marked value Mr = 47575010 and C′(1) = 128 are calculated through formula (11).
[0220] Step 3.5, starting from the second bit of the plaintext, perform cyclic diffusion according to the following formula:
[0221] C′(i) = bitxor(mod(P(i)+K1(i),256),mod(C′(i - 1)+K2(i)+Mr*1000,256)), (12)
[0222] where i = 2, 3,..., length(P), bitxor(a, b) represents the operation of converting a and b into binary numbers, performing bitwise exclusive OR, and then converting back to a decimal number. And for each processed bit of the plaintext, the marked value Mr is updated once according to the following formula:
[0223] Mr = Mr - P(i), (13)
[0224] After (length(P) - 1) times of cycling, the diffusion operation of all plaintext information is completed, and a one-dimensional ciphertext sequence C′ is obtained;
[0225] In the embodiment, using the marked value and C′(1) obtained in step 3.4, and the one-dimensional plaintext sequence P in step 3.1, perform cyclic diffusion according to formula (12) and formula (13). Each time the diffusion of one bit of plaintext information is performed, the marked value is updated. This approach improves the coupling degree between the current bit of ciphertext and all plaintexts, making it highly correlated with the plaintext information.
[0226] Step 4, use the upper 256 bits of the dynamic key DK obtained in step 2 to set the parameters of the infinite-dimensional hyperchaotic system, and the output sequence is processed and used to perform S-box confusion operation on the ciphertext C′ to obtain the encrypted ciphertext C;
[0227] Step 4 is specifically implemented according to the following steps:
[0228] Step 4.1, take the upper 256 bits of the dynamic key DK obtained in step 2 and divide them into six groups of binary sequences, and assign these six binary sequences to the three control parameters a, b, c and the three state initial values x0, y0, z0 of the infinite-dimensional hyperchaotic system respectively;
[0229] In the embodiment, take the 256-bit high dynamic key DK obtained in step 2, group it, and use the six grouped binary sequences to assign values to the three control parameters and three state initial values of the infinite-dimensional hyperchaotic system by using formula (9). Then, add two system parameters of parameter k = 3.8 and τ = 0.26 to complete the setting of the parameters and initial values of the infinite-dimensional hyperchaotic system.
[0230] Step 4.2: Evolve the infinite-dimensional hyperchaotic system (2) for a time T3, and use formula (5) to perform diffusion processing on the output states x(t), y(t), and z(t) (t ∈ [0, T3]) of the chaotic system to obtain state quantities X′2, Y′2, and Z′2. Define M*N*K as the length of the one-dimensional plaintext. Then, respectively take sequences with lengths of M, N, and K*M*N at the ends of the evolutions of the three states for numerical transformation to obtain new sequences RX, RY, and RZ. The numerical transformation is shown as follows:
[0231] RX = round(mod(X′2(end - M + 1:end) * 10 8 , M))
[0232] RY = round(mod(Y′2(end - N + 1:end) * 10 8 , N))
[0233] RZ = round(mod(Z′2(end - (K*M*N) + 1:end) * 10 8 , K*M*N)), (14)
[0234] Then, reorganize the sequence RZ into an M*N*K matrix;
[0235] In the embodiment, use the system parameters and initial values obtained in step 4.1 to evolve the infinite-dimensional hyperchaotic system (2) for T3 = 4*10 6 / f s time, perform diffusion processing on the output state sequences x(t), y(t), and z(t) (t ∈ [0, T3]) of the system to obtain state quantities X′2, Y′2, and Z′2. Since the "Lena" image used in the embodiment has a specification of 352*352*3, take M = 352, N = 352, and K = 3. Then, calculate the new sequences RX, RY, and RZ after numerical transformation according to formula (14), and then reorganize RZ into a 352*352*3 matrix.
[0236] Step 4.3: Arrange the RX, RY, and RZ obtained in step 4.2 from largest to smallest to obtain three groups of arranged sequences, and determine the position index values of the arranged sequences to form three S-boxes, namely SX, SY, and SZ, as shown in the following formula:
[0237] SX = sort(RX)
[0238] SY = sort(RY)
[0239] SZ = sort(RZ), (15)
[0240] Among them, sort(.) means that the sequence is sorted from largest to smallest, and the position index sequence of the sorted sequence is output. Among them, SX and SY are one-dimensional vectors with lengths M and N respectively, and ranges [1, M] and [1, N] respectively. Since RZ is an M×N×K matrix, the sorted output index value is to sort the K elements in its M rows and N columns from largest to smallest. Therefore, the position index matrix SZ is composed of M×N groups of elements with a range of [1, K];
[0241] In the embodiment, the new sequences RX, RY, and RZ with lengths 352, 352, and 352×352×3 obtained in step 4.2 are sorted from largest to smallest, and the position change index sequence of the sorted matrix is taken as the S-box for the substitution operation. Therefore, three groups of S-boxes, namely SX, SY, and SZ, are obtained. Among them, both SX and SY are one-dimensional matrices with a length of 352 and a range of [1, 352], and SZ is composed of 352×352 short sequences, and the elements of the short sequences are all different permutations of [1, 2, 3].
[0242] Step 4.4: Rearrange the one-dimensional ciphertext C′ obtained in step 3 into an M×N×K matrix, and then use the three groups of S-boxes obtained in step 4.3 to perform confusion substitution operations on it to obtain the confused ciphertext C. The confusion substitution rule is to set the loop variables ii = 1:M, jj = 1:N, vv = 1:K, and perform loop confusion substitution according to the following formula:
[0243] C(ii, jj, vv) = C′(SX(ii), SY(jj), SZ(ii, jj, vv)), (16)
[0244] A total of M×N×K times of loop confusion substitution are performed, and then it is rearranged into a one-dimensional ciphertext matrix C, which is the encrypted ciphertext information;
[0245] In the embodiment, the one-dimensional ciphertext C′ obtained in step 3 is rearranged into a 352×352×3 matrix, and then the three groups of S-boxes obtained in step 4.3 are used to perform confusion substitution operations on this matrix. Each substitution is calculated according to formula (16), and a total of 371,712 loops are performed, finally completing the confusion substitution operation on the "Lena" image.
[0246] Performance testing and analysis are carried out on a physical layer information encryption method based on infinite-dimensional hyperchaos of the present invention, which specifically includes the following parts:
[0247] ① Analysis of encryption and decryption effects;
[0248] ②Performance analysis of S-box based on infinite-dimensional hyperchaos;
[0249] ③Key space analysis;
[0250] ④NIST randomness test of key stream DK;
[0251] ⑤Analysis of resistance to statistical attacks;
[0252] ⑥Information entropy analysis;
[0253] ⑦Analysis of resistance to differential attacks;
[0254] To prove the universality of the present invention, all test images are selected from the international standard test image library.
[0255] Encryption and decryption effect analysis
[0256] Select the "Lena" image (352*352*3) for encryption and decryption tests, as Figure 5 and Figure 6 shown; Figure 5 The figure shows the "Lena" image before encryption, Figure 6 The figure shows the encrypted image after encrypting it. It can be seen that the information of the encrypted image is similar to noise, and the original image information is well hidden; Figure 7 is the histogram of the encrypted image. It can be seen that it is uniformly distributed and does not show any information of the original image. These fully illustrate that the proposed image encryption algorithm can effectively resist statistical attacks.
[0257] Performance analysis of S-box based on infinite-dimensional hyperchaos
[0258] To simulate the proposed S-box generation mechanism, a computer with an Intel Core i5-7500 quad-core 3.4GHz processor and 8GB RAM is used, and the MATLAB version is R2016b. Evolve the infinite-dimensional hyperchaotic system for a period of time, and calculate and analyze the 256-length S-box generated by the system, including many characteristics such as bit independence, nonlinearity, strict avalanche criterion, linear and differential approximation probabilities. The comparison results are shown in Table 1. It can be seen from the data in Table 1 that the S-box generated based on the infinite-dimensional hyperchaotic system has good performance.
[0259] Table 1 Performance of S-box based on infinite-dimensional hyperchaos
[0260]
[0261] Key space analysis
[0262] When only the five parameters (a, b, c, k, τ) and the three initial values (x0, y0, z0) of the infinite-dimensional hyperchaotic system are used as the secret key, the formed key space is 2 47×8 = 2 376 (The calculation accuracy is 10 -15 ); If the initial conditions of the infinite-dimensional hyperchaotic system on [-τ, 0] are also used as the secret key, the key space will be expanded to infinite dimensions. Therefore, the key space of the proposed image encryption algorithm can resist any brute-force attack.
[0263] NIST randomness test of the key stream DK
[0264] This analysis is a statistical package provided by the National Institute of Standards and Technology of the United States to determine the possible non-randomness in the sequence. To ensure the randomness of the used key stream, the generated key DK was subjected to NIST SP 800-22 tests through the proposed Hash-512 function. The test input is 10 6 bit key stream data, and 14 basic tests were performed on the key stream. The P-values of each test result are all within [0, 1]. When the P-value is higher than the threshold β = 0.01, it means that the sequence passes this test. Table 2 shows the test results of each item. It can be seen from the table that the used key stream has good randomness.
[0265] Table 2 Standard NIST SP 800-22 randomness test results
[0266]
[0267]
[0268] Analysis against statistical attacks
[0269] Each group of picture data has three channels of R, G, and B, and each channel is regarded as a grayscale image. In a normal image, each pixel has a high correlation with its adjacent pixels, and the correlation coefficient C xy is close to 1 in each direction (horizontal, vertical, and diagonal), while for the image encrypted by a well-performing encryption algorithm, the correlation coefficient C xy in each direction should be close to 0, which also indicates that the encryption algorithm hides the plaintext information and has a high degree of homogenization. We randomly select 10,000 pairs of adjacent pixels in each direction to calculate the correlation coefficient of the pixels in the encrypted picture and the correlation coefficient of the original picture. The calculation of the adjacent pixel correlation is expressed as:
[0270]
[0271] where N represents the total number of adjacent pixel pairs in each direction, x i and yi is the value of adjacent pixels, and represents its mean value. Take the "Lena" image before encryption and draw the horizontal direction correlation graph as shown in Figure 8 shown. It can be seen from the figure that the values of the original image are basically evenly distributed on the diagonal of the figure, indicating that the correlation of adjacent pixel values is close in any direction. The horizontal direction correlation graph of the encrypted image is shown in Figure 9. After encryption, the pixel values of the image are evenly dispersed in space, indicating that there is almost no correlation between adjacent pixels after encryption. The test results show that this encryption algorithm removes the correlation between the pixels of the original image and avoids the possibility of cracking information from this angle. Table 3 gives the calculation results of the correlation coefficients in three directions and three channels of 5 groups of pictures with different sizes in the standard test image library before and after encryption. It can be seen that each correlation coefficient before encryption is close to 1, while the correlation coefficient after encryption is near 0, indicating that there is almost no correlation between the image pixels in all directions, and the original information of the image is very effectively hidden. Therefore, by analyzing the correlation of adjacent pixels, no useful information about the original picture can be obtained.
[0272] Table 3 Adjacent pixel correlation of test images before and after encryption
[0273]
[0274]
[0275] Information entropy analysis
[0276] The randomness and unpredictability of information can be represented by information entropy. The greater the information entropy, the greater the randomness and the higher the security. The mathematical formula of information entropy is:
[0277]
[0278] where p(l) is the probability that the pixel value is l, and L is the number of gray levels of the pixel. Generally, when the number of gray levels of the image is 256, the ideal entropy value is 8 (uniform distribution). Table 4 gives the information entropy before and after encrypting the image, which is close to the ideal value of 8. Therefore, the algorithm of the present invention has good randomness and high security.
[0279] Table 4 Information entropy of test images before and after encryption
[0280]
[0281] Differential attack resistance analysis
[0282] The Number of pixel change rate (NPCR) and Unified averaged changed intensity (UACI) can well measure the sensitivity of the image encryption algorithm to the original plaintext image and effectively analyze differential attacks. When there is only one pixel value difference between the information of two original plaintext images, if the pixel values of their encrypted image information at the point (i, j) are represented by C1(i, j) and C2(i, j) respectively, then NPCR and UACI can be calculated by the following formula:
[0283]
[0284]
[0285]
[0286] For an image with a gray level of 256 (v = 8), the ideal expected values of NPCR and UACI are 99.6094% and 33.4635% respectively. For the test of the present invention, one pixel point is randomly selected from the original plaintext image and its pixel value is changed. The plaintext image and the changed image are encrypted, and the NPCR and UACI values are calculated. After 150 tests, the average values of the NPCR and UACI values are obtained, and the results are shown in Table 5. From the results in Table 5, it can be seen that the NPCR and UACI values are very close to the ideal values. Therefore, the information encryption algorithm of the present invention has a strong ability to resist differential attacks.
[0287] Table 5 Test results of NPCR and UACI (%)
[0288]
[0289] A physical layer information encryption method based on infinite-dimensional hyperchaos in the present invention. When using the infinite-dimensional hyperchaotic system for information encryption, the key space can reach the theoretical infinity; the encryption scheme uses the unique channel information between legal channels as the input of the Hash-512 function to obtain a dynamic key stream, effectively improving the security of information; uses the infinite-dimensional hyperchaotic system to construct a new S-box for data confusion operation, and this S-box has better confusion performance and improves the encryption security performance; uses the infinite-dimensional hyperchaotic system combined with label diffusion and new S-box confusion operation, having stronger anti-attack ability and better security performance.
[0290] The above are only the preferred embodiments of the present invention. It should be noted that for those of ordinary skill in the art, without departing from the technical principle of the present invention, several improvements and modifications can be made, and these improvements and modifications should also be regarded as the protection scope of the present invention.
Claims
1. A physical layer information encryption method based on infinite-dimensional hyperchaos, characterized in that, The method includes the following steps: Step 1: Calculate the temporary tags NN and AA through the channel phase of the current communication, and set the initial values of the parameters related to the infinite-dimensional hyperchaotic system and the Logistic map; Step 1 includes: Step 1.1: Estimate the channel state among current legitimate users to obtain channel phase information and amplitude A, and calculate the temporary tags NN and AA through formula (1); AA = 3.8 + 0.2cos(A) (1) Then, assign the value of NN to the parameter c in the infinite-dimensional hyperchaotic system (2), and assign the value of AA to the parameter μ in the Logistic map (3); Step 1.2: Generate a secret key using the infinite-dimensional hyperchaotic system, and its mathematical model is expressed as: where a, b, c are the control parameters of the infinite-dimensional hyperchaotic system, x, y, z are the state variables of the infinite-dimensional hyperchaotic system, k is the feedback gain, τ > 0 is the delay time, given the control parameters a, b, k, τ of the infinite-dimensional hyperchaotic attractor system, and let the parameter c = NN; Generate a random number position index sequence using the Logistic map, and its mathematical model is expressed as: u n+1 = μu n (1 - u n )(3) where u is the system state variable, the subscript n represents the number of iterations, μ is the control parameter, given the control parameter μ = AA of the Logistic map, and the initial value u0 is the same as the initial value x0 of the state x of the infinite-dimensional hyperchaotic system; Step 2: Generate a 512-bit dynamic key DK using a dynamic Hash key function based on infinite-dimensional hyperchaos. The input of the dynamic Hash key function is the preamble information S q , the initial vector I0, and the temporary tags NN and AA obtained in Step 1.2, and the output is a 512-bit key DK. Among them, the preamble information S q is a training sequence segment in the frame structure, and the initial vector I0 is a binary sequence agreed upon by both the sender and the receiver, with a length of L1 + L2 + L3; Step 2 includes: Step 2.1: Divide the preamble information S q into chunks, and group S q by 128-bit binary sequences per chunk, with a total of groups, where len is the total number of groups and length(.) is to obtain the sequence length, indicating the ceiling operation; Step 2.2: Divide the initial vector I0 into three binary sequences with lengths L1, L2, and L3 respectively, and perform transformations on these three sequences to assign values to the initial values x0, y0, z0 of the hyperchaotic system in turn, using the following formula (4) for operation; x0 = 0.5 + (I0(1:L1))2 y0 = 0.5 + (I0(L1 + 1:L1 + L2))2 z0 = 0.5 + (I0(L1 + L2 + 1:length(I0)))2 (4) where (.)2 represents the operation of converting the binary sequence into a decimal fraction in the range of [0,1] by bit-weighting; Step 2.3: According to the parameters of the infinite-dimensional hyperchaotic system set in Step 1 and the initial conditions set in Step 2.2, the infinite-dimensional hyperchaotic system (2) evolves for a time T1, T1 is large enough, and diffusion processing is performed on the three output system state sequences x(t), y(t), and z(t) (t ∈ [0, T1]) to obtain state quantities X′, Y′, and Z′ in the range of [-1, 1]. The state diffusion operation is shown in the following formula: X′ = 2 * (x * 10 8 - round(x * 10 8 )) Y′ = 2 * (y * 10 8 - round(y * 10 8 )) Z′ = 2 * (z * 10 8 - round(z * 10 8 )) (5) where round(.) represents the rounding operation; Step 2.4: Given that the initial value u0 of the Logistic map is equal to x0 obtained in Step 2.2, iterate the Logistic map (3) L1 + L2 + L3 times, and preprocess the output sequence to obtain a position index sequence. The preprocessing is as follows: U k = mod(u k * 10 8 , 1024) (6) where k = 1,..., L1 + L2 + L3, U k is the k-th system output state u k the processed state quantity, and mod(a, b) represents the operation of finding the remainder of a divided by b; Step 2.5: Use the position index sequence obtained in Step 2.4 to perform position selection on the state quantities X′, Y′, and Z′ obtained in Step 2.3, and then take the signs of the values in the three sequences and quantize them into binary sequences to obtain X k ″, Y k ″, and Z k ″. This process is shown in the following formula: where sgn(.) represents the sign-taking operation; Step 2.6, perform an exclusive OR operation on the preamble information sequence in Step 2.1 and the binary sequence obtained in Step 2.5, as shown in the following formula: W k = xor(W k , S1(k)), k = 1, ..., L1 + L2 + L3, (8) Among them, xor(.) represents the bitwise exclusive OR operation; k Update the initial vector I0 in step 2.2; at this point, S is completed q Processing of the first block in ; Step 2.7, loop according to Steps 2.2 to 2.
6. When processing the (len - 1)-th block, that is, when processing the information sequence S len-1 stop the loop; in the last loop, when the system runs to Step 2.4, since a 512-bit key output needs to be constructed, only in the last operation, update the values of L1, L2, and L3 after Step 2.4 to L1′, L2′, and L3′, where L1′ + L2′ + L3′ = 512. Select a new sequence composed of L1′ bits, L2′ bits, and L3′ bits of the state variables X′, Y′, and Z′, and quantize it into a binary sequence and serially link it. Thus, obtain the final 512-bit binary sequence as the dynamic key DK; Step 3: Use the lower 256 bits of the dynamic key DK obtained in Step 2 to set the parameters of the infinite-dimensional hyperchaotic system, and its output sequence is processed to perform label diffusion on the plaintext information P to obtain the ciphertext C′; Step 3 includes: Step 3.1: Convert the plaintext information of any length into a one-dimensional binary plaintext data stream P; Step 3.2: Take the lower 256 bits of the dynamic key DK obtained in Step 2 and assign values to the parameters and initial state values of the infinite-dimensional hyperchaotic system. Specifically, divide the lower 256 bits of DK into two large groups, each group with 128 bits. Then divide one large group into three small groups, which are bit sequences with lengths L4, L5, and L6 respectively. Then assign these six binary sequences to the three control parameters a, b, c and the three initial state values x0, y0, z0 of the infinite-dimensional hyperchaotic system respectively; Step 3.3: Evolve the infinite-dimensional hyperchaotic system (2) for a time T2, and use Equation (5) to perform diffusion processing on the output states x(t) and y(t) (t ∈ [0, T2]) of the hyperchaotic system to obtain the transformed state variables X1′ and Y1′. Perform preprocessing on the state variables X1′ and Y1′ as shown in Equation (9) to obtain two key sequences K1 and K2 with ranges between [0, 255]; K1 = round(mod(X1′(end - length(P)+1:end)*10 8 , 255)) K2 = round(mod(Y1′(end - length(P)+1:end)*10 8 , 255)), (9) Among them, round(.) represents the rounding operation, and the lengths of the two key sequences are both the same as P; Step 3.4: Calculate the marker value Mr and the initial ciphertext C′(1). Define the loop variable j = 1:length(P) to represent processing the j-th bit of the plaintext. Calculate the marker value Mr and the initial ciphertext C′(1) using the following formula: Step 3.5, starting from the second bit of the plaintext, perform loop diffusion according to the following formula: C′(i) = bitxor(mod(P(i)+K1(i),256), mod(C′(i - 1)+K2(i)+Mr*1000,256)) (11) where i = 2, 3,..., length(P), bitxor(a, b) represents the operation of converting a and b into binary numbers, performing bitwise exclusive OR, and then converting back to a decimal number. And for each bit of the plaintext processed, the marker value Mr is updated once according to the following formula: Mr = Mr - P(i), (12) After (length(P) - 1) loops, complete the diffusion operation of all plaintext information to obtain a one-dimensional ciphertext sequence C′; Step 4: Use the upper 256 bits of the dynamic key DK obtained in Step 2 to set the parameters of the infinite-dimensional hyperchaotic system. The output sequence is processed and used to perform S-box confusion operation on the ciphertext C′ to obtain the encrypted ciphertext C; The said Step 4 includes: Step 4.1: Take the upper 256 bits of the dynamic key DK obtained in Step 2 and divide them into six groups of binary sequences. Assign these six binary sequences to the three control parameters a, b, c and the three initial state values x0, y0, z0 of the infinite-dimensional hyperchaotic system respectively; Step 4.2: Evolve the infinite-dimensional hyperchaotic system (2) for a time T3, and use Equation (5) to perform diffusion processing on the output states x(t), y(t) and z(t) (t ∈ [0, T3]) of the hyperchaotic system to obtain the state variables X2′, Y2′ and Z2′; Define M*N*K as the length of the one-dimensional plaintext. Then take sequences with lengths M, N, and K*M*N respectively at the ends of the evolutions of the three states and perform numerical transformation to obtain new sequences RX, RY and RZ. The numerical transformation is shown in the following formula: RX = round(mod(X2′(end - M + 1:end)*10 8 , M)) RY = round(mod(Y2′(end - N + 1:end)*10 8 , N)) RZ = round(mod(Z2′(end-(K*M*N)+1:end)*10 8 , K*M*N)) (13) Then reorganize the sequence RZ into an M*N*K matrix; Step 4.3: Arrange the obtained RX, RY, and RZ from step 4.2 in descending order respectively to obtain three groups of arranged sequences, and determine the position index values of the arranged sequences to form three S-boxes, namely SX, SY, and SZ, as shown in the following formula: SX = sort(RX) SY = sort(RY) SZ = sort(RZ) (14) Among them, sort(.) means arranging the sequence therein in descending order and outputting the position index sequence of the arranged sequence. SX and SY are two one-dimensional vectors with lengths M and N respectively, and their ranges are [1, M] and [1, N] respectively. Since RZ is an M*N*K matrix, the index values output by its arrangement are sorted in descending order for the K elements in its M rows and N columns. Therefore, the position index matrix SZ is composed of M*N groups of elements with a range of [1, K]; Step 4.4: Rearrange the one-dimensional ciphertext C' obtained in step 3 into an M*N*K matrix, and then use the three groups of S-boxes obtained in step 4.3 to perform confusion substitution operations to obtain the confused ciphertext C. The confusion substitution rule is to set loop variables ii = 1:M, jj = 1:N, vv = 1:K, and perform loop confusion substitution according to the following formula: C(ii, jj, vv) = C'(SX(ii), SY(jj), SZ(ii, jj, vv)) (15) A total of M*N*K times of loop confusion substitution are performed, and then it is rearranged into a one-dimensional ciphertext matrix C, which is the encrypted ciphertext information.
Citation Information
Patent Citations
Image encryption method based on quantum chaotic mapping and fractional domain transformation
CN107239708A
Image encryption method based on infinite-dimensional hyper-chaos
CN110245501A