Pseudo-random sequence generator based on five-dimensional chaotic system

By introducing a five-dimensional continuous chaotic system into the pseudo-random sequence generator and deploying it on FPGA, the problem of insufficient security and randomness in the existing technology is solved, and more efficient and secure pseudo-random sequence generation is achieved.

CN119341723APending Publication Date: 2025-01-21THE INST OF AUTOMATION HEILONGJIANG ACADEMY OF SCI
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411519198.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-29
Publication Date
2025-01-21

AI Technical Summary

Technical Problem

Existing pseudo-random sequence generators have shortcomings in terms of security, randomness and anti-aggressiveness, especially in cryptography applications, which are easily analyzed and cracked by attackers.

Method used

A pseudo-random sequence generator based on a five-dimensional continuous chaotic system is designed. By constructing a five-dimensional continuous chaotic system and solving it using the Adomian decomposition method, a high-quality pseudo-random sequence is generated and deployed on the FPGA to increase the processing speed. and system efficiency.

Benefits of technology

It achieves higher security and randomness, reduces the time required for key stream generation in encryption algorithms, and reduces the possibility of external tampering and attacks, improving the security of encryption algorithms.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119341723A_ABST
    Figure CN119341723A_ABST
Patent Text Reader

Abstract

The invention discloses a pseudorandom sequence generator based on a five-dimensional chaotic system, and relates to the pseudorandom sequence generator based on the five-dimensional chaotic system. The invention aims to solve the problems that the existing pseudo-random sequence generator is mainly based on a linear feedback shift register, a pseudo-random number algorithm and the like, and is poor in safety, randomness and attack resistance. The pseudorandom sequence generator based on the five-dimensional chaotic system comprises a five-dimensional continuous chaotic system construction module, a five-dimensional continuous chaotic system solving module and a pseudorandom sequence generator acquisition module. The invention relates to the field of information encryption.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to a pseudo-random sequence generator based on a five-dimensional chaotic system. Background Art

[0002] With the widespread application of multimedia information processing technology and the rapid development of the Internet and cloud computing technology, multimedia data is increasingly widely transmitted and stored between the Internet and cloud computing nodes. How to effectively protect users' secret information from being used by illegal persons, the fundamental measure is the confidential transmission and storage of information. At present, pseudo-random number generators (PRNGs) play an increasingly important role in cryptography, communication, simulation and other applications that require randomness. Existing pseudo-random number generation technologies are mainly based on linear feedback shift registers (LFSRs), pseudo-random number algorithms (such as Mersenne rotation method), etc. However, these methods have certain limitations in terms of security, randomness and anti-attack. These linear generation methods usually lead to predictability of sequences, which brings potential risks to security applications. This makes it possible for attackers to deduce the generation logic by analyzing the output sequence in cryptographic applications, thereby obtaining confidential information. In the new application context, chaotic systems have become an important way to study pseudo-random number generation due to their inherent pseudo-randomness, non-periodicity and long-term unpredictability. At the same time, chaotic systems have stronger randomness and security in theory due to their high uncertainty and sensitive dependence on initial conditions, and can produce complex and unpredictable dynamic behaviors. However, since the continuous chaotic system is essentially in the form of differential equations, it requires greater computational overhead when generating sequences. In order to ensure the sequence generation speed of the pseudo-random sequence generator, the chaotic system needs to be deployed on hardware. At present, the chaotic system can be implemented using analog circuits and digital circuits. The chaotic signal step length generated by the analog circuit is too large due to the susceptibility to the environment, device aging, etc., which limits its accuracy. In addition, most analog circuits are composed of nonlinear elements, and the circuits are relatively complex, requiring developers to have high professional knowledge and rich experience. The portability is poor and it is not suitable as a chaotic sequence generator. In terms of digital circuits, commonly used digital circuits include the use of digital signal processors (Digital Signal Processing, DSP) and field programmable gate arrays (Field Programmable Gate Array, FPGA). Compared with the use of DSP, the use of FPGA has the following advantages: First, DSP usually executes instructions in a sequential manner, while FPGA can perform large-scale parallel computing, which enables it to process multiple data streams simultaneously. For complex continuous chaotic systems, it can significantly improve the processing speed and system efficiency. Secondly, since FPGA directly implements algorithms through hardware logic, it can provide lower algorithm latency than on the DSP platform. In addition, compared with the fixed architecture of DSP, in FPGA designers can customize the hardware logic according to the specific needs of the continuous chaotic system and optimize resource usage and performance.Finally, FPGA can provide abundant I / O interfaces and internal resources, so that components such as digital to analog converter (DAC) and communication interface in the entire chaotic system can be directly integrated into FPGA to simplify system design. Summary of the invention

[0003] The purpose of the present invention is to solve the problems that the existing pseudo-random sequence generator is mainly based on linear feedback shift register, pseudo-random number algorithm, etc., and has poor security, randomness and anti-attack performance, and proposes a pseudo-random sequence generator based on a five-dimensional chaotic system.

[0004] The pseudo-random sequence generator based on the five-dimensional chaotic system includes a five-dimensional continuous chaotic system building module, a five-dimensional continuous chaotic system solving module, and a pseudo-random sequence generator acquisition module;

[0005] The five-dimensional continuous chaotic system building module is used to build a five-dimensional continuous chaotic system; the specific process is:

[0006] The five-dimensional continuous chaotic system is shown in formula (1):

[0007]

[0008] In the formula, x, y, z, w, u represent the variables of the five-dimensional continuous chaotic system; a, b, c, d, e represent the parameters of the five-dimensional continuous chaotic system; Respectively represent the time derivatives of x, y, z, w, and u;

[0009] The five-dimensional continuous chaotic system solving module is used to solve the five-dimensional continuous chaotic system (1) using the Adomian decomposition method to obtain formulas (2)-(8); the specific process is:

[0010]

[0011] In the formula, Indicates the first dimension parameter corresponding to the 0th recursion, Indicates the second dimension parameter corresponding to the 0th recursion, Indicates the third dimension parameter corresponding to the 0th recursion, Indicates the 4th dimension parameter corresponding to the 0th recursion, Indicates the fifth dimension parameter corresponding to the 0th recursion;

[0012] x(t0) represents the initial value of the variable x of the five-dimensional continuous chaotic system at time t0, y(t0) represents the initial value of the variable y of the five-dimensional continuous chaotic system at time t0, z(t0) represents the initial value of the variable z of the five-dimensional continuous chaotic system at time t0, w(t0) represents the initial value of the variable w of the five-dimensional continuous chaotic system at time t0, and u(t0) represents the initial value of the variable u of the five-dimensional continuous chaotic system at time t0;

[0013]

[0014] In the formula, Indicates the first dimension parameter corresponding to the first recursion, Indicates the second dimension parameter corresponding to the first recursion, Indicates the third dimension parameter corresponding to the first recursion, Indicates the fourth dimension parameter corresponding to the first recursion, Indicates the fifth dimension parameter corresponding to the first recursion;

[0015]

[0016] In the formula, Indicates the first dimension parameter corresponding to the second recursion, Indicates the second dimension parameter corresponding to the second recursion, Indicates the third dimension parameter corresponding to the second recursion, Indicates the fourth dimension parameter corresponding to the second recursion, Indicates the fifth dimension parameter corresponding to the second recursion;

[0017]

[0018] In the formula, Indicates the first dimension parameter corresponding to the third recursion, Indicates the second dimension parameter corresponding to the third recursion, Indicates the third dimension parameter corresponding to the third recursion, Indicates the fourth dimension parameter corresponding to the third recursion, represents the fifth dimension parameter corresponding to the third recursion; Γ(x′) represents the Gamma function, x′ represents the independent variable; q is the order of the fractional order;

[0019]

[0020] In the formula, Indicates the first dimension parameter corresponding to the fourth recursion, Indicates the second dimension parameter corresponding to the fourth recursion, Indicates the third dimension parameter corresponding to the fourth recursion, Indicates the fourth dimension parameter corresponding to the fourth recursion, Indicates the fifth dimension parameter corresponding to the fourth recursion;

[0021]

