Pseudo-random sequence set generation method and apparatus
By perturbating the first-level logistic chaotic mapping with the second-level Chebyshev chaotic mapping and cosine mapping algorithm, a uniformly distributed pseudo-random sequence set is generated, which solves the problems of short period and sequence collision of chaotic sequences and achieves longer period and better encryption effect.
Patent Information
- Application Number
- CN202411318443.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-20
- Publication Date
- 2025-11-25
- Estimated Expiration
- 2044-09-20
AI Technical Summary
In existing technologies, chaotic sequences have short periods, which affects encryption performance, and there are collision and correlation problems among multiple sets of pseudo-random sequences.
A method is adopted to perturb a second-level Chebyshev chaotic map using a first-level logistic chaotic map. By configuring the parameters, initial values and iteration length of the perturbation generator and the main chaotic sequence generator, and combining the cosine mapping algorithm and the binary search algorithm, a uniformly distributed pseudo-random sequence set is generated, avoiding the occurrence of short-period cycles.
It greatly extends the period of chaotic sequences, avoids the recurrence of short-period loops in pseudo-random sequences, improves encryption performance, and solves the collision problem between sequences by using orthogonal sequence sets.
Smart Images

Figure CN119415064B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of information security technology, and in particular to a pseudo-random sequence set generation method and device. BACKGROUND
[0002] Pseudo-random sequences are widely used in image encryption, secure communication, cryptography and other fields. The current method for generating pseudo-random sequences in digital circuits includes chaotic mapping methods such as Logistic chaotic mapping, Chebyshev chaotic mapping and Tent chaotic mapping, etc. By giving an initial value, a chaotic numerical sequence is generated by iterating the equation, and then the numerical value is mapped to a number, i.e. a pseudo-random sequence is obtained. The pseudo-random sequence obtained by chaotic iteration has good randomness and ergodicity, and is highly sensitive to initial values and condition parameters. Only a slight change can result in completely different sequences, so it can be used to construct a large number of pseudo-random number sequences. In theory, under infinite precision, the period of the sequence obtained by chaotic mapping iteration is infinite, but in hardware implementation, only a finite precision method can be used. Under the premise of finite precision, the dynamics is severely degraded, and the chaotic mapping iteration will enter a short period cycle after a certain period, which seriously affects the performance of encryption, so a pseudo-random sequence generation scheme with longer period needs to be designed to achieve better encryption effect. In some application scenarios, multiple pseudo-random sequences are needed. If the random sequence value has a specific physical meaning, it may be required to avoid consistent collision of sequence values at the same time as much as possible (such as frequency hopping frequency in Bluetooth communication), so a sequence set generation scheme with smaller correlation and fewer collisions needs to be selected.
[0003] In existing digital circuits, a chaotic cascade method is often used, which uses one mapping as a perturbation parameter generator and another as a main chaotic sequence generator. The two mappings can be of the same chaotic type or different chaotic types. For example, an existing scheme uses a double Logistic mapping coupling structure, uses different initial values for iteration, and uses the perturbation parameter generated by the perturbation parameter generator to update the control parameter of the chaotic sequence generator, so that the orbit of the output sequence of the chaotic sequence generator constantly transitions on the chaotic mapping set, i.e. the length of the chaotic sequence output orbit is extended, and the uniformity of the output sequence distribution is strengthened, reducing the influence of the chaotic system entering a short period orbit on the security of the chaotic cipher.
[0004] The prior technical solution can improve the period of the pseudo-random sequence, reduce the possibility of the pseudo-random sequence entering a short period, but cannot completely avoid the pseudo-random sequence entering a short period ring, and there is still a small probability of occurrence. Once the pseudo-random sequence enters the short period ring, the performance of the pseudo-random sequence will be seriously affected. Although the frequency of changing the iteration parameter can timely make the sequence escape from the short period ring and eliminate the influence, the length of the non-periodic sequence generated by the first chaotic mapping will be greatly reduced. Moreover, multiple groups of pseudo-random sequences are generated by the solution, and although the correlation between the pseudo-random sequences is small, there is still a collision at the same position.
[0005] In summary, the prior art has the problem of short period of the chaotic sequence. SUMMARY
[0006] The application provides a pseudo-random sequence set generation method and device to solve the defect of short period of the chaotic sequence in the prior art and realize generation of a long-period orthogonal pseudo-random sequence set.
[0007] The application provides a pseudo-random sequence set generation method, which comprises the following steps:
[0008] A first parameter, a first initial value and a first iteration length of a perturbation generator are configured, and a first chaotic value sequence is obtained by iterating the perturbation generator based on the first parameter, the first initial value and the first iteration length; wherein the perturbation generator is constructed based on a logistic chaotic mapping;
[0009] The first chaotic value sequence is mapped into a uniformly distributed sequence to obtain an initial sequence;
[0010] A second iteration length and a second initial value of a target number of primary chaotic sequence generators are configured, a second parameter of the primary chaotic sequence generator is configured according to the initial sequence, and a target number of second chaotic value sequences are obtained by respectively iterating the primary chaotic sequence generator based on the corresponding second iteration length, the second initial value and the second parameter; wherein the primary chaotic sequence generator is constructed based on a chebyshev chaotic mapping; and the target number is obtained by adding one to a preset sequence set number;
[0011] The second chaotic value sequences are respectively mapped into uniformly distributed sequences to obtain the target number of mapping results, and a pseudo-random sequence set is obtained according to the target number of mapping results.
[0012] According to the pseudo-random sequence set generation method provided by the application, the first chaotic value sequence is mapped into a uniformly distributed sequence to obtain an initial sequence, which specifically comprises:
[0013] The boundary value is calculated according to the first value interval number by using a cosine mapping algorithm, wherein the first value interval number is the number of powers of the second parameter of the chebyshev chaotic mapping;
[0014] The sequence value of the first chaotic value sequence is mapped according to the boundary value by using a binary search algorithm, so as to obtain an initial sequence.
[0015] According to the pseudo-random sequence set generation method provided by the application, the first chaotic value sequence is mapped into a uniformly distributed sequence to obtain an initial sequence, and then the method further comprises:
[0016] The continuous values of the initial sequence are de-continuous processed to obtain a first sequence.
[0017] The first sequence is subjected to a period self-check, and the first initial value is updated according to the self-check result.
[0018] The first parameter, the updated first initial value and the first iteration length are used to perform re-iteration based on the perturbation generator.
[0019] According to the pseudo-random sequence set generation method provided by the application, the second chaotic value sequence is respectively mapped into a uniformly distributed sequence to obtain the target number of mapping results, and the method specifically comprises:
[0020] The value interval number of the first group of main chaotic sequence generators is set as a first number, and the value interval number of the remaining main chaotic sequence generators is set as a second number, wherein the first number is a factorial of a preset sequence set number.
[0021] The boundary value of each main chaotic sequence generator is calculated according to the value interval number of the main chaotic sequence generator by using a cosine mapping algorithm.
[0022] The sequence value of the second chaotic value sequence is mapped according to the boundary value by using a binary search algorithm to obtain the target number of mapping results.
[0023] According to the pseudo-random sequence set generation method provided by the application, the pseudo-random sequence set is obtained according to the target number of mapping results, and the method specifically comprises:
[0024] S1: Let i = 1;
[0025] S2: The i-th chaotic value in the mapping result of the first group of main chaotic sequence generators is taken as an address, and one permutation possibility is taken out from a pre-stored permutation result as a value segment number of the target number of main chaotic generators.
[0026] S3: The value range with the value segment number as the value segment number is selected from the pre-constructed value range set as a target value range.
[0027] S4: taking the chaotic value of the rest of the main chaotic sequence generator as a serial number, selecting an integer corresponding to the serial number from a pre-set value range set as a value result, and obtaining the i-th column data;
[0028] S5: setting i=i+1, repeating steps S2-S5 until the length of each row of pseudo-random number sequence reaches a pre-set sequence length, and obtaining a pseudo-random sequence set.
[0029] According to the pseudo-random sequence set generation method provided by the application, the construction steps of the arrangement result and the value range set include:
[0030] The pre-set sequence set number is used to divide the pre-set random number value range, and the pre-set sequence set number value ranges are obtained, the value ranges are numbered to obtain the segment number, and the value range set is obtained according to the pre-set sequence set number value ranges marked with the segment number.
[0031] The value of the value range corresponding to each segment number is numbered, and the segment number is fully arranged to obtain an arrangement result.
[0032] According to the pseudo-random sequence set generation method provided by the application, the second chaotic value sequence is mapped into a uniformly distributed sequence to obtain the target number of mapping results, and the method further includes:
[0033] Periodic self-checking is performed on the mapping result, and the second initial value is updated according to the self-checking result.
[0034] Based on the main chaotic sequence generator, the second iteration length, the updated second initial value and the second parameter are re-iterated.
[0035] The application also provides a pseudo-random sequence set generation device, which includes the following modules:
[0036] The first iteration unit is configured to configure the first parameter, the first initial value and the first iteration length of the perturbation generator, and to perform iteration based on the perturbation generator according to the first parameter, the first initial value and the first iteration length to obtain a first chaotic value sequence; wherein the perturbation generator is constructed based on logistic chaotic mapping.
[0037] The first result unit is configured to map the first chaotic value sequence into a uniformly distributed sequence to obtain an initial sequence.
[0038] a second iteration unit, configured to configure a second iteration length and a second initial value of a target number of master chaotic sequence generators, configure a second parameter of the master chaotic sequence generator according to the initial sequence, and obtain a target number of second chaotic value sequences based on iterations of the master chaotic sequence generator according to corresponding second iteration lengths, the second initial value and the second parameter respectively; wherein the master chaotic sequence generator is constructed based on a chebyshev chaotic mapping; and the target number is a preset sequence set number plus one.
[0039] a second result unit, configured to respectively map the second chaotic value sequences into uniformly distributed sequences to obtain the target number of mapping results, and obtain a pseudo-random sequence set according to the target number of mapping results.
[0040] The present application also provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the pseudo-random sequence set generation method according to any of the above when executing the program.
[0041] The present application also provides a non-transitory computer readable storage medium having a computer program stored thereon, wherein the computer program is executable by a processor to implement the pseudo-random sequence set generation method according to any of the above.
[0042] The present application also provides a computer program product comprising a computer program, wherein the computer program is executable by a processor to implement the pseudo-random sequence set generation method according to any of the above.
[0043] The application provides a pseudo-random sequence set generation method and device, a first parameter, a first initial value and a first iteration length of a disturbance generator are configured, a first chaotic value sequence is obtained by iterating the disturbance generator based on the first parameter, the first initial value and the first iteration length, the disturbance generator is constructed based on a logistic chaotic mapping, the first chaotic value sequence is mapped into a uniformly distributed sequence to obtain an initial sequence, a second iteration length and a second initial value of a target number of main chaotic sequence generators are configured, a second parameter of the main chaotic sequence generator is configured according to the initial sequence, a target number of second chaotic value sequences are obtained by respectively iterating the main chaotic sequence generator based on the corresponding second iteration length, the second initial value and the second parameter, the main chaotic sequence generator is constructed based on a chebyshev chaotic mapping, the target number is obtained by adding one to a preset sequence set number, the second chaotic value sequences are respectively mapped into uniformly distributed sequences to obtain the target number of mapping results, and a pseudo-random sequence set is obtained according to the target number of mapping results. The first-level logistic chaotic mapping disturbance two-level chebyshev chaotic mapping parameter can greatly prolong the chaotic sequence period, and fundamentally avoid the influence of short-period ring repetition of the pseudo-random sequence on the encryption performance. BRIEF DESCRIPTION OF DRAWINGS
[0044] In order to more clearly illustrate the technical solutions in the application or the prior art, the following will briefly introduce the drawings needed in the embodiments or the prior art description. Obviously, the drawings in the following description are some embodiments of the application, and other drawings can be obtained by those skilled in the art without creative effort.
[0045] Figure 1 is one of the flowcharts of the pseudo-random sequence set generation method provided by the application.
[0046] Figure 2 is the second flowchart of the pseudo-random sequence set generation method provided by the application.
[0047] Figure 3 is the third flowchart of the pseudo-random sequence set generation method provided by the application.
[0048] Figure 4 is the fourth flowchart of the pseudo-random sequence set generation method provided by the application.
[0049] Figure 5 is the fifth flowchart of the pseudo-random sequence set generation method provided by the application.
[0050] Figure 6is a discontinuous processing data timing diagram of the pseudo-random sequence set generation method provided by the application.
[0051] Figure 7 is a sequence set distribution diagram of one embodiment of the pseudo-random sequence set generation method provided by the application.
[0052] Figure 8 is a structural diagram of the pseudo-random sequence set generation device provided by the application.
[0053] Figure 9 is a structural diagram of the electronic device provided by the application. DETAILED DESCRIPTION
[0054] To make the objectives, technical solutions and advantages of the present application clearer, the technical solutions of the present application will be described clearly and completely below with reference to the drawings in the present application. Obviously, the described embodiments are some of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor fall within the protection scope of the present application.
[0055] The prior art often only improves the average period of the pseudo-random sequence, and cannot completely avoid a large number of short-period cycles in the chaotic process. Therefore, a design scheme needs to reduce the probability of the pseudo-random chaotic sequence entering the short-period cycle as much as possible, and fundamentally avoid the influence of the repeated appearance of the short-period cycle of the pseudo-random sequence on the encryption performance. Based on this, the present application provides a pseudo-random sequence set generation method and device.
[0056] The present application will be described below in combination with Figures 1-7 The pseudo-random sequence set generation method of the present application is described. Figure 1 is one of the flow diagrams of the pseudo-random sequence set generation provided by the present application, as Figure 1 shown, the method comprises the following steps:
[0057] Step 110: configuring a first parameter, a first initial value and a first iteration length of a perturbation generator, and obtaining a first chaotic value sequence based on iteration of the perturbation generator according to the first parameter, the first initial value and the first iteration length; wherein the perturbation generator is constructed based on a logistic chaotic mapping.
[0058] In step 110, a group of perturbation parameter generators is set based on a logistic chaotic mapping.
[0059] The logistic chaotic mapping formula is:
[0060] x n+1 =μ(1-x n )x n, x e [-1, 1].
[0061] wherein, μ is logistic parameter (i.e. first parameter), and μ e [3.55, 4] is better for chaos effect; x n is the result of last iteration, x n+1 is the result of this iteration.
[0062] It can be understood that the value of μ is stored in a register and can be configured in real time through a bus. The first initial value x0 and the first iteration length L1 are configured through a bus, and the first chaotic value sequence with the length of L1 is obtained through chaotic iteration. It can be understood that if L1 is not set, the sequence is iterated in the digital circuit.
[0063] In the specific implementation process, the specific steps of step 110 are as follows:
[0064] Step 111: The software configures the first parameter μ of logistic chaotic iteration and the first initial value x0 through a bus.
[0065] Step 112: The first initial value is quantized into a binary number and input into a perturbation parameter generator.
[0066] Step 113: (1-x n ) is calculated.
[0067] Step 114: μ, 1-x n , and x n are input into a multiplier to calculate the iteration result.
[0068] Step 115: The output result of the multiplier is taken as the new first initial value of the perturbation parameter generator, and steps 112-115 are repeated until the sequence length reaches the first iteration length L1, so that the sequence value iteration is realized, and the first chaotic value sequence is obtained.
[0069] Step 120: The first chaotic value sequence is mapped into a uniformly distributed sequence to obtain an initial sequence.
[0070] It can be understood that the purpose of the present application is to perturb the second-level chebyshev chaotic mapping parameter k through the first-level logistic chaotic mapping, so as to prolong the sequence period. On this basis, the first chaotic value sequence generated by step 110 cannot be directly applied to the second-level chebyshev chaotic mapping parameter, and the chaotic value sequence needs to be mapped into an integer value in the value range of the required pseudo-random sequence value.
[0071] Therefore, in step 120, the first chaotic value sequence is mapped.
[0072] It can be understood that the mapping is divided into uniform mapping and non-uniform mapping. The sequence value distribution of the logistic chaotic value sequence directly obtained by using the uniform mapping is uneven, which affects the performance of encryption. Therefore, the non-uniform encryption method is selected to map the first chaotic value sequence into an initial sequence with uniform distribution, so that the final pseudo-random sequence also has uniform distribution.
[0073] The application does not limit the selected non-uniform encryption method, which can be selected according to the situation.
[0074] In some embodiments, the non-uniform cosine mapping method is selected for mapping. It can be understood that the cosine mapping method can balance the probability density of chaotic mapping, so as to obtain a sequence with uniform distribution. The application will further illustrate the use of the non-uniform cosine mapping method to obtain an initial sequence with uniform distribution in subsequent embodiments.
[0075] Step 130: configuring a target number of groups of second iteration lengths and second initial values of main chaotic sequence generators, configuring second parameters of the main chaotic sequence generators according to the initial sequence, respectively based on the main chaotic sequence generators performing iteration according to corresponding second iteration lengths, the second initial values and the second parameters, obtaining a target number of second chaotic value sequences; wherein the main chaotic sequence generator is constructed based on chebyshev chaotic mapping; and the target number is obtained by adding one to the preset sequence set number.
[0076] In step 130, the target number of groups of main chaotic sequence generators are set based on chebyshev chaotic mapping. In order to facilitate description, the target number is denoted as n+1, and n is the number of sequence sets to be generated, and n is an integer.
[0077] The chebyshev chaotic mapping formula is:
[0078] x n+1 =cos(kcos -1 (x n )),x∈[-1,1]。
[0079] Wherein, x n is the last iteration result, x n+1 is the current iteration result, k is the order (i.e. the power of the second parameter), and the system is in a chaotic state when k takes a positive integer power of 2, and the value of k takes the final output value of the perturbation parameter generator.
[0080] It can be understood that the second initial value x0 and the second iteration length L2 are configured through the bus, so that the second chaotic value sequence with a length of L2 can be obtained through chaotic iteration.
[0081] In addition, it needs to be pointed out that, due to the calculation of the cosine value in the iteration formula, it cannot be directly implemented in a digital circuit, and the specific implementation method is not limited in the application, and chebyshev chaotic iteration can be performed according to the situation in the actual implementation process. In a specific embodiment, the cordic algorithm is used to assist the digital circuit to perform chebyshev chaotic iteration. Specifically, first, the cordic algorithm core is used to calculate a = cos -1 (x n ), and then multiplied by the order k to calculate b = ka, and finally the cordic algorithm core is used to calculate cos(b), that is, x n+1 can be obtained. In addition, it needs to be pointed out that the calculation accuracy of the cordic algorithm core can be configured according to the accuracy requirement in the specific calculation process. The higher the accuracy, the longer the iteration period, and the more difficult the chaotic sequence enters the periodic ring.
[0082] It can be understood that, in the existing digital circuit implementation of chebyshev chaotic iteration, in order to simplify the operation, the order k is usually directly taken as 2, which will cause the problem that the sequence enters the chaotic state slowly and the parameters are easy to be cracked. The embodiment of the application applies the cordic algorithm to assist the digital circuit to perform chebyshev chaotic iteration, which can realize the iteration calculation of any value of k.
[0083] Based on the above embodiment, in some embodiments, the specific steps of each group of main chaotic sequence generator iteration are as follows:
[0084] Step 131: The software configures the second initial value x0 of chebyshev chaotic iteration through the bus.
[0085] Step 132: Quantize the absolute value of the second initial value, and input the main chaotic sequence generator.
[0086] Step 133: The initial sequence output by the perturbation parameter generator in step 120 is taken as the power of the second parameter k, and enters the iteration process. It needs to be emphasized that the second iteration length of the n+1 groups of main chaotic sequence generators is the same, the second initial value is different, and the second parameter is taken from the initial sequence. In the process of taking the value of the second parameter, it can be taken from the initial sequence in order, or other methods can be used, and the application does not limit this.
[0087] It needs to be pointed out that, because the parameters of the main chaotic sequence generator do not need to change all the time, in order to save calculation resources, the iteration speed of the perturbation parameter generator can be slow, and the perturbation parameter generator is iterated once after each iteration of the main chaotic sequence generator.
[0088] Step 134: The quantization result is input into the cordic algorithm core 1 to calculate a = cos-1 (x n ), to obtain the inverse cosine value.
[0089] Step 135: input the calculation result of the cordic algorithm core 1 into the multiplier to multiply the order k, to obtain b = ka.
[0090] Step 136: input the calculation result of the multiplier into the cordic algorithm core 2 to calculate cos(b), to obtain the cosine quantization value.
[0091] Step 137: input the cosine quantization value into the cordic algorithm core 1 again to realize sequence value iteration until the sequence length reaches the second iteration length L2, so as to realize sequence value iteration to obtain the second chaotic value sequence. In the process of using different initial values to generate (n+1) groups of pseudo-random sequences, the cordic algorithm core can be time-multiplexed to save resources.
[0092] It should be noted that the first iteration length and the second iteration length are irrelevant, and the first and the second are only used for differentiation, and do not mean limitation on order or size.
[0093] Step 140: respectively map the second chaotic value sequence into a uniformly distributed sequence to obtain the target number of mapping results, and obtain a pseudo-random sequence set according to the target number of mapping results.
[0094] In step 140, each second chaotic value sequence is first mapped.
[0095] It can be understood that the mapping is divided into uniform mapping and non-uniform mapping. The sequence value distribution of the chebyshev chaotic value sequence directly obtained by uniform mapping is not uniform, which affects the performance of encryption. Therefore, a non-uniform encryption method is selected to map the second chaotic value sequence into a uniformly distributed mapping result, so that the final obtained pseudo-random sequence is also uniformly distributed.
[0096] The present application does not limit the selected non-uniform encryption method, which can be selected according to the situation.
[0097] In some embodiments, a non-uniform cosine mapping method is selected for mapping. It can be understood that the cosine mapping method can balance the probability density of chaotic mapping, so as to obtain a uniformly distributed sequence. The present application will further illustrate the use of the non-uniform cosine mapping method to obtain a uniformly distributed mapping result in subsequent embodiments.
[0098] Then, a pseudo-random sequence set is obtained according to the target number (n+1) of mapping results.
[0099] It should be noted that in the process of obtaining the pseudo-random sequence set from the mapping result, a plurality of ways can be adopted to obtain n pseudo-random sequences from n+1 mapping results, and then obtain the pseudo-random sequence set. The present application does not limit the way of taking values.
[0100] In some embodiments, the chaotic value in the mapping result is taken as an address, and one permutation possibility is taken from the permutation result of the pre-prepared arrangement as the value segment number of each main chaotic generator. The main chaotic generator takes values again in the segment corresponding to the value segment number (value range), and outputs the final result as the output of the row. The n rows of pseudo-random sequences are repeatedly obtained, and then the pseudo-random sequence set is obtained. The present application will describe this value taking method in subsequent embodiments.
[0101] The present application can greatly prolong the chaotic sequence period by perturbing the second-level chebyshev chaotic mapping parameter k through the first-level logistic chaotic mapping, solve the defect of short chaotic sequence period in the prior art, and can be applied to soc encryption scenarios, including text, image, communication encryption, and can also be applied to other fields requiring generation of pseudo-random numbers, such as Bluetooth frequency hopping communication scenarios.
[0102] The following further describes the obtaining of the initial sequence with uniform distribution by using the non-uniform cosine mapping method in step 120. In some embodiments, the first chaotic value sequence is mapped into a sequence with uniform distribution to obtain an initial sequence, specifically including:
[0103] Step 121: calculating boundary values according to the first value interval number by using the cosine mapping algorithm; wherein the first value interval number is the number of powers of the second parameter of the chebyshev chaotic mapping;
[0104] Step 122: mapping the sequence values of the first chaotic value sequence according to the boundary values by using the binary search algorithm to obtain an initial sequence.
[0105] Specifically, the embodiment of the present application provides a chaotic value mapping method which does not affect the dynamic characteristics of the chaotic system, makes the output sequence values uniformly distributed, and is convenient for modifying the value range of the sequence values, to solve the problem of uneven distribution of output sequences that may occur in the existing chaotic mapping scheme.
[0106] The specific steps of the cosine mapping algorithm are:
[0107] First, the chaotic sequence values in the range of [-1, 1] obtained by each calculation are divided into ranges. If the following condition is met:
[0108]
[0109] x iThe corresponding sequence value is k.
[0110] It should be noted that q in the logistic chaotic mapping takes the number of powers of k in the Chebyshev parameter to be generated, for example, the power of k can take {1, 2, 3, 4}, and q is taken as 4.
[0111] After that, in the digital circuit, the chaotic quantization value (i.e. the sequence value of the first chaotic value sequence) needs to be divided and judged. Specifically, after the software is configured with q, the digital circuit will calculate q+1 boundary values in turn and store them in the ram for storage, according to the boundary values calculated in advance, the sequence value of the first chaotic value sequence is judged by using the dichotomy method, and the judgment result is output, that is, a group of pseudo-random sequences with values [0, q-1] is obtained, which is denoted as the initial sequence.
[0112] In addition, in order to save calculation time, since the logistic iteration interval time is long, in some embodiments, the delay period is used to find the mapping by dichotomy.
[0113] In the process of mapping the chaotic value into the sequence value, the cosine mapping method is used in the embodiment of the application, so that the chaotic output sequence value is uniformly distributed, and the sequence value range can be modified quickly, and the mapping process can be realized quickly in the digital circuit.
[0114] Further, based on the above embodiment, in order to completely avoid the long period of time repetition, the pseudo-random sequence is checked and corrected in real time during the generation of the pseudo-random sequence, which can occur after step 120. That is, the first chaotic value sequence is mapped into a uniformly distributed sequence to obtain an initial sequence, and then the method further comprises:
[0115] Step 151: de-continuous processing is performed on the continuous values of the initial sequence to obtain a first sequence;
[0116] Step 152: period self-checking is performed on the first sequence, and the first initial value is updated according to the self-checking result;
[0117] Step 153: re-iteration is performed based on the perturbation generator according to the first parameter, the updated first initial value and the first iteration length.
[0118] Specifically, the obtained sequence may have continuous values, which may cause the parameters of the subsequent main chaotic sequence generator not to change, and may affect the long period performance of the finally generated sequence set.
[0119] Therefore, the continuous values of the initial sequence are de-continuous processed. The method for de-continuous processing is not specifically limited in the application, and the de-continuous processing method can be selected according to the actual situation in the specific implementation process.
[0120] In some embodiments, the continuous values are de-continuous processed by using the circular method, which can not destroy the correlation of the chaotic sequence while processing the continuous values. The specific steps include: using the circular method to judge all adjacent sequence values in turn, if the current sequence value is repeated with the previous sequence value, then add 1 to the current sequence value and all the following sequence values, and then judge the next sequence value. After L1 iterations, the first sequence after de-continuous processing is obtained.
[0121] It should be particularly pointed out that in digital circuits, the sequence is generated in real time and the complete sequence cannot be obtained in advance, so the hardware implementation of the circular method needs to be improved. Assuming that the chaotic sequence value register is xn, the sequence value register is first tapped, the register is xn_delay1, and it is judged whether xn and xn_delay1 are equal at the current clock. If they are equal, the value of the added value register added_reg is added by 1. The current original sequence value xn is added to the value of the added value register added_reg as the final output yn of the current sequence value. If the original sequence appears multiple consecutive times, the added value register will be added multiple times, but the value of the register will not increase indefinitely. This is exactly because the sequence value is limited in value, so when the value of the added register exceeds the sequence value range, it is taken modulo and added.
[0122] After de-continuous processing, the period self-checking is performed on each row of the obtained first sequence, and the first initial value is updated according to the self-checking result. The method for period self-checking is not specifically limited in the present application, and the period self-checking method can be selected according to the actual situation in the specific implementation process.
[0123] After the self-checking is completed, the steps 110-120 are re-executed according to the updated first initial value.
[0124] In some embodiments, the period self-checking is performed by using the following steps:
[0125] The sampling length check_length, the number of samples within the period check_number and the guarantee period circle are set as needed. First, the sequence is sampled periodically according to the sampling length, and the sampled sequence is saved to the register. The sampling frequency = guarantee period / number of samples within the period. Then, the subsequent input is shifted and compared with the sampled sequence. If they are consistent, it is considered that the period repeats within circle data, at this time, the chaotic generator initial value change pulse signal is generated, the chaotic generator changes the first initial value, and the step 110 is jumped to use the new first initial value for iteration.
[0126] In addition, even if there is no repetition in the circle data, the initial value of the chaotic iteration generator is changed at the beginning of each circle. By the above method, it can be ensured that there is no periodic ring with a length greater than circle / check_number in the circle, and there is no periodic repetition between different circles.
[0127] wherein it can be understood that short period sequences with a period less than circle / check_number are inevitable and cannot be eliminated, and have no effect on performance, such as the sequence {1, 2, 1, 2, 3, 6, 7···}, wherein {1, 2} has two short periods, which has no effect on the performance of the sequence, and the present application does not pay attention to it.
[0128] The following further describes the use of the non-uniform cosine mapping method to obtain a uniformly distributed mapping result in step 140. In some embodiments, the second chaotic value sequence is respectively mapped into a uniformly distributed sequence to obtain the target number of mapping results, specifically including:
[0129] Step 141: setting the value interval number of the first group of main chaotic sequence generators as the first number, and setting the value interval number of the remaining main chaotic sequence generators as the second number; wherein the first number is the factorial of the preset sequence set number;
[0130] Step 142: calculating the respective boundary values according to the value interval number of the main chaotic sequence generator by using the cosine mapping algorithm;
[0131] Step 143: respectively mapping the sequence values of the second chaotic value sequence according to the boundary values by using the binary search algorithm to obtain the target number of mapping results.
[0132] Specifically, in step 141, the second chaotic value sequence output by step 130 is taken as the chaotic value sequence to be mapped, and the q of one group of the (n+1) groups of main chaotic sequence generators is set to n!, and the q of the other n groups is set to the second number m. wherein the second number is the number of integers in each value range in the value range set. It should be emphasized that in the setting process, any one group is selected from the (n+1) groups of main chaotic sequence generators, and the q of the selected main chaotic sequence generator is set to n!.
[0133] In addition, in order to save calculation time, since there is a delay in the cordic algorithm core output and the logistic iteration interval time is long, in some embodiments, the delay period is used for binary search mapping.
[0134] In step 143, the specific mapping steps are referred to step 122, and the present application does not repeat them here.
[0135] Further, based on the above embodiments, in order to completely avoid long period repetition, real-time checking and correction of the pseudo-random sequence in the pseudo-random sequence generation process is performed, which can occur after step 140 obtains the mapping results. That is, the second chaotic value sequence is mapped into a uniformly distributed sequence to obtain the target number of mapping results, and then the following steps are further included:
[0136] Step 161: Periodic self-checking of the mapping results, and updating the second initial value according to the self-checking result;
[0137] Step 162: Re-iteration based on the main chaotic sequence generator according to the second iteration length, the updated second initial value and the second parameter.
[0138] Specifically, the method of periodic self-checking of the second chaotic value sequence is the same as that of periodic self-checking of the first chaotic value sequence, which is not described in detail in the present application.
[0139] The following describes the step 140 of taking values from the n+1 mapping results to obtain n pseudo-random sequences, and then obtaining a pseudo-random sequence set. In some embodiments, the pseudo-random sequence set is obtained according to the target number of mapping results, specifically including:
[0140] S1: Let i = 1;
[0141] S2: Take the i-th chaotic value in the mapping result of the first group of main chaotic sequence generators as an address, and take one permutation possibility from the pre-stored permutation result as the value segment number of the target number of main chaotic generators;
[0142] S3: Select a value range with a segment number of the value segment number from the pre-constructed value range set as the target value range;
[0143] S4: Take the chaotic value of the remaining main chaotic sequence generator as a sequence number, and select an integer corresponding to the sequence number from the pre-set value range set as a value result to obtain the i-th column of data;
[0144] S5: Let i = i + 1, repeat steps S2-S5 until the length of each row of pseudo-random number sequence reaches the pre-set sequence length, and obtain the pseudo-random sequence set.
[0145] Specifically, in the existing chaotic mapping scheme, when generating multiple pseudo-random sequences, there is a small amount of sequence value collision between the pseudo-random sequences, that is, the data in the same column (at the same time) of the pseudo-random sequence set collides, which will affect the performance of the pseudo-random sequence set in some scenarios (such as Bluetooth frequency hopping communication). In order to solve this problem, the present application provides a pseudo-random sequence set generation scheme without column collision, that is, orthogonal.
[0146] Specifically, on the basis of the set arrangement result and the set value range, the first group of chaotic generators is used to select a full arrangement result, and the purpose is to select a value interval segment number for the current value of different column sequences, and the other n groups of sequence generators select specific values from the selected segment number.
[0147] In actual operation, if the current output result of the first group of chaotic generators corresponds to the arrangement in the RAM as {k0, k2, k1, …}, and the output sequence of the first group in the other n groups is {h1, h0, h2}, the h1th value in the k0th segment is selected as the pseudo-random number of the first row of the sequence set, and the other rows are the same.
[0148] The embodiment of the application divides the sequence value interval in advance, and the different rows in the sequence set apply independent chaotic sequences, and the final pseudo-random sequence set is obtained by secondary selection in the value interval. The sequence values in the same column in the sequence set are taken from different intervals in a manner, which completely avoids the collision between different sequences and realizes the orthogonality of the pseudo-random sequence. This method makes the value probability of each element in the sequence set uniformly distributed in the entire value interval.
[0149] Based on the above embodiment, the construction steps of the arrangement result and the set value range include:
[0150] Step 171: dividing the preset random number value range by the preset sequence set number to obtain the preset sequence set number value range, numbering the value range to obtain the segment number, and obtaining the value range set according to the preset sequence set number value range marked with the segment number;
[0151] Step 172: numbering the value of the value range corresponding to each segment number, and performing full permutation on the segment number to obtain an arrangement result.
[0152] Specifically, the pseudo-random number value range is [0, mn-1], the number of sequence sets to be generated is n, the data range is divided into corresponding n segments, and each segment has m values. The segment numbers are sequentially numbered as [0, n-1], and the n value ranges marked with the segment numbers form a value range set. The integers in each value range are sequentially numbered.
[0153] The segment numbers are fully permuted by the dictionary method, and n! arrangement results are stored in the RAM. Different addresses of the RAM correspond to an arrangement result.
[0154] Further, in order to more specifically illustrate the application, a specific example is given as follows: Figure 2As shown, including register configuration module, perturbation parameter generator module, cosine mapping module, de-continuous processing module, main chaotic generator module, cycle self-checking module, full permutation record and generation module, sequence set mapping module.
[0155] The register configuration module is directly connected to the APB bus, and is used to store software configured chaotic initial values, logistic chaotic equation parameters μ, sampling length check_length, number of check samples in a cycle check_number, guaranteed cycle circle, iteration cycles L1, L2, sequence set column number, and sequence value number. The main chaotic generator module is as shown in Figure 3 As shown, mainly realizes chebyshev chaotic iteration calculation. The cosine mapping module is as shown in Figure 4 As shown, containing boundary value calculation module, boundary value record module and binary search module. In the boundary value calculation module, q+1 boundary values are calculated using the cordic module according to the configured q value, and are stored in the ram of the boundary value record module in order. Then the input chaotic value is compared by binary search, and the mapping result is output according to the interval. The full permutation calculation and record module is as shown in Figure 5 As shown, mainly performs full permutation on the segment numbers after segmenting the sequence value range according to the dictionary method, and stores them in the ram in order. Then the input chaotic value is taken as an address to take out one permutation possibility as the value segment number of each main chaotic generator. The main chaotic generator takes the value in the corresponding segment again as the final output result of the row.
[0156] For example, the sequence value generated by the present embodiment is an integer in the range [0, 19], the length is 100000, and 4 groups of orthogonal sequences are generated.
[0157] According to steps 171-172, the interval [0, 19] is divided into 4 segments, which are [0, 4], [5, 9], [10, 14], and [15, 19], and the range numbers are 0-3. The full permutation results calculated according to the dictionary method are: {0, 1, 2, 3}, {0, 1, 3, 2}, {0, 3, 1, 2}, {0, 3, 2, 1}···, and a total of 24 permutation results are recorded in the ram in order.
[0158] According to step 110, the software configures the perturbation parameter generator initial value x0=0.312, μ=4. After the initial value is quantized by 32 bits, it is configured to the perturbation parameter generator through the bus, and iteration is performed to obtain a 32-bit numerical sequence (i.e. the first chaotic value sequence).
[0159] According to the step 120, the number of powers of the parameter k of the Chebyshev polynomial to be generated is set to 4, and the value is in the set {1, 2, 3, 4}, so q = 4 is taken when mapping, and the 32-bit value sequence is output to the cosine mapping module. The cordic algorithm core is used to calculate all boundary values in the cosine mapping module, and the boundary values are stored in the RAM in order of size. The above 32-bit value sequence is output to the binary search module, and each 32-bit sequence value is judged to be mapped in order as: {2, 1, 1, 3, 2, 0, 2, 2,...} to obtain the initial sequence.
[0160] According to the step 151, the de-continuity processing is performed to obtain: {2, 1, 2, 0, 3, 1, 3, 0,...}, and the de-continuity processing process is as shown in Figure 6
[0161] According to the steps 152-153, the sampling length check_length is set to 5, the number of check samples check_number in the period is set to 5, and the guarantee period circle is set to 100, which can guarantee that there is no period ring with a length greater than 20. Since the first value is 2, the parameter k of the main chaotic sequence generator is taken as 3 in the first circle of the main chaotic sequence generator. It should be emphasized that the corresponding relationship between the sequence value and k is: sequence value + 1 = k. This is because the value of k is ≥1, the sequence value is ≥0, and 0 in the sequence value corresponds to k taking 1.
[0162] According to step 130, five groups of main chaotic sequence generators are set, q=24 for the first group and q=5 for the other four groups. The five groups of main chaotic sequence generators are set with different initial values, and after uniform mapping of step 140 and period self-check of steps 161-162, the first group of main chaotic sequence generators obtains the sequence: {3, 0, 17, 12, 5, 8···}, wherein the first value 3 corresponds to the arrangement result of {0, 3, 2, 1} in the ram, so the value in the first column of the first row of the sequence set is taken from the interval 0, and the value in the first column of the second row is taken from the interval 3; the second group of main chaotic sequence generators obtains: {1, 3, 3, 0, 4, 2···}, wherein the first value 1 corresponds to the value of 1 corresponding to the number 1 of the interval 0, so the result in the first column of the first row of the sequence set is 1. The third group of main chaotic sequence generators obtains: {2, 3, 4, 2, 1, 3···}, wherein the first value 2 corresponds to the value of 17 corresponding to the number 2 of the interval 3, so the result in the first column of the second row of the sequence set is 17. According to this step, the first column of the sequence set is obtained according to the results of the fourth and fifth groups of chaotic sequences. The second column of the sequence is obtained according to the second chaotic value of the five groups of sequences. If the period self-check detects a period ring, the corresponding chaotic sequence generator is updated once, otherwise each circle is updated once. Optionally, the initial value can be updated by adding a small fixed value. Repeat the above steps to obtain the second column and the third column. If the period self-check is not passed in the middle or the sequence length count reaches the circle, replace the initial value of all chaotic generators once and clear the counter. Repeat the process, and thus the sequence set of the 100000th column can be obtained, as shown in Figure 7 It can be seen that there is no collision between the four rows of sequence values, and the sequence value distribution has good randomness, and there is no period repetition within the length of 100000.
[0163] The application provides a pseudo-random sequence set generation method, which comprises the following steps: configuring a first parameter, a first initial value and a first iteration length of a disturbance generator, and obtaining a first chaotic value sequence by iterating the disturbance generator based on the first parameter, the first initial value and the first iteration length; wherein the disturbance generator is constructed based on a logistic chaotic mapping; mapping the first chaotic value sequence into a uniformly distributed sequence to obtain an initial sequence; configuring a second iteration length and a second initial value of a target number of groups of main chaotic sequence generators, configuring a second parameter of the main chaotic sequence generator based on the initial sequence, and obtaining a target number of second chaotic value sequences by iterating the main chaotic sequence generator based on the corresponding second iteration length, the second initial value and the second parameter, respectively; wherein the main chaotic sequence generator is constructed based on a chebyshev chaotic mapping; the target number is obtained by adding one to a preset sequence set number; the second chaotic value sequences are mapped into uniformly distributed sequences to obtain the target number of mapping results, and a pseudo-random sequence set is obtained based on the target number of mapping results. The application can greatly prolong the chaotic sequence period by disturbing the second chebyshev chaotic mapping parameter through the first logistic chaotic mapping, and can fundamentally avoid the influence of the short period ring of the pseudo-random sequence on the encryption performance.
[0164] The pseudo-random sequence set generation device provided by the application is described below, and the pseudo-random sequence set generation device described below can be correspondingly referred to the pseudo-random sequence set generation method described above. As shown in the figure, the device comprises the following modules: Figure 8
[0165] The first iteration unit 810 is configured to configure a first parameter, a first initial value and a first iteration length of a disturbance generator, and obtain a first chaotic value sequence by iterating the disturbance generator based on the first parameter, the first initial value and the first iteration length; wherein the disturbance generator is constructed based on a logistic chaotic mapping;
[0166] The first result unit 820 is configured to map the first chaotic value sequence into a uniformly distributed sequence to obtain an initial sequence.
[0167] The second iteration unit 830 is configured to configure a second iteration length and a second initial value of a target number of groups of main chaotic sequence generators, configure a second parameter of the main chaotic sequence generator based on the initial sequence, and obtain a target number of second chaotic value sequences by iterating the main chaotic sequence generator based on the corresponding second iteration length, the second initial value and the second parameter, respectively; wherein the main chaotic sequence generator is constructed based on a chebyshev chaotic mapping; and the target number is obtained by adding one to a preset sequence set number.
[0168] The second result unit 840 is configured to respectively map the second chaotic value sequence into a uniformly distributed sequence to obtain the target number of mapping results, and obtain a pseudo-random sequence set according to the target number of mapping results.
[0169] According to the pseudo-random sequence set generation device provided by the application, the first chaotic value sequence is mapped into a uniformly distributed sequence to obtain an initial sequence, and the method specifically comprises the following steps:
[0170] The boundary value is calculated according to the first value interval number by using the cosine mapping algorithm, wherein the first value interval number is the number of powers of the second parameter of the chebyshev chaotic mapping;
[0171] The sequence value of the first chaotic value sequence is mapped according to the boundary value by using the binary search algorithm to obtain an initial sequence.
[0172] According to the pseudo-random sequence set generation device provided by the application, the first chaotic value sequence is mapped into a uniformly distributed sequence to obtain an initial sequence, and the method specifically comprises the following steps:
[0173] The continuous value of the initial sequence is de-continuous processed to obtain a first sequence;
[0174] The first sequence is subjected to a period self-check, and the first initial value is updated according to the self-check result;
[0175] The first parameter, the updated first initial value and the first iteration length are used to re-iterate based on the perturbation generator.
[0176] According to the pseudo-random sequence set generation device provided by the application, the second chaotic value sequence is respectively mapped into a uniformly distributed sequence to obtain the target number of mapping results, and the method specifically comprises the following steps:
[0177] The value interval number of the first group of main chaotic sequence generators is set to a first number, and the value interval number of the remaining main chaotic sequence generators is set to a second number, wherein the first number is a factorial of a preset sequence set number;
[0178] The boundary value of each main chaotic sequence generator is calculated according to the value interval number of the main chaotic sequence generator by using the cosine mapping algorithm;
[0179] The sequence value of the second chaotic value sequence is mapped according to the boundary value of each main chaotic sequence generator by using the binary search algorithm to obtain the target number of mapping results.
[0180] According to the pseudo-random sequence set generation device provided by the application, the pseudo-random sequence set is obtained according to the target number of mapping results, and the method specifically comprises the following steps:
[0181] S1: let i = 1;
[0182] S2: take the i th chaotic value in the mapping result of the first set of main chaotic sequence generators as an address, and take one permutation possibility from the pre-stored permutation result as the value segment number of the target number of main chaotic generators;
[0183] S3: select the value range with the segment number as the value segment number from the pre-constructed value range set as the target value range;
[0184] S4: take the chaotic value of the remaining main chaotic sequence generator as a serial number, and select the integer corresponding to the serial number from the pre-set value range set as the value result to obtain the i th column of data;
[0185] S5: let i = i + 1, repeat steps S2-S5 until the length of each row of pseudo-random number sequence reaches the pre-set sequence length, and obtain the pseudo-random sequence set.
[0186] According to the pseudo-random sequence set generation device provided by the application, the construction steps of the permutation result and the value range set include:
[0187] The preset sequence set number is used to divide the preset random number value range to obtain the preset sequence set number of value ranges, the value ranges are numbered to obtain segment numbers, and the value range set is obtained according to the preset sequence set number of value ranges marked with the segment numbers;
[0188] The value of the value range corresponding to each segment number is numbered, and the segment numbers are fully permuted to obtain the permutation result.
[0189] According to the pseudo-random sequence set generation device provided by the application, the second chaotic value sequence is mapped into a uniformly distributed sequence to obtain the target number of mapping results, and the application further includes:
[0190] Periodically check the mapping result, and update the second initial value according to the self-checking result;
[0191] Based on the main chaotic sequence generator, the second iteration length, the updated second initial value and the second parameter are re-iterated.
[0192] The pseudo-random sequence set generation device provided by the application, by configuring the first parameter, the first initial value and the first iteration length of the disturbance generator, obtaining a first chaotic value sequence based on iteration of the disturbance generator according to the first parameter, the first initial value and the first iteration length; wherein the disturbance generator is constructed based on logistic chaotic mapping; the first chaotic value sequence is mapped into a uniformly distributed sequence to obtain an initial sequence; the second iteration length and the second initial value of a target number of main chaotic sequence generators are configured, the second parameter of the main chaotic sequence generator is configured according to the initial sequence, and a target number of second chaotic value sequences are obtained based on iteration of the main chaotic sequence generator according to the corresponding second iteration length, the second initial value and the second parameter; wherein the main chaotic sequence generator is constructed based on chebyshev chaotic mapping; the target number is obtained by adding one to the preset sequence set number; the second chaotic value sequences are respectively mapped into uniformly distributed sequences to obtain the target number of mapping results, and a pseudo-random sequence set is obtained according to the target number of mapping results. The application can greatly prolong the chaotic sequence period by one-level logistic chaotic mapping disturbance two-level chebyshev chaotic mapping parameter, and fundamentally avoid the influence of short period ring repetition of pseudo-random sequences on encryption performance.
[0193] Figure 9 An example of a schematic diagram of a physical structure of an electronic device is shown in FIG. 1. Figure 9As shown, the electronic device can include a processor 910, a communications interface 920, a memory 930, and a communications bus 940, wherein the processor 910, the communications interface 920, and the memory 930 complete mutual communication through the communications bus 940. The processor 910 can invoke a logic instruction in the memory 930 to execute a pseudo-random sequence set generation method, which includes configuring a first parameter, a first initial value, and a first iteration length of a perturbation generator, obtaining a first chaotic value sequence based on the perturbation generator iterating according to the first parameter, the first initial value, and the first iteration length; wherein the perturbation generator is constructed based on a logistic chaotic mapping; mapping the first chaotic value sequence into a uniformly distributed sequence to obtain an initial sequence; configuring a second iteration length and a second initial value of a target number of primary chaotic sequence generators, configuring a second parameter of the primary chaotic sequence generator according to the initial sequence, and obtaining a target number of second chaotic value sequences based on the primary chaotic sequence generator iterating according to the corresponding second iteration length, the second initial value, and the second parameter, respectively; wherein the primary chaotic sequence generator is constructed based on a chebyshev chaotic mapping; the target number is obtained by adding one to a preset sequence set number; respectively mapping the second chaotic value sequences into uniformly distributed sequences to obtain the target number of mapping results, and obtaining a pseudo-random sequence set according to the target number of mapping results.
[0194] In addition, the logic instruction in the memory 930 described above can be implemented in the form of a software function unit and sold or used as an independent product, which can be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present application essentially or the part that contributes to the prior art or part of the technical solutions can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a plurality of instructions to make a computer device (which can be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in various embodiments of the present application. The aforementioned storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a magnetic disk or an optical disk, and various media that can store program codes.
[0195] In another aspect, the present application also provides a computer program product comprising a computer program, which is stored in a non-transitory computer-readable storage medium and executable by a processor to implement the pseudo-random sequence set generation method provided by the above-mentioned methods, which comprises: configuring a first parameter, a first initial value and a first iteration length of a perturbation generator, obtaining a first chaotic value sequence based on iterations of the perturbation generator according to the first parameter, the first initial value and the first iteration length; wherein the perturbation generator is constructed based on a logistic chaotic mapping; mapping the first chaotic value sequence into a uniformly distributed sequence to obtain an initial sequence; configuring a second iteration length and a second initial value of a target number of groups of master chaotic sequence generators, configuring a second parameter of the master chaotic sequence generator according to the initial sequence, and obtaining a target number of second chaotic value sequences based on iterations of the master chaotic sequence generator according to the corresponding second iteration length, the second initial value and the second parameter, respectively; wherein the master chaotic sequence generator is constructed based on a chebyshev chaotic mapping; the target number is obtained by adding one to a preset sequence set number; and mapping the second chaotic value sequences into uniformly distributed sequences to obtain the target number of mapping results, and obtaining a pseudo-random sequence set according to the target number of mapping results.
[0196] In another aspect, the present application also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which is executable by a processor to implement the pseudo-random sequence set generation method provided by the above-mentioned methods, which comprises: configuring a first parameter, a first initial value and a first iteration length of a perturbation generator, obtaining a first chaotic value sequence based on iterations of the perturbation generator according to the first parameter, the first initial value and the first iteration length; wherein the perturbation generator is constructed based on a logistic chaotic mapping; mapping the first chaotic value sequence into a uniformly distributed sequence to obtain an initial sequence; configuring a second iteration length and a second initial value of a target number of groups of master chaotic sequence generators, configuring a second parameter of the master chaotic sequence generator according to the initial sequence, and obtaining a target number of second chaotic value sequences based on iterations of the master chaotic sequence generator according to the corresponding second iteration length, the second initial value and the second parameter, respectively; wherein the master chaotic sequence generator is constructed based on a chebyshev chaotic mapping; the target number is obtained by adding one to a preset sequence set number; and mapping the second chaotic value sequences into uniformly distributed sequences to obtain the target number of mapping results, and obtaining a pseudo-random sequence set according to the target number of mapping results.
[0197] The device embodiments described above are merely illustrative, wherein the units described as separate components can or can not be physically separate, and the components displayed as units can or can not be physical units, i.e., can be located in one place, or can be distributed to multiple network units. Part or all of the modules can be selected to achieve the purposes of the embodiments according to actual needs. Those skilled in the art can understand and implement without creative labor.
[0198] Through the description of the above embodiments, those skilled in the art can clearly understand that the embodiments can be realized by means of software and the necessary general hardware platform, and of course can also be realized by hardware. Based on such understanding, the above technical solutions can be embodied in the form of a software product, which can be stored in a computer readable storage medium, such as a ROM / RAM, a magnetic disk, an optical disk, etc., and includes a number of instructions to make a computer device (which can be a personal computer, a server, or a network device, etc.) execute the methods described in each embodiment or some parts of the embodiments.
[0199] Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present application, and not to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that: it can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacement for part of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application.
Claims
1. A method for generating a pseudo-random sequence set, characterized in that, include: Configure the first parameters, first initial value, and first iteration length of the perturbation generator, and iterate based on the first parameters, first initial value, and first iteration length to obtain a first chaotic value sequence; wherein, the perturbation generator is constructed based on the logistic chaotic mapping; the first parameters, first initial value, and first iteration length are obtained in real time through the bus; The first chaotic value sequence is mapped to a uniformly distributed sequence to obtain the initial sequence; The second iteration length and second initial value of the main chaotic sequence generator are configured to generate a target number of sequences. The second parameters of the main chaotic sequence generator are configured according to the initial sequence. Iterations are performed based on the main chaotic sequence generator according to the corresponding second iteration length, second initial value, and second parameters to obtain the target number of second chaotic value sequences. The main chaotic sequence generator is constructed based on the Chebyshev chaotic mapping. The target number is obtained by adding one to a preset sequence set number. The second iteration length and second initial value are configured via a bus. The iteration is performed using the Cordic algorithm to assist the digital circuit in Chebyshev chaotic iteration. The second chaotic value sequence is mapped to a uniformly distributed sequence to obtain the target number of mapping results, and a pseudo-random sequence set is obtained based on the target number of mapping results.
2. The method for generating a pseudo-random sequence set according to claim 1, characterized in that, The first chaotic value sequence is mapped to a uniformly distributed sequence to obtain an initial sequence, specifically including: The boundary value is calculated using the cosine mapping algorithm based on the number of the first value interval; wherein, the number of the first value interval is the number of powers of the second parameter of the Chebyshev chaotic mapping; Based on the boundary values, a binary search algorithm is used to map the sequence values of the first chaotic value sequence to obtain the initial sequence.
3. The method for generating a pseudo-random sequence set according to claim 1, characterized in that, The first chaotic value sequence is mapped to a uniformly distributed sequence to obtain an initial sequence, followed by: The continuous values of the initial sequence are decontinuated to obtain the first sequence; Perform a periodic self-check on the first sequence, and update the first initial value based on the self-check result; The disturbance generator iterates again based on the first parameter, the updated first initial value, and the first iteration length.
4. The method for generating a pseudo-random sequence set according to claim 1, characterized in that, The second chaotic value sequence is mapped to a uniformly distributed sequence to obtain the target number of mapping results, specifically including: Set the number of value intervals of the first group of main chaotic sequence generators to a first quantity, and set the number of value intervals of the remaining main chaotic sequence generators to a second quantity; wherein, the first quantity is the factorial of the preset number of sequence sets; The boundary values of each part are calculated using the cosine mapping algorithm based on the number of value intervals of the main chaotic sequence generator. The sequence values of the second chaotic value sequence are mapped using a binary search algorithm based on the boundary values to obtain the target number of mapping results.
5. The method for generating a pseudo-random sequence set according to claim 1, characterized in that, A pseudo-random sequence set is obtained based on the target number of mapping results, specifically including: S1: Let i = 1; S2: Take the i-th chaotic value in the mapping result of the first group of main chaotic sequence generators as the address, and take out one possible permutation from the pre-stored permutation results as the value segment number of the target number of main chaotic generators. S3: Select the value range whose segment number is the value segment number from the pre-constructed set of value ranges as the target value range; S4: Using the chaotic values of the remaining main chaotic sequence generators as the sequence number, select the integer corresponding to the sequence number from the pre-set set of value ranges as the value result to obtain the data in the i-th column; S5: Let i = i + 1, repeat steps S2-S5 until the length of each row of pseudo-random numbers reaches the preset sequence length, and obtain a set of pseudo-random sequences.
6. The method for generating a pseudo-random sequence set according to claim 5, characterized in that, The steps for constructing the arrangement result and the set of value ranges include: A preset random number value range is divided by a preset number of sequence sets to obtain the preset number of value ranges. The value ranges are numbered to obtain segment numbers. A set of value ranges is obtained based on the preset number of value ranges labeled with the segment numbers. Number the values of the range corresponding to each segment number, and then permutate all the segment numbers to obtain the permutation result.
7. The method for generating a pseudo-random sequence set according to claim 1, characterized in that, The second chaotic value sequence is mapped to a uniformly distributed sequence to obtain the target number of mapping results, and then the process further includes: Perform periodic self-checks on the mapping results, and update the second initial value based on the self-check results; The main chaotic sequence generator iterates again based on the second iteration length, the updated second initial value, and the second parameter.
8. A pseudo-random sequence set generation device, characterized in that, include: The first iteration unit is used to configure the first parameters, first initial value, and first iteration length of the perturbation generator, and to iterate based on the perturbation generator according to the first parameters, first initial value, and first iteration length to obtain a first chaotic value sequence; wherein, the perturbation generator is constructed based on the logistic chaotic mapping; the first parameters, first initial value, and first iteration length are configured in real time through the bus; the iteration is performed using the Cordic algorithm to assist the digital circuit in performing Chebyshev chaotic iteration; The first result unit is used to map the first chaotic value sequence into a uniformly distributed sequence to obtain an initial sequence; The second iteration unit is used to configure the second iteration length and the second initial value of the main chaotic sequence generator for the target number of sequences. It configures the second parameters of the main chaotic sequence generator according to the initial sequence, and iterates based on the main chaotic sequence generator according to the corresponding second iteration length, second initial value, and second parameters to obtain the target number of second chaotic value sequences. The main chaotic sequence generator is constructed based on the Chebyshev chaotic mapping; the target number is obtained by adding one to the preset sequence set number; the second iteration length and the second initial value are configured via a bus. The second result unit is used to map the second chaotic value sequence into a uniformly distributed sequence to obtain the target number of mapping results, and to obtain a pseudo-random sequence set based on the target number of mapping results.
9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the pseudo-random sequence set generation method as described in any one of claims 1 to 7.
10. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the pseudo-random sequence set generation method as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Chaotic sequence generation method and sequence generator of high speed high-precision chaotic function
CN101222318A
Apparatus for generating a plurality of ultra-high speed pseudo-random signals and multichannel pseudo-random noise modulation device thereof
US20240168721A1