[0022] In the formula, Indicates the first dimension parameter corresponding to the fifth recursion, Indicates the second dimension parameter corresponding to the fifth recursion, Indicates the third dimension parameter corresponding to the fifth recursion, Indicates the fourth dimension parameter corresponding to the fifth recursion, Indicates the fifth dimension parameter corresponding to the fifth recursion;

[0023]

[0024] Where x(t1) represents the value of the five-dimensional continuous chaotic system variable x at time t1, y(t1) represents the value of the five-dimensional continuous chaotic system variable y at time t1, z(t1) represents the value of the five-dimensional continuous chaotic system variable z at time t1, w(t1) represents the value of the five-dimensional continuous chaotic system variable w at time t1, u(t1) represents the value of the five-dimensional continuous chaotic system variable u at time t1; h represents the discrete step length;

[0025] The pseudo-random sequence generator acquisition module is used to deploy formula (2) to formula (8) in FPGA to obtain a pseudo-random sequence generator.

[0026] The beneficial effects of the present invention are:

[0027] The present invention relates to a pseudo-random sequence generator designed based on a chaotic system. An image is encrypted based on the pseudo-random sequence generator. The invention combines nonlinear dynamics and chaotic characteristics to generate high-quality pseudo-random sequences, and is widely used in fields such as information security.

[0028] The present invention designs a new five-dimensional continuous chaotic system and deploys it on FPGA to combine the advantages of the continuous chaotic system with rich dynamic behaviors and the advantages of the hardware circuit that it is difficult to be tampered with, attacked and has fast calculation, so as to design a safer and more efficient pseudo-random sequence generator.

[0029] The pseudo-random sequence generator of the present invention reduces the time consumed in generating the key stream required for encryption in a conventional encryption algorithm. At the same time, since the key stream generation part in the algorithm is implemented using an FPGA hardware circuit, the possibility of the encryption algorithm being tampered with and attacked by the outside world is greatly reduced, thereby improving the security of the encryption algorithm. BRIEF DESCRIPTION OF THE DRAWINGS

[0030] Figure 1is a flow chart of the method of the present invention; Figure 2 (1) The plane phase diagrams of the five-dimensional chaotic system under the periodic state are: a) xy plane phase diagram, b) xz plane phase diagram, c) xw plane phase diagram, d) xu plane phase diagram, e) yz plane phase diagram, f) yw plane phase diagram, g) yu plane phase diagram, h) zw plane phase diagram, i) zu plane phase diagram, j) wu plane phase diagram, k) xyz plane phase diagram, l) zwz plane phase diagram; Figure 3 For the five-dimensional chaotic system (1) various plane phase diagrams in the chaotic state, a) xy plane phase diagram, b) xz plane phase diagram, c) xw plane phase diagram, d) xu plane phase diagram, e) yz plane phase diagram, f) yw plane phase diagram, g) yu plane phase diagram, h) zw plane phase diagram, i) zu plane phase diagram, j) wu plane phase diagram, k) xyz plane phase diagram, l) zwz plane phase diagram; Figure 4 The dynamic behavior diagrams with the change of c are: a) offset behavior, b) expansion and contraction behavior; Figure 5 It is the SE complexity graph under the conditions of a=20; b=20; c=20; d=20; e=20, initial values ​​x0∈[-5,5], y0∈[-5,5]; Figure 6 The Lyapunov exponent spectrum and bifurcation diagram with different parameters, 1) is the Lyapunov exponent spectrum with the change of parameter a of the five-dimensional continuous chaotic system, 2) is the bifurcation diagram with the change of parameter a of the five-dimensional continuous chaotic system; 3) is the Lyapunov exponent spectrum with the change of parameter b of the five-dimensional continuous chaotic system, 4) is the bifurcation diagram with the change of parameter b of the five-dimensional continuous chaotic system; 5) is the Lyapunov exponent spectrum with the change of parameter c of the five-dimensional continuous chaotic system, 6) is the bifurcation diagram with the change of Bifurcation diagram of the five-dimensional continuous chaotic system parameter c; 7) is the Lyapunov exponent spectrum of the five-dimensional continuous chaotic system parameter d, 8) is the bifurcation diagram of the five-dimensional continuous chaotic system parameter d; 9) is the Lyapunov exponent spectrum of the five-dimensional continuous chaotic system parameter e, 10) is the bifurcation diagram of the five-dimensional continuous chaotic system parameter e, x is the variable x, represents the bifurcation diagram formed by the local maximum value of the variable x with the parameter change, LE1, LE2, LE3 LE4, LE5 ​​represent the five Lyapunov exponents of the five-dimensional continuous chaotic system (1); Figure 7 It is the parameter perceptual test diagram; Figure 8 This is a schematic diagram of the encryption process. The key is the five-dimensional continuous chaotic system parameters a, b, c, d, and e. DETAILED DESCRIPTION

[0031] Specific implementation method 1: The pseudo-random sequence generator based on the five-dimensional chaotic system in this implementation method includes:

[0032] Five-dimensional continuous chaotic system building module, five-dimensional continuous chaotic system solving module, pseudo-random sequence generator acquisition module;

[0033] The five-dimensional continuous chaotic system building module is used to build a five-dimensional continuous chaotic system; the specific process is:

[0034] The five-dimensional continuous chaotic system designed by the present invention is shown in formula (1):

[0035]

[0036] In the formula, x, y, z, w, u represent the variables of the five-dimensional continuous chaotic system; a, b, c, d, e represent the parameters of the five-dimensional continuous chaotic system; Respectively represent the time derivatives of x, y, z, w, and u;

[0037] Through the dynamic behavior of the five-dimensional continuous chaotic system (1) in the quasi-periodic and chaotic states, it is found that when the parameters of the five-dimensional continuous chaotic system are set to a=0, b=4, c=2, d=1, e=2, and the initial values ​​of the system (1) are (x0, y0, z0, w0, u0)=(1.2, 1.2, 1.2, 1.2, 1.2), the five-dimensional continuous chaotic system exhibits a quasi-periodic state. The phase diagram corresponding to the quasi-periodic state is shown in the attached figure. Figure 2 As shown in Fig. 1a; when the parameters of the five-dimensional continuous chaotic system are set to a=7, b=7, c=7, d=7, e=7, and the initial values ​​of system (1) are (x0, y0, z0, w0, u0) = (1.2, 1.2, 1.2, 1.2, 1.2), the five-dimensional continuous chaotic system exhibits a chaotic state. The phase diagram corresponding to the chaotic state is shown in the attached figure. Figure 3 As shown in al; at the same time, the five-dimensional continuous chaotic system (1) also has a rotation behavior with the change of parameters. Suppose the five-dimensional continuous chaotic system parameter c is the control variable, the five-dimensional continuous chaotic system parameters are set to a=20, b=1, d=1, e=1, and the initial value of the system (1) is (x0, y0, z0, w0, u0)=(1,1,1,1,1), Figure 4 In a, the xz phase trajectory diagram for c=21,22,23,24 is drawn. It can be seen that as c increases, the phase trajectory in the figure has different degrees of deviation in the x and z directions, and the overall manifestation is counterclockwise movement. In addition, when the control parameter c changes in the range of 1-5, the parameters are set to a=20, b=1, d=1, e=1, and the initial value of system (1) is (x0, y0, z0, w0, u0) = (1,1,1,1,1), the system (1) has a transient phenomenon of amplitude change. Figure 4Figure b shows the xy phase trajectory diagram when c = 1, 2, 3, 4, 5. It can be seen that as the parameter c increases, the overall outline of the phase trajectory of system (1) shows a transient phenomenon of shrinking continuously. Complexity is an effective indicator for judging the degree of randomness of a sequence. In order to measure the complexity of the five-dimensional continuous chaotic system (1), the spectral entropy (SE) complexity algorithm is used here to measure the complexity of the five-dimensional continuous chaotic system (1). The initial values ​​x0 and y0 of system (1) are set as control variables. When the parameters are set to a = 20, b = 20, c = 20, d = 20, e = 20, and the initial values ​​of system (1) are (x0, y0, z0, w0, u0) = (x0, y0, 7, 7, 7), the thermal diagram obtained by the test is shown in the attached figure. Figure 5 As shown in the figure, the higher the value, the higher the complexity of the five-dimensional continuous chaotic system under the changed parameters. The large area of ​​high value in the figure indicates that the system (1) has extremely high complexity under this parameter. Through experimental simulation, it is found that the five-dimensional continuous chaotic system (1) still has a very large range of chaotic intervals, and when any parameter of the five-dimensional continuous chaotic system is adjusted, the five-dimensional continuous chaotic system (1) can show this phenomenon. Specifically, when the five parameters a, b, c, d, and e of the five-dimensional continuous chaotic system are respectively controlled variables, LE1, LE2, LE3, LE4, and LE5 are assumed to represent the five Lyapunov exponents of the five-dimensional continuous chaotic system (1); the state of the five-dimensional continuous chaotic system (1) can be determined by calculating the Lyapunov exponent spectrum of each five-dimensional continuous chaotic parameter in different intervals and the bifurcation diagram of the local maximum value of the variable x corresponding to the change of each five-dimensional continuous chaotic parameter by computer. The Lyapunov exponent spectrum and bifurcation diagram of the five parameters a, b, c, d, and e of the five-dimensional continuous chaotic system (1) in different intervals are shown in the attached figure. Figure 6 As shown in the figure, the Lyapunov index spectrum and bifurcation diagram under different parameter changes are plotted. It can be seen that there is a LEs greater than 0 in the entire range, which also corresponds to the irregular points in the bifurcation diagram, which means that the five-dimensional continuous chaotic system (1) is a chaotic behavior. The above phenomenon shows that the five-dimensional continuous chaotic system (1) has rich dynamic behaviors and a super-large range of chaotic intervals under arbitrary parameter adjustment, which is very suitable for the design of pseudo-random sequence generators.

[0038] The five-dimensional continuous chaotic system solving module is used to solve the five-dimensional continuous chaotic system (1) using the Adomian decomposition method (ADM) to obtain formulas (2)-(8); the specific process is:

[0039]

[0040] In the formula, Indicates the first dimension parameter corresponding to the 0th recursion, Indicates the second dimension parameter corresponding to the 0th recursion, Indicates the third dimension parameter corresponding to the 0th recursion, Indicates the 4th dimension parameter corresponding to the 0th recursion, Indicates the fifth dimension parameter corresponding to the 0th recursion;

[0041] x(t0) represents the initial value of the variable x of the five-dimensional continuous chaotic system at time t0, y(t0) represents the initial value of the variable y of the five-dimensional continuous chaotic system at time t0, z(t0) represents the initial value of the variable z of the five-dimensional continuous chaotic system at time t0, w(t0) represents the initial value of the variable w of the five-dimensional continuous chaotic system at time t0, and u(t0) represents the initial value of the variable u of the five-dimensional continuous chaotic system at time t0;

[0042]

[0043] In the formula, Indicates the first dimension parameter corresponding to the first recursion, Indicates the second dimension parameter corresponding to the first recursion, Indicates the third dimension parameter corresponding to the first recursion, Indicates the fourth dimension parameter corresponding to the first recursion, Indicates the fifth dimension parameter corresponding to the first recursion;

[0044]

[0045] In the formula, Indicates the first dimension parameter corresponding to the second recursion, Indicates the second dimension parameter corresponding to the second recursion, Indicates the third dimension parameter corresponding to the second recursion, Indicates the fourth dimension parameter corresponding to the second recursion, Indicates the fifth dimension parameter corresponding to the second recursion;

[0046]

[0047] In the formula, Indicates the first dimension parameter corresponding to the third recursion, Indicates the second dimension parameter corresponding to the third recursion, Indicates the third dimension parameter corresponding to the third recursion, Indicates the fourth dimension parameter corresponding to the third recursion, represents the fifth dimension parameter corresponding to the third recursion; Γ(x′) represents the Gamma function, x′ represents the independent variable,

[0048]

[0049] In the formula, Indicates the first dimension parameter corresponding to the fourth recursion, Indicates the second dimension parameter corresponding to the fourth recursion, Indicates the third dimension parameter corresponding to the fourth recursion, Indicates the fourth dimension parameter corresponding to the fourth recursion, Indicates the fifth dimension parameter corresponding to the fourth recursion;

[0050]

[0051] In the formula, Indicates the first dimension parameter corresponding to the fifth recursion, Indicates the second dimension parameter corresponding to the fifth recursion, Indicates the third dimension parameter corresponding to the fifth recursion, Indicates the fourth dimension parameter corresponding to the fifth recursion, Indicates the fifth dimension parameter corresponding to the fifth recursion;

[0052] Based on (2)-(7), we get (8);

[0053]

[0054] Where x(t1) represents the value of the five-dimensional continuous chaotic system variable x at time t1, y(t1) represents the value of the five-dimensional continuous chaotic system variable y at time t1, z(t1) represents the value of the five-dimensional continuous chaotic system variable z at time t1, w(t1) represents the value of the five-dimensional continuous chaotic system variable w at time t1, u(t1) represents the value of the five-dimensional continuous chaotic system variable u at time t1; h represents the discrete step length, and h is 0.0001;

[0055] The pseudo-random sequence generator acquisition module is used to deploy formula (2) to formula (8) in FPGA to obtain a pseudo-random sequence generator.

[0056] In order to deploy formula (3) to formula (9) in FPGA to realize the design of pseudo-random sequence generator, considering the design cost and power consumption, a low-cost and low-power FPGA chip EP4CE10F17C8 produced by ALTERA is selected as the hardware development platform. Taking into account the calculation accuracy and hardware resource consumption, the IEEE 745 standard is used in the design to realize the iterative calculation design of chaotic system.

[0057] Specific implementation method 2: This implementation method is different from specific implementation method 1 in that the pseudo-random sequence generator acquisition module is used to deploy formula (2) to formula (8) in FPGA to obtain a pseudo-random sequence generator;

[0058] The specific process is:

[0059] For each calculation formula on the right side of the equal sign in formula (2) to formula (8), first set the values ​​of the five-dimensional continuous chaotic system parameters (a, b, c, d, e) involved in each calculation formula;

[0060] Then, randomly select two parameter variables in each calculation formula (multiplication and division first, addition and subtraction second), and determine whether the two selected parameter variables are addition operations or multiplication operations; if it is an addition operation, call the floating-point adder to calculate the result; if it is a multiplication operation, call the floating-point multiplier to calculate the result;

[0061] Determine whether the remaining parameter variables in each calculation formula are greater than or equal to 2;

[0062] If so, continue to select any two parameter variables from the remaining parameter variables (multiply and divide first, then add and subtract), until the remaining parameter variables in each calculation formula are less than 2 (that is, all are selected), and obtain the result of each calculation formula;

[0063] If not, get the result of each calculation.

[0064] The other steps and parameters are the same as those in the first embodiment.

[0065] Specific implementation method three: This implementation method is different from specific implementation method one or two in that, for each calculation formula on the right side of the equal sign in formula (2), the values ​​of the five-dimensional continuous chaotic system parameters (a, b, c, d, e) involved in each calculation formula are first set;

[0066] Then, randomly select two parameter variables in each calculation formula (multiplication and division first, addition and subtraction second), and determine whether the two selected parameter variables are addition operations or multiplication operations; if it is an addition operation, call the floating-point adder to calculate the result; if it is a multiplication operation, call the floating-point multiplier to calculate the result;

[0067] Determine whether the remaining parameter variables in each calculation formula are greater than or equal to 2; if so, continue to select any two parameter variables from the remaining parameter variables (first multiplication and division, then addition and subtraction) until the remaining parameter variables in each calculation formula are less than 2 (that is, all are selected), and obtain the result of each calculation formula; if not, obtain the result of each calculation formula in formula (2); the specific process is:

[0068] In formula (2) The value is the initial value x(t0) of the five-dimensional continuous chaotic system variable x at time t0; in formula (2) The value is the initial value y(t0) of the five-dimensional continuous chaotic system variable y at time t0; in formula (2) The value is the initial value z(t0) of the variable z of the five-dimensional continuous chaotic system at time t0; in formula (2) The value is the initial value w(t0) of the five-dimensional continuous chaotic system variable w at time t0; in formula (2) The value is taken as the initial value u(t0) of the five-dimensional continuous chaotic system variable u at time t0.

[0069] The other steps and parameters are the same as those in the first or second embodiment.

[0070] Specific implementation method 4: This implementation method is different from any one of the specific implementation methods 1 to 3 in that, for each calculation formula on the right side of the equal sign in formula (3), the value of the five-dimensional continuous chaotic system parameter involved in each calculation formula is first set;

[0071] Then, randomly select two parameter variables in each calculation formula (multiplication and division first, addition and subtraction second), and determine whether the two selected parameter variables are addition operations or multiplication operations; if it is an addition operation, call the floating-point adder to calculate the result; if it is a multiplication operation, call the floating-point multiplier to calculate the result;

[0072] Determine whether the remaining parameter variables in each calculation formula are greater than or equal to 2; if so, continue to select any two parameter variables from the remaining parameter variables (first multiplication and division, then addition and subtraction) until the remaining parameter variables in each calculation formula are less than 2 (that is, all are selected), and obtain the result of each calculation formula; if not, obtain the result of each calculation formula in formula (3); the specific process is:

[0073] In formula (3) The calculation formula is FPGA based on IEEE745 single-precision floating point number Calculate and obtain Result;

[0074] In formula (3) The calculation formula is FPGA based on IEEE745 single-precision floating point Calculate and obtain Result;

[0075] In formula (3) The calculation formula is FPGA based on IEEE745 single-precision floating point Calculate and obtain Result;

[0076] In formula (3) The calculation formula is FPGA based on IEEE745 single-precision floating point Calculate and obtain Result;

[0077] In formula (3) The calculation formula is FPGA based on IEEE745 single-precision floating point Calculate and obtain Result;

[0078] In the formula (3) The calculation formula is FPGA based on IEEE745 single-precision floating point Calculate and obtain The specific process is:

[0079] Set the values ​​of the five-dimensional continuous chaotic system parameters a and e in the calculation formula;

[0080] Pick Two variables in judge The operation status of For multiplication operations, call the floating-point multiplier to calculate The calculation result is saved in the variable β;

[0081] Take two variables from the remaining variables judge The operation status of For multiplication operations, call the floating-point multiplier to calculate The calculation result of , updates the variable β to the current calculation result;

[0082] Take two variables from the remaining variables judge The operating status of For multiplication operations, call the floating-point multiplier to calculate The calculation result is saved in the variable β′;

[0083] Take two variables β+β′ from the remaining variables, determine the running status of β+β′, β+β′ is an addition operation, call the floating-point adder to calculate the result of β+β′, and obtain Result;

[0084] Similarly, we can obtain of The corresponding results of The corresponding results of The corresponding results of The corresponding results.

[0085] The other steps and parameters are the same as those in Specific Embodiments 1 to 3.

[0086] Specific implementation method 5: This implementation method is different from any one of specific implementation methods 1 to 4 in that, for each calculation formula on the right side of the equal sign in formula (4), the value of the five-dimensional continuous chaotic system parameter involved in each calculation formula is first set;

[0087] Then, randomly select two parameter variables in each calculation formula (multiplication and division first, addition and subtraction second), and determine whether the two selected parameter variables are addition operations or multiplication operations; if it is an addition operation, call the floating-point adder to calculate the result; if it is a multiplication operation, call the floating-point multiplier to calculate the result;

[0088] Determine whether the remaining parameter variables in each calculation formula are greater than or equal to 2; if so, continue to select any two parameter variables from the remaining parameter variables (first multiplication and division, then addition and subtraction) until the remaining parameter variables in each calculation formula are less than 2 (that is, all are selected), and obtain the result of each calculation formula; if not, obtain the result of each calculation formula in formula (4); the specific process is:

[0089] In formula (4) The calculation formula is FPGA based on IEEE745 single-precision floating point number Calculate and obtain The specific process is:

[0090] In formula (4) The calculation formula is FPGA based on IEEE745 single-precision floating point number Calculate and obtain Result;

[0091] In formula (4) The calculation formula is FPGA based on IEEE745 single-precision floating point number Calculate and obtain Result;

[0092] In formula (4) The calculation formula is FPGA based on IEEE745 single-precision floating point Calculate and obtain Result;

[0093] In formula (4) The calculation formula is FPGA based on IEEE745 single-precision floating point Calculate and obtain Result;

[0094] In the formula (4) The calculation formula is FPGA based on IEEE745 single-precision floating point Calculate and obtain The specific process is:

[0095] Set the values ​​of the parameters a and e of the five-dimensional continuous chaotic system;

[0096] Pick Two variables in judge The operation status of For multiplication operations, call the floating-point multiplier to calculate The calculation result is saved in the variable α;

[0097] Take two variables from the remaining variables judge The operation status of For multiplication operations, call the floating-point multiplier to calculate The calculation result is saved in the variable α′;

[0098] Take two variables α+α′ from the remaining variables, determine the running status of α+α′, α+α′ is an addition operation, call the floating-point adder to calculate the calculation result of α+α′, and save the current calculation result in the variable α″;

[0099] Take two variables eα″ from the remaining variables, determine the running status of eα″, eα″ is a multiplication operation, call the floating-point multiplier to calculate the calculation result of eα″, and save the current calculation result in the variable α″′;

[0100] Take two variables from the remaining variables judge The operating status of For multiplication operations, call the floating-point multiplier to calculate The calculation result is saved in the variable middle;

[0101] Take two variables from the remaining variables judge The operating status of For addition operation, call the floating point adder to calculate The calculation results are Result;

[0102] Similarly, we can obtain Corresponding The results Corresponding The results Corresponding The results Corresponding result.

[0103] The other steps and parameters are the same as those in Specific Embodiments 1 to 4.

[0104] Specific implementation method 6: This implementation method is different from the specific implementation methods 1 to 5 in that, for each calculation formula on the right side of the equal sign in formula (5), the value of the five-dimensional continuous chaotic system parameter involved in each calculation formula is first set;

[0105] Then, randomly select two parameter variables in each calculation formula (multiplication and division first, addition and subtraction second), and determine whether the two selected parameter variables are addition operations or multiplication operations; if it is an addition operation, call the floating-point adder to calculate the result; if it is a multiplication operation, call the floating-point multiplier to calculate the result;

[0106] Determine whether the remaining parameter variables in each calculation formula are greater than or equal to 2; if so, continue to select any two parameter variables from the remaining parameter variables (first multiplication and division, then addition and subtraction) until the remaining parameter variables in each calculation formula are less than 2 (that is, all are selected), and obtain the result of each calculation formula; if not, obtain the result of each calculation formula in formula (5); the specific process is:

[0107] In formula (5) The calculation formula is FPGA based on IEEE745 single-precision floating point Calculate and obtain Result;

[0108] In formula (5) The calculation formula is FPGA based on IEEE745 single-precision floating point Calculate and obtain Result;

[0109] In formula (5) The calculation formula is FPGA based on IEEE745 single-precision floating point Calculate and obtain Result;

[0110] In formula (5) The calculation formula is FPGA based on IEEE745 single-precision floating point Calculate and obtain Result;

[0111] In formula (5) The calculation formula is FPGA based on IEEE745 single-precision floating point Calculate and obtain Result;

[0112] In the formula (5) The calculation formula is FPGA based on IEEE745 single-precision floating point Calculate and obtain The specific process is:

[0113] Set the values ​​of the parameters a and e of the five-dimensional continuous chaotic system;

[0114] Pick Two variables in judge The operation status of For multiplication operations, call the floating-point multiplier to calculate The calculation result is saved in the variable δ;

[0115] Take two variables from the remaining variables judge The operation status of For multiplication operations, call the floating-point multiplier to calculate The calculation result is saved in the variable δ′;

[0116] Take two variables from the remaining variables judge The operating status of For multiplication operations, call the floating-point multiplier to calculate The calculation result is saved in the variable δ″;

[0117] Will The value of is stored in the variable δ″′ is a constant);

[0118] Take two variables δ″δ″′ from the remaining variables, determine the running status of δ″δ″′, δ″δ″′ is a multiplication operation, call the floating point multiplier to calculate the calculation result of δ″δ″′, and save the current calculation result in the variable middle;

[0119] Take two variables δ+δ′ from the remaining variables, determine the running status of δ+δ′, δ+δ′ is an addition operation, call the floating point adder to calculate the result of δ+δ′, and save the current calculation result in the variable middle;

[0120] Take two variables from the remaining variables judge The operating status of For addition operation, call the floating point adder to calculate The calculation result is saved in the variable middle;

[0121] Take two variables from the remaining variables judge The operating status of For multiplication operations, call the floating-point multiplier to calculate The calculation result is saved in the variable middle;

[0122] Take two variables from the remaining variables judge The operating status of For multiplication operations, call the floating-point multiplier to calculate The calculation result is saved in the variable middle;

[0123] Take two variables from the remaining variables judge The operating status of For addition operation, call the floating point adder to calculate The calculation results are Result;

[0124] Similarly, we can obtain Corresponding The results Corresponding The results Corresponding The results Corresponding result.

[0125] The other steps and parameters are the same as those in Specific Implementation Methods 1 to 5.

[0126] Specific implementation method 7: This implementation method is different from any one of specific implementation methods 1 to 6 in that, for each calculation formula on the right side of the equal sign in formula (6), the value of the five-dimensional continuous chaotic system parameter involved in each calculation formula is first set;

[0127] Then, randomly select two parameter variables in each calculation formula (multiplication and division first, addition and subtraction second), and determine whether the two selected parameter variables are addition operations or multiplication operations; if it is an addition operation, call the floating-point adder to calculate the result; if it is a multiplication operation, call the floating-point multiplier to calculate the result;

[0128] Determine whether the remaining parameter variables in each calculation formula are greater than or equal to 2; if so, continue to select any two parameter variables from the remaining parameter variables (first multiplication and division, then addition and subtraction) until the remaining parameter variables in each calculation formula are less than 2 (that is, all are selected), and obtain the result of each calculation formula; if not, obtain the result of each calculation formula in formula (6); the specific process is:

[0129] In formula (6) The calculation formula is FPGA based on IEEE745 single-precision floating point Calculate and obtain The result of the specific calculation As a constant, it exists in the variable itself;

[0130] In formula (6) The calculation formula is FPGA based on IEEE745 single-precision floating point Calculate and obtain Result;

[0131] In formula (6) The calculation formula is FPGA based on IEEE745 single-precision floating point Calculate and obtain Result;

[0132] In formula (6) The calculation formula is FPGA based on IEEE745 single-precision floating point Calculate and obtain Result;

[0133] In formula (6) The calculation formula is FPGA based on IEEE745 single-precision floating point Calculate and obtain The result of the specific calculation As a constant, it exists in the variable itself.

[0134] The other steps and parameters are the same as those in Specific Embodiments 1 to 6.

[0135] Specific implementation eight: This implementation differs from any one of specific implementations one to seven in that, for each calculation formula on the right side of the equal sign in formula (7), the value of the five-dimensional continuous chaotic system parameter involved in each calculation formula is first set;

[0136] Then, randomly select two parameter variables in each calculation formula (multiplication and division first, addition and subtraction second), and determine whether the two selected parameter variables are addition operations or multiplication operations; if it is an addition operation, call the floating-point adder to calculate the result; if it is a multiplication operation, call the floating-point multiplier to calculate the result;

[0137] Determine whether the remaining parameter variables in each calculation formula are greater than or equal to 2; if so, continue to select any two parameter variables from the remaining parameter variables (first multiplication and division, then addition and subtraction) until the remaining parameter variables in each calculation formula are less than 2 (that is, all are selected), and obtain the result of each calculation formula; if not, obtain the result of each calculation formula in formula (7); the specific process is:

[0138] In formula (7) The calculation formula is FPGA based on IEEE745 single-precision floating point Calculate and obtain The result of the specific calculation As a constant, it exists in the variable itself; As a constant, it exists in the variable itself;

[0139] In formula (7) The calculation formula is FPGA based on IEEE745 single-precision floating point Calculate and obtain Result;

[0140] In formula (7) The calculation formula is FPGA based on IEEE745 single-precision floating point Calculate and obtain Result;

[0141] In formula (7) The calculation formula is FPGA based on IEEE745 single-precision floating point Calculate and obtain Result;

[0142] In formula (7) The calculation formula is FPGA based on IEEE745 single-precision floating point Calculate and obtain The result of the specific calculation As a constant, it exists in the variable itself; As a constant, it is stored in the variable. The other steps and parameters are the same as those of the specific implementation modes 1 to 7.

[0143] Specific implementation method 9: This implementation method is different from any one of specific implementation methods 1 to 8 in that, for each calculation formula on the right side of the equal sign in formula (8), the value of the five-dimensional continuous chaotic system parameter involved in each calculation formula is first set;

[0144] Then, randomly select two parameter variables in each calculation formula (multiplication and division first, addition and subtraction second), and determine whether the two selected parameter variables are addition operations or multiplication operations; if it is an addition operation, call the floating-point adder to calculate the result; if it is a multiplication operation, call the floating-point multiplier to calculate the result;

[0145] Determine whether the remaining parameter variables in each calculation formula are greater than or equal to 2; if so, continue to select any two parameter variables from the remaining parameter variables (first multiplication and division, then addition and subtraction) until the remaining parameter variables in each calculation formula are less than 2 (that is, all are selected), and obtain the result of each calculation formula; if not, obtain the result of each calculation formula in formula (8); the specific process is:

[0146] The calculation formula for x(t1) in formula (8) is FPGA based on IEEE745 single-precision floating point Calculate and obtain The result of; when calculating specifically, As a constant, it exists in the variable itself; As a constant, it exists in the variable itself; As a constant, it exists in the variable itself; As a constant, it exists in the variable itself; As a constant, it exists in the variable itself;

[0147] The calculation formula of y(t1) in formula (8) is FPGA based on IEEE745 single-precision floating point Calculate and obtain The result of; when calculating specifically, As a constant, it exists in the variable itself; As a constant, it exists in the variable itself; As a constant, it exists in the variable itself; As a constant, it exists in the variable itself; As a constant, it exists in the variable itself;

[0148] The calculation formula of z(t1) in formula (8) is FPGA based on IEEE745 single-precision floating point Calculate and obtain The result of; when calculating specifically, As a constant, it exists in the variable itself; As a constant, it exists in the variable itself; As a constant, it exists in the variable itself; As a constant, it exists in the variable itself; As a constant, it exists in the variable itself;

[0149] The calculation formula of w(t1) in formula (8) is FPGA based on IEEE745 single-precision floating point Calculate and obtain The result of; when calculating specifically, As a constant, it exists in the variable itself; As a constant, it exists in the variable itself; As a constant, it exists in the variable itself; As a constant, it exists in the variable itself; As a constant, it exists in the variable itself;

[0150] The calculation formula of u(t1) in formula (8) is FPGA based on IEEE745 single-precision floating point Calculate and obtain The result of; when calculating specifically, As a constant, it exists in the variable itself; As a constant, it exists in the variable itself; As a constant, it exists in the variable itself; As a constant, it exists in the variable itself; As a constant, it exists in the variable itself.

[0151] The calculation formula of x(t1) in formula (8) is: FPGA based on IEEE745 single-precision floating point Calculate and obtain The specific process is:

[0152] Will middle The value of is stored in the variable φ ( is a constant);

[0153] Will middle The value of is stored in the variable φ′ ( is a constant);

[0154] Will middle The value of is stored in the variable φ″ ( is a constant);

[0155] Will middle The value of is stored in the variable φ″′ ( is a constant);

[0156] Will middle The value is stored in the variable middle( is a constant);

[0157] Take two variables from the remaining variables judge The operation status of For multiplication operations, call the floating-point multiplier to calculate The calculation result is saved in the variable middle;

[0158] Take two variables from the remaining variables judge The operation status of For multiplication operations, call the floating-point multiplier to calculate The calculation result is saved in the variable middle;

[0159] Take two variables from the remaining variables judge The operation status of For multiplication operations, call the floating-point multiplier to calculate The calculation result is saved in the variable middle;

[0160] Take two variables from the remaining variables judge The operation status of For multiplication operations, call the floating-point multiplier to calculate The calculation result is saved in the variable middle;

[0161] Take two variables from the remaining variables judge The operation status of For multiplication operations, call the floating-point multiplier to calculate The calculation result is saved in the variable middle;

[0162] Take two variables from the remaining variables judge The operation status of For addition operation, call the floating point adder to calculate The calculation result is saved in variable A;

[0163] Take two variables from the remaining variables judge The operation status of For addition operation, call the floating point adder to calculate The calculation result is saved in variable B;

[0164] Take two variables from the remaining variables judge The operation status of For addition operation, call the floating point adder to calculate The calculation result is saved in variable C;

[0165] Take two variables from the remaining variables judge The operation status of For addition operation, call the floating point adder to calculate The calculation result is saved in variable D;

[0166] Take two variables from the remaining variables judge The operation status of For addition operation, call the floating point adder to calculate The calculation results are Result;

[0167] Similarly, we can obtain the value corresponding to y(t1) in formula (8):

[0168] The result of z(t1) corresponds to The result of w(t1) corresponds to The result of u(t1) corresponds to result.

[0169] The other steps and parameters are the same as those in Specific Embodiments 1 to 8.

[0170] Specific implementation method ten: This implementation method is different from any one of specific implementation methods one to nine in that the pseudo-random sequence generator based on the five-dimensional chaotic system further includes a key stream generation module, which is used to generate a key stream based on the pseudo-random sequence generator. The encryption algorithm encrypts the image based on the key stream to obtain the encrypted image. The specific process is:

[0171] Input the parameters a, b, c, d, e of the five-dimensional continuous chaotic system and the initial values ​​x0, y0, z0, w0, u0 of the variables of the five-dimensional continuous chaotic system into a pseudo-random sequence generator (the parameters are fixed and do not change with time), and the pseudo-random sequence generator generates a key stream that changes with time;

[0172] The encryption algorithm encrypts the image based on the key stream to obtain the encrypted image; the expression is:

[0173]

[0174] Wherein, P(i) represents the pixel value of the i-th pixel in the image; C(i) represents the encrypted value of the pixel value of the i-th pixel in the image; R(i) represents the time-varying key stream generated by the pseudo-random sequence generator; C(i-1) represents the encrypted value of the i-1-th pixel value in the image; M×N represents the total number of pixels in the image.

[0175] The other steps and parameters are the same as those in Specific Embodiments 1 to 9.

[0176] Embodiment 1: Image encryption algorithm based on pseudo-random sequence generator;

[0177] Since the pseudo-random sequence generator can generate a large number of key streams using only a few parameters, it is very suitable for the design and use of digital image encryption. At the same time, using the pseudo-random sequence generator in the encryption algorithm can combine the advantages of the rich dynamic behavior of the continuous chaotic system, the difficulty of tampering and attack of the hardware circuit and the advantages of parallel computing, thereby improving the security of the encryption algorithm while optimizing the computing efficiency.

[0178] Figure 7 A schematic diagram of the encryption process using a pseudo-random sequence generator scheme is drawn. Since a pseudo-random sequence generator is used in encryption, the time consumed by generating the key stream required for encryption in conventional encryption algorithms is reduced. At the same time, since the key stream generation part of the algorithm is implemented using FPGA hardware circuits, the possibility of the encryption algorithm being tampered with and attacked by the outside world is greatly reduced, thereby improving the security of the encryption algorithm.

[0179] The present invention may also have many other embodiments. Without departing from the spirit and essence of the present invention, those skilled in the art may make various corresponding changes and modifications based on the present invention, but these corresponding changes and modifications should all fall within the scope of protection of the claims attached to the present invention.

Claims

1. A pseudo-random sequence generator based on a five-dimensional chaotic system, characterized in that: The pseudo-random sequence generator based on the five-dimensional chaotic system includes a five-dimensional continuous chaotic system building module, a five-dimensional continuous chaotic system solving module, and a pseudo-random sequence generator acquisition module; The five-dimensional continuous chaotic system building module is used to build a five-dimensional continuous chaotic system; the specific process is: The five-dimensional continuous chaotic system is shown in formula (1): In the formula, x, y, z, w, u represent the variables of the five-dimensional continuous chaotic system; a, b, c, d, e represent the parameters of the five-dimensional continuous chaotic system; Respectively represent the time derivatives of x, y, z, w, and u; The five-dimensional continuous chaotic system solving module is used to solve the five-dimensional continuous chaotic system (1) using the Adomian decomposition method to obtain formulas (2)-(8); the specific process is: In the formula, Indicates the first dimension parameter corresponding to the 0th recursion, Indicates the second dimension parameter corresponding to the 0th recursion, Indicates the third dimension parameter corresponding to the 0th recursion, Indicates the 4th dimension parameter corresponding to the 0th recursion, Indicates the fifth dimension parameter corresponding to the 0th recursion; x(t0) represents the initial value of the variable x of the five-dimensional continuous chaotic system at time t0, y(t0) represents the initial value of the variable y of the five-dimensional continuous chaotic system at time t0, z(t0) represents the initial value of the variable z of the five-dimensional continuous chaotic system at time t0, w(t0) represents the initial value of the variable w of the five-dimensional continuous chaotic system at time t0, and u(t0) represents the initial value of the variable u of the five-dimensional continuous chaotic system at time t0; In the formula, Indicates the first dimension parameter corresponding to the first recursion, Indicates the second dimension parameter corresponding to the first recursion, Indicates the third dimension parameter corresponding to the first recursion, Indicates the fourth dimension parameter corresponding to the first recursion, Indicates the fifth dimension parameter corresponding to the first recursion; In the formula, Indicates the first dimension parameter corresponding to the second recursion, Indicates the second dimension parameter corresponding to the second recursion, Indicates the third dimension parameter corresponding to the second recursion, Indicates the fourth dimension parameter corresponding to the second recursion, Indicates the fifth dimension parameter corresponding to the second recursion; In the formula, Indicates the first dimension parameter corresponding to the third recursion, Indicates the second dimension parameter corresponding to the third recursion, Indicates the third dimension parameter corresponding to the third recursion, Indicates the fourth dimension parameter corresponding to the third recursion, represents the fifth dimension parameter corresponding to the third recursion; Γ(x′) represents the Gamma function, x′ represents the independent variable; q is the order of the fractional order; In the formula, Indicates the first dimension parameter corresponding to the fourth recursion, Indicates the second dimension parameter corresponding to the fourth recursion, Indicates the third dimension parameter corresponding to the fourth recursion, Indicates the fourth dimension parameter corresponding to the fourth recursion, Indicates the fifth dimension parameter corresponding to the fourth recursion; In the formula, Indicates the first dimension parameter corresponding to the fifth recursion, Indicates the second dimension parameter corresponding to the fifth recursion, Indicates the third dimension parameter corresponding to the fifth recursion, Indicates the fourth dimension parameter corresponding to the fifth recursion, Indicates the fifth dimension parameter corresponding to the fifth recursion; Where x(t1) represents the value of the five-dimensional continuous chaotic system variable x at time t1, y(t1) represents the value of the five-dimensional continuous chaotic system variable y at time t1, z(t1) represents the value of the five-dimensional continuous chaotic system variable z at time t1, w(t1) represents the value of the five-dimensional continuous chaotic system variable w at time t1, and u(t1) represents the value of the five-dimensional continuous chaotic system variable u at time t1; h represents the discrete step length; The pseudo-random sequence generator acquisition module is used to deploy formula (2) to formula (8) in FPGA to obtain a pseudo-random sequence generator.

2. The pseudo-random sequence generator based on a five-dimensional chaotic system according to claim 1, characterized in that: The pseudo-random sequence generator acquisition module is used to deploy formula (2) to formula (8) in FPGA to obtain a pseudo-random sequence generator; the specific process is: For each calculation formula on the right side of the equal sign in formula (2) to formula (8), first set the value of the five-dimensional continuous chaotic system parameter involved in each calculation formula; Then, randomly select two parameter variables in each calculation formula and determine whether the two selected parameter variables are addition operations or multiplication operations; If it is an addition operation, the floating point adder is called to calculate the result; if it is a multiplication operation, the floating point multiplier is called to calculate the result; Determine whether the remaining parameter variables in each calculation formula are greater than or equal to 2; If so, continue to randomly select two parameter variables from the remaining parameter variables until the remaining parameter variables in each calculation formula are less than 2, and obtain the result of each calculation formula; If not, get the result of each calculation.

3. The pseudo-random sequence generator based on the five-dimensional chaotic system according to claim 2, characterized in that: For each calculation formula on the right side of the equal sign in formula (2), the value of the five-dimensional continuous chaotic system parameter involved in each calculation formula is first set; Then, randomly select two parameter variables in each calculation formula and determine whether the two selected parameter variables are addition operations or multiplication operations; If it is an addition operation, the floating point adder is called to calculate the result; if it is a multiplication operation, the floating point multiplier is called to calculate the result; Determine whether the remaining parameter variables in each calculation formula are greater than or equal to 2; if so, continue to select two parameter variables at random from the remaining parameter variables until the remaining parameter variables in each calculation formula are less than 2, and obtain the result of each calculation formula; if not, obtain the result of each calculation formula in formula (2); The specific process is: In formula (2) The value is x(t0) which is the initial value of the variable x of the five-dimensional continuous chaotic system at time t0; In formula (2) The value is the initial value y(t0) of the variable y of the five-dimensional continuous chaotic system at time t0; In formula (2) The value is z(t0) the initial value of the variable z of the five-dimensional continuous chaotic system at time t0; In formula (2) The value is the initial value w(t0) of the variable w of the five-dimensional continuous chaotic system at time t0; In formula (2) The value is taken as the initial value u(t0) of the five-dimensional continuous chaotic system variable u at time t0.

4. The pseudo-random sequence generator based on a five-dimensional chaotic system according to claim 3, characterized in that: For each calculation formula on the right side of the equal sign in formula (3), first set the value of the five-dimensional continuous chaotic system parameter involved in each calculation formula; Then, randomly select two parameter variables in each calculation formula and determine whether the two selected parameter variables are addition operations or multiplication operations; If it is an addition operation, the floating point adder is called to calculate the result; if it is a multiplication operation, the floating point multiplier is called to calculate the result; Determine whether the remaining parameter variables in each calculation formula are greater than or equal to 2; if so, continue to select two parameter variables at random from the remaining parameter variables until the remaining parameter variables in each calculation formula are less than 2, and obtain the result of each calculation formula; if not, obtain the result of each calculation formula in formula (3); The specific process is: In formula (3) The calculation formula is FPGA based on IEEE745 single-precision floating point number Calculate and obtain Result; In formula (3) The calculation formula is FPGA based on IEEE745 single-precision floating point number Calculate and obtain Result; In formula (3) The calculation formula is FPGA based on IEEE745 single-precision floating point number Calculate and obtain Result; In formula (3) The calculation formula is FPGA based on IEEE745 single-precision floating point number Calculate and obtain Result; In formula (3) The calculation formula is FPGA based on IEEE745 single-precision floating point number Calculate and obtain Result; In the formula (3) The calculation formula is FPGA based on IEEE745 single-precision floating point number Calculate and obtain The specific process is: Set the values ​​of the five-dimensional continuous chaotic system parameters a and e in the calculation formula; Pick Two variables in judge The operation status of For multiplication operations, call the floating-point multiplier to calculate The calculation result is saved in the variable β; Take two variables from the remaining variables judge The operation status of For multiplication operations, call the floating-point multiplier to calculate The calculation result of , updates the variable β to the current calculation result; Take two variables from the remaining variables judge The operating status of For multiplication operations, call the floating-point multiplier to calculate The calculation result is saved in the variable β′; Take two variables β+β′ from the remaining variables, determine the running status of β+β′, β+β′ is an addition operation, call the floating-point adder to calculate the result of β+β′, and obtain Result; Similarly, we can obtain of The corresponding results of The corresponding results of The corresponding results of The corresponding results.

5. The pseudo-random sequence generator based on the five-dimensional chaotic system according to claim 4, characterized in that: For each calculation formula on the right side of the equal sign in formula (4), first set the value of the five-dimensional continuous chaotic system parameter involved in each calculation formula; Then, randomly select two parameter variables in each calculation formula and determine whether the two selected parameter variables are addition operations or multiplication operations; If it is an addition operation, the floating point adder is called to calculate the result; if it is a multiplication operation, the floating point multiplier is called to calculate the result; Determine whether the remaining parameter variables in each calculation formula are greater than or equal to 2; if so, continue to select two parameter variables at random from the remaining parameter variables until the remaining parameter variables in each calculation formula are less than 2, and obtain the result of each calculation formula; if not, obtain the result of each calculation formula in formula (4); The specific process is: In formula (4) The calculation formula is FPGA based on IEEE745 single-precision floating point number Calculate and obtain The specific process is: In formula (4) The calculation formula is FPGA based on IEEE745 single-precision floating point number Calculate and obtain Result; In formula (4) The calculation formula is FPGA based on IEEE745 single-precision floating point number Calculate and obtain Result; In formula (4) The calculation formula is FPGA based on IEEE745 single-precision floating point number Calculate and obtain Result; In formula (4) The calculation formula is FPGA based on IEEE745 single-precision floating point number Calculate and obtain Result; In the formula (4) The calculation formula is FPGA based on IEEE745 single-precision floating point number Calculate and obtain The specific process is: Set the values ​​of the parameters a and e of the five-dimensional continuous chaotic system; Pick Two variables in judge The operation status of For multiplication operations, call the floating-point multiplier to calculate The calculation result is saved in the variable α; Take two variables from the remaining variables judge The operation status of For multiplication operations, call the floating-point multiplier to calculate The calculation result is saved in the variable α′; Take two variables α+α′ from the remaining variables, determine the running status of α+α′, α+α′ is an addition operation, call the floating-point adder to calculate the calculation result of α+α′, and save the current calculation result in the variable α″; Take two variables eα″ from the remaining variables, determine the running status of eα″, eα″ is a multiplication operation, call the floating-point multiplier to calculate the calculation result of eα″, and save the current calculation result in the variable α″′; Take two variables from the remaining variables judge The operating status of For multiplication operations, call the floating-point multiplier to calculate The calculation result is saved in the variable middle; Take two variables from the remaining variables judge The operating status of For addition operation, call the floating point adder to calculate The calculation results are Result; Similarly, we can obtain Corresponding The results Corresponding The results Corresponding The results Corresponding result.

6. The pseudo-random sequence generator based on a five-dimensional chaotic system according to claim 5, characterized in that: For each calculation formula on the right side of the equal sign in formula (5), first set the value of the five-dimensional continuous chaotic system parameter involved in each calculation formula; Then, randomly select two parameter variables in each calculation formula and determine whether the two selected parameter variables are addition operations or multiplication operations; If it is an addition operation, the floating point adder is called to calculate the result; if it is a multiplication operation, the floating point multiplier is called to calculate the result; Determine whether the remaining parameter variables in each calculation formula are greater than or equal to 2; if so, continue to select two parameter variables at random from the remaining parameter variables until the remaining parameter variables in each calculation formula are less than 2, and obtain the result of each calculation formula; if not, obtain the result of each calculation formula in formula (5); The specific process is: In formula (5) The calculation formula is FPGA based on IEEE745 single-precision floating point number Calculate and obtain Result; In formula (5) The calculation formula is FPGA based on IEEE745 single-precision floating point number Calculate and obtain Result; In formula (5) The calculation formula is FPGA based on IEEE745 single-precision floating point number Calculate and obtain Result; In formula (5) The calculation formula is FPGA based on IEEE745 single-precision floating point number Calculate and obtain Result; In formula (5) The calculation formula is FPGA based on IEEE745 single-precision floating point number Calculate and obtain Result; In the formula (5) The calculation formula is FPGA based on IEEE745 single-precision floating point number Calculate and obtain The specific process is: Set the values ​​of the parameters a and e of the five-dimensional continuous chaotic system; Pick Two variables in judge The operation status of For multiplication operations, call the floating-point multiplier to calculate The calculation result is saved in the variable δ; Take two variables from the remaining variables judge The operation status of For multiplication operations, call the floating-point multiplier to calculate The calculation result is saved in the variable δ′; Take two variables from the remaining variables judge The operating status of For multiplication operations, call the floating-point multiplier to calculate The calculation result is saved in the variable δ″; Will The value of is stored in the variable δ″′; Take two variables δ″δ″′ from the remaining variables, determine the running status of δ″δ″′, δ″δ″′ is a multiplication operation, call the floating point multiplier to calculate the calculation result of δ″δ″′, and save the current calculation result in the variable middle; Take two variables δ+δ′ from the remaining variables, determine the running status of δ+δ′, δ+δ′ is an addition operation, call the floating point adder to calculate the result of δ+δ′, and save the current calculation result in the variable middle; Take two variables from the remaining variables judge The operating status of For addition operation, call the floating point adder to calculate The calculation result is saved in the variable middle; Take two variables from the remaining variables judge The operating status of For multiplication operations, call the floating-point multiplier to calculate The calculation result is saved in the variable middle; Take two variables from the remaining variables judge The operating status of For multiplication operations, call the floating-point multiplier to calculate The calculation result is saved in the variable middle; Take two variables from the remaining variables judge The operating status of For addition operation, call the floating point adder to calculate The calculation results are Result; Similarly, we can obtain Corresponding The results Corresponding The results Corresponding The results Corresponding result.

7. The pseudo-random sequence generator based on a five-dimensional chaotic system according to claim 6, characterized in that: For each calculation formula on the right side of the equal sign in formula (6), first set the value of the five-dimensional continuous chaotic system parameter involved in each calculation formula; Then, randomly select two parameter variables in each calculation formula and determine whether the two selected parameter variables are addition operations or multiplication operations; If it is an addition operation, the floating point adder is called to calculate the result; if it is a multiplication operation, the floating point multiplier is called to calculate the result; Determine whether the remaining parameter variables in each calculation formula are greater than or equal to 2; if so, continue to select two parameter variables at random from the remaining parameter variables until the remaining parameter variables in each calculation formula are less than 2, and obtain the result of each calculation formula; if not, obtain the result of each calculation formula in formula (6); The specific process is: In formula (6) The calculation formula is FPGA based on IEEE745 single-precision floating point number Calculate and obtain Result; In formula (6) The calculation formula is FPGA based on IEEE745 single-precision floating point number Calculate and obtain Result; In formula (6) The calculation formula is FPGA based on IEEE745 single-precision floating point number Calculate and obtain Result; In formula (6) The calculation formula is FPGA based on IEEE745 single-precision floating point number Calculate and obtain Result; In formula (6) The calculation formula is FPGA based on IEEE745 single-precision floating point number Calculate and obtain result.

8. The pseudo-random sequence generator based on the five-dimensional chaotic system according to claim 7, characterized in that: For each calculation formula on the right side of the equal sign in formula (7), the value of the five-dimensional continuous chaotic system parameter involved in each calculation formula is first set; Then, randomly select two parameter variables in each calculation formula and determine whether the two selected parameter variables are addition operations or multiplication operations; If it is an addition operation, the floating point adder is called to calculate the result; if it is a multiplication operation, the floating point multiplier is called to calculate the result; Determine whether the remaining parameter variables in each calculation formula are greater than or equal to 2; if so, continue to select two parameter variables at random from the remaining parameter variables until the remaining parameter variables in each calculation formula are less than 2, and obtain the result of each calculation formula; if not, obtain the result of each calculation formula in formula (7); The specific process is: In formula (7) The calculation formula is FPGA based on IEEE745 single-precision floating point number Calculate and obtain Result; In formula (7) The calculation formula is FPGA based on IEEE745 single-precision floating point number Calculate and obtain Result; In formula (7) The calculation formula is FPGA based on IEEE745 single-precision floating point number Calculate and obtain Result; In formula (7) The calculation formula is FPGA based on IEEE745 single-precision floating point number Calculate and obtain Result; c5 in formula (7) 5 The calculation formula is FPGA based on IEEE745 single-precision floating point number Calculate and obtain result.

9. The pseudo-random sequence generator based on a five-dimensional chaotic system according to claim 8, characterized in that: For each calculation formula on the right side of the equal sign in formula (8), first set the value of the five-dimensional continuous chaotic system parameter involved in each calculation formula; Then, randomly select two parameter variables in each calculation formula and determine whether the two selected parameter variables are addition operations or multiplication operations; If it is an addition operation, the floating point adder is called to calculate the result; if it is a multiplication operation, the floating point multiplier is called to calculate the result; Determine whether the remaining parameter variables in each calculation formula are greater than or equal to 2; if so, continue to select two parameter variables at random from the remaining parameter variables until the remaining parameter variables in each calculation formula are less than 2, and obtain the result of each calculation formula; if not, obtain the result of each calculation formula in formula (8); The specific process is: The calculation formula for x(t1) in formula (8) is FPGA based on IEEE745 single-precision floating point number Calculate and obtain Result; The calculation formula of y(t1) in formula (8) is FPGA based on IEEE745 single-precision floating point number Calculate and obtain Result; The calculation formula of z(t1) in formula (8) is FPGA based on IEEE745 single-precision floating point number Calculate and obtain Result; The calculation formula of w(t1) in formula (8) is FPGA based on IEEE745 single-precision floating point number Calculate and obtain Result; The calculation formula of u(t1) in formula (8) is FPGA based on IEEE745 single-precision floating point number Calculate and obtain Result; The calculation formula of x(t1) in formula (8) is: FPGA based on IEEE745 single-precision floating point number Calculate and obtain The specific process is: Will middle The value of is stored in the variable φ; Will middle The value of is stored in the variable φ′; Will middle The value of is stored in the variable φ″; Will middle The value of is stored in the variable φ″′; Will middle The value is stored in the variable middle; Take two variables from the remaining variables judge The operation status of For multiplication operations, call the floating-point multiplier to calculate The calculation result is saved in the variable middle; Take two variables from the remaining variables judge The operation status of For multiplication operations, call the floating-point multiplier to calculate The calculation result is saved in the variable middle; Take two variables from the remaining variables judge The operation status of For multiplication operations, call the floating-point multiplier to calculate The calculation result is saved in the variable middle; Take two variables from the remaining variables judge The operation status of For multiplication operations, call the floating-point multiplier to calculate The calculation result is saved in the variable middle; Take two variables from the remaining variables judge The operation status of For multiplication operations, call the floating-point multiplier to calculate The calculation result is saved in the variable middle; Take two variables from the remaining variables judge The operation status of For addition operation, call the floating point adder to calculate The calculation result is saved in variable A; Take two variables from the remaining variables judge The operation status of For addition operation, call the floating point adder to calculate The calculation result is saved in variable B; Take two variables from the remaining variables judge The operation status of For addition operation, call the floating point adder to calculate The calculation result is saved in variable C; Take two variables from the remaining variables judge The operation status of For addition operation, call the floating point adder to calculate The calculation result is saved in variable D; Take two variables from the remaining variables judge The operation status of For addition operation, call the floating point adder to calculate The calculation results are Result; Similarly, we can obtain the value corresponding to y(t1) in formula (8): The result of z(t1) corresponds to The result of w(t1) corresponds to The result of u(t1) corresponds to result.

10. The pseudo-random sequence generator based on the five-dimensional chaotic system according to claim 9, characterized in that: The pseudo-random sequence generator based on the five-dimensional chaotic system also includes a key stream generation module, which is used to generate a key stream based on the pseudo-random sequence generator. The encryption algorithm encrypts the image based on the key stream to obtain the encrypted image. The specific process is: Input the parameters a, b, c, d, e of the five-dimensional continuous chaotic system and the initial values ​​x0, y0, z0, w0, u0 of the variables of the five-dimensional continuous chaotic system into a pseudo-random sequence generator, and the pseudo-random sequence generator generates a key stream; The encryption algorithm encrypts the image based on the key stream to obtain the encrypted image; the expression is: Where P(i) represents the pixel value of the i-th pixel in the image; C(i) represents the encrypted value of the pixel value of the i-th pixel in the image; R(i) represents the key stream generated by the pseudo-random sequence generator; C(i-1) represents the encrypted value of the i-1-th pixel value in the image; M×N represents the total number of pixels in the image.

Citation Information

Patent Citations

  • Image encryption and decryption method and image encryption and decryption system

    CN112636895A

  • Electronic lock secret communication method based on five-dimensional false fractional order and chaos shift keying

    CN114095147A