A method for constructing a secure orthogonal frequency hopping pattern
The frequency hopping pattern is constructed by a cryptographic algorithm by generating a random drive sequence and a frequency point mapping algorithm, which solves the problem of insufficient security and orthogonality of the frequency hopping pattern in the prior art, and realizes high security and uniform frequency distribution of the frequency hopping signal, which improves the anti-interference ability of the signal and the frequency point orthogonality between users.
Patent Information
- Application Number
- CN202510328920.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-20
- Publication Date
- 2025-08-12
- Estimated Expiration
- 2045-03-20
AI Technical Summary
The existing frequency hopping pattern construction method cannot be both secure and orthogonal, and is easily predicted by attackers through high-gain, large bandwidth acquisition devices, resulting in insufficient signal security.
The cryptographic algorithm is used to generate a random driver sequence, and the frequency hopping pattern is formed through the frequency point mapping algorithm, and the user frequency point allocation is carried out to ensure the randomness, orthogonality and low collision zone of the frequency hopping sequence. The indistinguishability of the cryptographic algorithm and the security properties of modern cryptography are used to generate a periodic and non-repetitive random driver sequence, and the frequency point mapping algorithm is used to generate a set of frequency points arranged in an out-of-order manner.
The constructed frequency hopping pattern has better Hamming cross-correlation performance under low delay conditions, achieving uniform distribution of frequency points and maximizing utilization, improving signal safety and anti-interference ability, ensuring frequency point orthogonality and low collision zone between users.
Smart Images

Figure CN119892147B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of frequency hopping technology, and in particular to a method for constructing a secure orthogonal frequency hopping pattern. Background Art
[0002] The open nature of wireless channels makes it easier for attackers to intercept, jam, or spoof signals, posing a security threat to wireless communication systems. Frequency hopping (FH) technology, with its advantages of anti-interference and confidentiality, is widely used in high-security signals. FH is a physical layer security technology. The key characteristic of FH signals is that their central frequency varies over time, remaining at each frequency for only a short period of time, thus evading interference and interception.
[0003] A core component of frequency hopping technology is the frequency hopping pattern. This pattern is a set of hopping frequencies that dictate to all users which central frequency they should use to transmit wireless signals at any given moment. During the transmission and reception of frequency hopping signals, legitimate senders and receivers use a known hopping pattern to continuously change the operating frequency of the signal to avoid interference, prevent eavesdroppers from intercepting the signal, and verify the authenticity of the signal's physical layer. If an attacker cannot obtain the hopping pattern and predict the operating frequency, and the hopping rate (the speed at which the signal switches from one frequency to another) is sufficiently fast, it becomes difficult for the attacker to conduct targeted interception, jamming, or spoofing. The ability of frequency hopping signals to resist various attacks stems from the inherent security features of the hopping pattern: confidentiality, randomness, and unpredictability. This means that attackers cannot predict unused hopping frequencies based on previously used hopping frequencies. Therefore, a secure hopping pattern must be sufficiently random to be unpredictable by attackers and reproducible to ensure that both the sender and receiver receive the same hopping pattern.
[0004] In addition to security, another performance requirement for frequency hopping patterns is orthogonality. This means that when multiple users use the same frequency hopping pattern, are there any users using the same frequency at the same time? If this happens, the signals of users using the same frequency will interfere with each other. Therefore, the fewer users using the same frequency at the same time, the better the performance of the frequency hopping pattern. Ideally, all users should transmit signals using different frequencies at any given time. In this case, the frequency hopping patterns used by these users are said to be orthogonal.
[0005] Classic frequency-hopping pattern generation primarily uses polynomial methods over finite fields (such as m-sequences, Bent functions, and GMW sequences). The resulting frequency-hopping patterns are limited in length, and the generated frequency-hopping signals exhibit a certain degree of periodicity. In this case, if an attacker uses high-gain, wide-bandwidth acquisition equipment to collect and analyze the frequency-hopping signals, they can obtain the used frequency-hopping patterns, thus enabling future attacks to predict them. Currently, some techniques incorporate chaotic sequences or cryptographic algorithms into the frequency-hopping pattern generation process, but no frequency-hopping pattern construction method has been developed that simultaneously addresses both security and orthogonality issues under signal synchronization conditions. Summary of the Invention
[0006] The present invention is directed to time-synchronized frequency-hopping signals, solving the problem that existing methods for constructing frequency-hopping patterns cannot achieve both security and orthogonality. To solve the above problem, the present invention provides the following technical solutions:
[0007] A method for constructing a secure orthogonal frequency hopping pattern comprises the following steps:
[0008] S1. Generate a random drive sequence using a cryptographic algorithm: Use time information and a counter as plaintext or initial state input, and use the pattern key as the key of the cryptographic algorithm to obtain a random drive sequence;
[0009] S2. Use frequency mapping algorithm to form a frequency hopping pattern: transform the random driving sequence into a series of mutually orthogonal frequency hopping sequences to form a frequency hopping pattern;
[0010] S3. Perform user frequency allocation: select a specific frequency hopping sequence from the frequency hopping pattern as the frequency information used to transmit or receive wireless signals.
[0011] Further preferably, in step S1: the time information is encoded by design to form a structure whose changing frequency matches the hopping rate of the frequency hopping signal, each hop corresponds to a different time information, and by designing the counter bit width, different time information and counter combinations are formed.
[0012] Further preferably, at any moment of the frequency hopping signal, the ciphertext outputs obtained based on the same or different keys of the cryptographic algorithm are all different, and the obtained random driving sequence has the characteristics of being aperiodic and non-repeating.
[0013] Further preferably, when the frequency mapping algorithm is running, it specifically includes the following steps:
[0014] S21. First, generate a sequentially arranged set according to the total number of available frequency points at each moment;
[0015] S22. Then, extract random bit streams from the random driving sequence at the corresponding moment generated by the cryptographic algorithm, convert them into decimal, use the decimal numbers as index numbers, and extract elements from the set in sequence to form a set that is arranged in a random order and does not repeat each other, that is, the frequency point sequence used by all users in the current hop.
[0016] Further preferably, before the frequency mapping algorithm in step S2 is executed, the following step S20 is performed:
[0017] S20, first determine the total number M of available frequency points of the frequency hopping pattern to be generated and the number of hops N required to be generated, and initialize the corresponding result matrix with M rows and N columns, and then start mapping and generating frequency points hop by hop starting from n=0.
[0018] Further preferably, the step S22 specifically includes the following steps:
[0019] S221. Initialize the ordered set A = {0, 1, ..., M-1}, set the ordered set B to be initially empty, and record the number of elements m = M in set A.
[0020] S222. Extract ceil(log2(m)) bits of data from the random drive sequence at time n, where ceil() is a round-up operation to convert the binary representation into a decimal number t. The data previously extracted from the random drive sequence is not reused. The next time data is extracted, the data is extracted starting from the last bit extracted this time.
[0021] S223. If the value of t is greater than or equal to the number m of elements in the current set A, discard the value of t obtained this time and return to step S222. If t is less than the number m of elements in the current set A, continue to S224.
[0022] S224. According to the indication of t, the tth remaining element in the current set A is taken out and placed at the end of the set B. The taken out element is deleted from the set A. At this time, the number m of remaining elements in the set A will be reduced by 1.
[0023] S225. If there are still elements in set A, then return to S222 and continue to take elements from set A and put them into set B. If all the elements in set A have been taken, then set B must have a complete set of M elements. At this time, these M elements are arranged in a column in the order in which they were added to set B, forming the nth column of the result matrix. Let n = n + 1.
[0024] S226. If the result matrix is not filled yet, i.e., n < N, then go back to step S221 to repeat constructing other column data; if the result matrix is already filled, i.e., n = N, then perform the final frequency conversion on the result matrix, that is, convert each element k in the matrix to the frequency fk of the k-th frequency point.
[0025] Further preferably, step S3 specifically includes the following steps:
[0026] User frequency point allocation selects a specific frequency hopping sequence from the frequency hopping pattern according to the user's ID as the frequency point information for transmitting or receiving wireless signals.
[0027] When the number of users is less than the number of available frequency points, the tolerance of synchronization error is achieved through user frequency point allocation. On the premise of maintaining the synchronization orthogonality of the frequency hopping sequences, the low collision area of the frequency hopping sequences is expanded; multiple frequency hopping sequences in the frequency hopping pattern are allocated to each user, and each user uses the frequency points at the same moment in the frequency hopping sequence in a fixed order.
[0028] A method for constructing a secure orthogonal frequency hopping pattern according to the present invention has the characteristics of good randomness, synchronization orthogonality between sequences, a low collision area, and high utilization rate of random driving sequences.
[0029] In consideration of the significance of the entire frequency hopping pattern, the frequency hopping sequences constructed by the present invention have complete traversal at the level of the pattern, that is, while maintaining the randomness of a single spreading sequence, the number of times each frequency point appears is exactly the same at the overall level. Therefore, the frequency hopping pattern constructed by the present invention has uniform distribution of overall frequency points on the basis of maintaining sufficient randomness of a single sequence, achieving the maximum utilization rate of frequency points.
[0030] When the time delay is small, the frequency hopping pattern constructed by the present invention has significantly better Hamming cross-correlation performance than random sequences, and when the synchronization requirements are met, the present invention can construct ideal orthogonal frequency hopping sequences, that is, the Hamming cross-correlation is 0.
[0031] In terms of the utilization of random driving sequences, the present invention extracts random sequences in a manner of strictly determining the length according to the randomness requirements, significantly improving the sequence utilization rate. In the worst case (the number of frequency hopping points is exactly 2N + 1 and there are only 2 users), the utilization rate of random sequences will also be higher than 50%.
[0032] In summary, the frequency hopping pattern constructed by the present invention has better Hamming cross-correlation performance under low-delay conditions on the premise that the randomness and security are similar to those of random sequences. BRIEF DESCRIPTION OF THE DRAWINGS
[0033] Figure 1 is the overall process architecture of the present invention;
[0034] Figure 2 This is a structural relationship between each hop of a frequency hopping signal, time information, and a counter according to an embodiment of the present invention;
[0035] Figure 3 This is the main flow chart of the frequency mapping algorithm of the present invention;
[0036] Figure 4 This is a schematic diagram of frequency hopping sequence allocation for two users with a collision-free zone of ±1 hop in user frequency allocation according to an embodiment of the present invention;
[0037] Figure 5 (a) shows the number of times each frequency point of the physical true random frequency hopping sequence appears in a single frequency hopping sequence;
[0038] FIG5( b ) shows the number of occurrences of each frequency point in a single frequency hopping sequence of the present invention;
[0039] Figure 6 (a) shows the number of times the physical true random frequency hopping sequence appears at each frequency point in the frequency hopping pattern;
[0040] FIG6 (b) shows the number of occurrences of each frequency point in the frequency hopping pattern of the frequency hopping sequence of the present invention;
[0041] Figure 7(a) shows the Hamming autocorrelation sidelobes of a physical true random frequency hopping sequence;
[0042] FIG7( b ) is the Hamming autocorrelation side lobe of the frequency hopping sequence of the present invention;
[0043] Figure 8 (a) shows the Hamming cross-correlation result of the physical true random frequency hopping sequence;
[0044] FIG8( b ) is the Hamming cross-correlation result of the frequency hopping sequence of the present invention;
[0045] Figure 9 (a) shows the Hamming cross-correlation value of the physical true random frequency hopping sequence when the delay is small;
[0046] FIG9( b ) shows the Hamming cross-correlation value of the frequency hopping sequence of the present invention when the delay is relatively small. DETAILED DESCRIPTION
[0047] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present invention.
[0048] The preferred embodiments of the present invention are described in further detail below with reference to the accompanying drawings.
[0049] Example 1:
[0050] The present invention provides a method for constructing a secure orthogonal frequency hopping pattern. Figure 1 The overall process includes: S1, using a cryptographic algorithm to calculate and generate a random driving sequence; S2, using a frequency mapping algorithm to form a frequency hopping pattern; S3, allocating user frequencies.
[0051] S1 uses a cryptographic algorithm to calculate a random drive sequence, using time information and a counter as plaintext or initial state inputs, and a pattern key as the cryptographic algorithm key, to generate a random drive sequence. The time information is encoded to create a structure whose varying frequency matches the hopping rate of the frequency-hopping signal. Each hop corresponds to a different time information. The counter starts counting from 0 at the moment corresponding to each hop, and the counter bit width is designed to create different combinations of time information and counters. At any moment in the frequency-hopping signal, using the same or different cryptographic algorithm keys, the resulting ciphertext output is different, resulting in a non-periodic and non-repeating random drive sequence.
[0052] S2 uses the frequency mapping algorithm to form a frequency hopping pattern, which transforms the random drive sequence into a series of mutually orthogonal frequency hopping sequences to form a frequency hopping pattern. At any moment of the frequency hopping signal, based on the same or different keys of the cryptographic algorithm, the ciphertext output is different, and the obtained random drive sequence has the characteristics of no period and no repetition. In step S2, when the frequency mapping algorithm is running, it specifically includes the following steps: S20, first determine the total number of available frequency points M and the number of hops N required to generate the frequency hopping pattern, and initialize the corresponding result matrix of M rows and N columns, and then start mapping the generated frequency points hop by hop from n=0. S21, first generate a sequentially arranged set based on the total number of available frequency points at each moment. S22, then extract the random bit stream from the random drive sequence of the corresponding moment generated by the cryptographic algorithm in sequence, convert it into decimal, use the decimal number as the index number, and extract the elements in the set in sequence to form a random and non-repeating set, that is, the frequency point sequence used by all users in the current hop.
[0053] Step S22 specifically includes the following steps: S221. Initialize the ordered set A = {0, 1, …, M - 1}, and let the ordered set B be an empty set initially. Record the number of elements m in set A as m = M. S222. Extract ceil(log2(m)) bits of data from the random driving sequence at time n, where ceil() is the ceiling operation. Convert the binary representation to a decimal number t; the data taken from the random driving sequence is not reused. When taking data next time, start from the position after the last bit taken this time. S223. If the value of t is greater than or equal to the number of elements m in the current set A, discard the taken t and return to step S222; if t is less than the number of elements in the current set A, continue with S224. S224. According to the indication of the taken t, take out the t-th remaining element in the current set A and put it at the end of set B, and delete the taken element from set A; at this time, the number of remaining elements m in set A will decrease by 1. S225. If there are still elements in set A at this time, return to S222 and continue to take elements from set A and put them into set B; if the elements in set A have been taken out at this time, then there must be M complete elements in set B. At this time, these M elements are arranged in a column in the order of joining set B to form the n-th column of the result matrix; let n = n + 1. S226. If the result matrix has not been filled at this time, that is, n < N, then return to step S221 to repeat constructing other column data; if the result matrix has been filled at this time, that is, n = N, then perform a final frequency conversion on the result matrix, that is, convert each element k in the matrix to the frequency fk of the k-th frequency point.
[0054] Step S3 for user frequency point allocation is to select a specific hopping sequence from the hopping pattern as the frequency point information used for transmitting or receiving wireless signals. Step S3 specifically includes the following steps:
[0055] User frequency point allocation selects a specific hopping sequence from the hopping pattern as the frequency point information used for transmitting or receiving wireless signals according to the user's ID;
[0056] When the number of users is less than the number of available frequency points, user frequency point allocation is used to tolerate synchronization errors, and on the premise of maintaining the synchronization orthogonality of the hopping sequences, the low collision area of the hopping sequences is expanded; multiple hopping sequences in the hopping pattern are allocated to each user, and each user uses the frequency points at the same time in the hopping sequence in a fixed order.
[0057] A method for constructing a secure orthogonal hopping pattern according to the present invention has the characteristics of good randomness, synchronization orthogonality between sequences, a low collision area, and high utilization rate of the random driving sequence.
[0058] Considering the entire frequency hopping pattern, the frequency hopping sequence constructed by this invention is fully ergodic at the pattern level. This means that while maintaining the randomness of individual spreading sequences, each frequency point appears exactly the same number of times across the entire pattern. Therefore, while maintaining sufficient randomness within each individual sequence, the frequency points are uniformly distributed across the entire pattern, maximizing frequency utilization.
[0059] When the time delay is small, the frequency hopping pattern constructed by the present invention is significantly better than the random sequence in terms of cross-correlation performance, and when the synchronization requirements are met, the present invention can construct an ideal orthogonal frequency hopping sequence, that is, the Hamming cross-correlation is 0.
[0060] In terms of the utilization of random drive sequences, the present invention extracts random sequences by strictly determining their length according to randomness requirements, significantly improving sequence utilization. Even in the worst case (when the number of frequency hopping points is exactly 2N+1 and there are only two users), the utilization of the random sequence will be higher than 50%.
[0061] In summary, the frequency hopping pattern constructed in the present invention has better Hamming cross-correlation performance under low latency conditions while having similar performance in randomness and security to a random sequence.
[0062] Example 2:
[0063] The present invention provides a secure orthogonal frequency hopping pattern construction method, the main application means of which is built around a cryptographic algorithm, a frequency mapping algorithm and user frequency allocation. S1. A random driving sequence is calculated using a cryptographic algorithm; time information and a counter are used as plain text or initial state inputs, and a pattern key is used as the key of the cryptographic algorithm to obtain a random driving sequence.
[0064] The cryptographic algorithm utilizes mature symmetric cryptographic algorithms with modern cryptographic security properties, such as SM4, AES, and ZUC. The present invention uses time information (TOD) and a counter as plaintext or initial state input, and a pattern key as the key for the cryptographic algorithm. The output is called a random driving sequence. Due to the security properties of modern cryptography, the output of a symmetric cryptographic algorithm is indistinguishable from a random sequence. Therefore, if a segment of any length is cut from the random driving sequence, the result converted to decimal will be uniformly distributed on the range [0, 2N-1], where N is the number of bits cut.
[0065] The time information (TOD) is designed to form a structure that matches the frequency change and the hopping rate of the frequency hopping signal by designing codes (such as year, month, day, hour, minute, second, millisecond, etc.), that is, each hop corresponds to a different TOD. The counter starts counting from 0 at the moment corresponding to each hop. By designing a sufficient counter bit width, a fairly rich combination of different time information (TOD) and counters can be constructed. For example, when the bit width of the counter is L, each TOD can correspond to 2L different counter values, which means that within the time range of each hop of the frequency hopping signal, there are 2L different plaintexts that can be used as input to the cryptographic algorithm. The setting structure of each hop of the frequency hopping signal, TOD and counter is shown in the attached figure. Figure 2 As shown. Taking the Nth hop as an example, a single time information The corresponding counter bit width is L, and the counter contains A total of 2L different plaintexts can be used as input to the cryptographic algorithm. At any point in the frequency-hopping signal, even if the cryptographic algorithm uses the same key, the ciphertext output will be different due to the different plaintext inputs. This ensures the random drive sequence is non-periodic and non-repeating. The cryptographic algorithm calculates a sufficiently long random drive sequence for each hop of the frequency-hopping signal.
[0066] S2 of the present invention uses a frequency mapping algorithm to form a frequency hopping pattern; the random drive sequence is transformed into a series of mutually orthogonal frequency hopping sequences to form a frequency hopping pattern. The frequency mapping algorithm transforms the random drive sequence into a series of mutually orthogonal frequency hopping sequences to form a frequency hopping pattern. When the frequency mapping algorithm is running, at each moment, a sequentially arranged set is first generated based on the total number of available frequency points. Then, the random bit stream is extracted from the random drive sequence generated by the cryptographic algorithm at the corresponding moment and converted into decimal. These decimal numbers are used as index numbers, and the elements in the above set are extracted in sequence to form a random and non-repeating set. This set is the frequency sequence used by all users in the current hop. By performing the above operation at each moment, a two-dimensional frequency matrix of the user's time can be obtained, which is the frequency hopping pattern.
[0067] The operation process of the frequency mapping algorithm is shown in the attached figure. Figure 3 Before performing frequency mapping, first determine the total number of available frequency points M and the number of hops N required for the frequency hopping pattern to be generated, and initialize the corresponding result matrix with M rows and N columns. Then, start mapping the generated frequency points hop by hop starting from n=0. The specific steps are as follows:
[0068] 1. Initialize the ordered set A = {0, 1, …, M-1}, and set the ordered set B to be empty initially, and record the number of elements m = M in set A.
[0069] 2. Extract ceil(log2(m)) bits of data from the random driving sequence at time n, where ceil() is the ceiling operation, and convert the binary representation to a decimal number t. The data taken from the random driving sequence will not be reused. When taking data next time, start from the bit immediately after the last bit taken this time.
[0070] 3. If the value of t is greater than or equal to the number of elements m in the current set A, discard the t taken this time and go back to step 2. If t is less than the number of elements m in the current set A, continue to step 4.
[0071] 4. According to the indication of the taken t, take out the t-th remaining element in the current set A and put it at the end of set B, and delete this taken element from set A. At this time, the number of remaining elements m in set A will decrease by 1.
[0072] 5. If there are still elements in set A at this time, go back to step 2 and continue to take elements from set A and put them into set B. If the elements in set A have been taken out at this time, then there must be M complete elements in set B. At this time, these M elements are arranged in a column in the order of their addition to set B, forming the n-th column of the result matrix. Let n = n + 1.
[0073] 6. If the result matrix has not been filled at this time, that is, n < N, then go back to step 1 to repeat the construction of other column data. If the result matrix has been filled at this time, that is, n = N, then perform the final frequency conversion on the result matrix, that is, convert each element k in the matrix to the frequency fk of the k-th frequency point.
[0074] At this time, each row of the matrix is a frequency hopping sequence of a user, and the entire matrix constitutes the frequency hopping pattern shared by these users. The frequency hopping pattern converted through the above steps has two characteristics: (1) The frequency hopping sequence of each user is fully random, that is, the frequency points used in each hop are equally distributed; (2) The frequency hopping sequences between different users are orthogonal, that is, all users use different frequency points to transmit signals at the same time.
[0075] The validity of these two characteristics will be explained separately below.
[0076] First, let's demonstrate that each user's frequency hopping sequence is sufficiently random. The random driving sequence is generated by a cryptographic algorithm that adheres to modern cryptographic security characteristics and possesses sufficient randomness. Therefore, any bit length extracted from it, when converted to decimal, exhibits a uniform distribution, meaning that the probability of obtaining any value within the range is equal. After removing elements greater than or equal to a specific number from these numbers, the probability of the remaining elements remaining remains equal. Therefore, the t used in step 4 follows a uniform distribution over [0, m-1]. Next, we demonstrate that if elements are uniformly randomly extracted from set A and placed into set B, the probability of any element appearing in any position is equal. For any element in set A, since elements are extracted sequentially, its extraction for the xth time necessarily implies that it was not extracted the previous x-1 times. When an element is retrieved for the yth time, the number of remaining elements in set A is M-y+1. The probability that an element is not retrieved is (My) / (M-y+1). Therefore, the probability of the element being retrieved for the xth time is (M-1) / M*(M-2) / (M-1)…(M-x+1) / (M-x+2)*1 / (M-x+1)=1 / M, regardless of the number of retrievals. This means that any element in set A has equal probability of appearing at any position in set B, indicating an equal probability distribution of the frequencies used in each hop.
[0077] Next, we'll explain the orthogonality of the frequency hopping sequences used by users. As we'll see from the process of taking elements from set A and adding them to set B, set B contains all elements from set A without duplication. Set B, as a column in the resulting matrix, represents the frequency numbers used by all users at a given moment. Since there are no duplicate elements in set B, the frequency numbers used by all users at any given moment are unique, and therefore the frequency hopping sequences used by all users are orthogonal.
[0078] S3 of the present invention performs user frequency allocation; a specific frequency hopping sequence is selected from the frequency hopping pattern as the frequency information used to transmit or receive wireless signals. When the number of users is less than the number of available frequencies, the user frequency allocation can be used to achieve tolerance for synchronization errors, and expand the low collision area of the frequency hopping sequence while maintaining the synchronization orthogonality of the frequency hopping sequence. The specific allocation method is: multiple frequency hopping sequences in the frequency hopping pattern are allocated to each user, and each user uses the frequency points in the frequency hopping sequence at the same time in a fixed order. As shown in the attached figure Figure 4The figure shows the frequency hopping sequence allocation for two users with a collision-free zone of ±1 hop. A0…AN-1, B0…BN-1, C0…CN-1, and D0…DN-1 are frequencies, and frequencies with the same subscript but different letters are distinct. The order of the arrows represents the order of frequencies used for signal transmission or reception. For a total of M available frequencies and P users, allocating frequency hopping sequences according to this method results in a frequency hopping pattern with a low collision zone of ±floor(M / P), where floor() is the floor function.
[0079] Example 3
[0080] This embodiment further illustrates a method for constructing a secure orthogonal frequency hopping pattern of the present invention using a case study. Table 1 shows the time information structure composed of the TOD and the counter in this embodiment:
[0081]
[0082] Taking a frequency hopping system with 64 available frequencies, 8 participating users, and a hopping rate of 16,000 hops per second as an example, the cryptographic algorithm used to generate the random driving sequence is selected as the SM4 algorithm specified in the industry, for example, the SM4 algorithm specified in the national standard "GM / T0002-2012 SM4 Block Cipher Algorithm."
[0083] The time information structure composed of TOD and counter is shown in the table above. Since the hopping rate reaches 16,000 hops per second, each user needs 16 frequency hopping points per millisecond. Therefore, according to the principle of matching the changing frequency with the hopping rate of the frequency hopping signal, the TOD data structure is accurate to milliseconds. The 60-bit annual count can support the data without repetition for 1018 years, so that the frequency hopping pattern will not repeat within 1018 years. Each group of the SM4 algorithm can transform 128 bits of plaintext into 128 bits of ciphertext, so each operation of the SM4 algorithm can generate a random driving sequence with a length of 128 bits. At this time, the frequency hopping pattern is generated at intervals of milliseconds. Taking the generation of the frequency hopping pattern of 8:18:23 and 523 milliseconds on October 15, 2024 as an example, each user needs to follow the following specific steps:
[0084] Step 1: Counter C is reset to 0, C = 0. The random drive sequence buffer is cleared.
[0085] Step 2: The hop counter J is reset to 0, J=0.
[0086] Step 3: Initialize the sequence permutation set A = {0, 1, 2, …, 63} and set m = 64. Initialize the sequence permutation set B = {∅} to be an empty set.
[0087] Step 4: Set the year field to 2024 (0b00…11111101000, 60 bits), the month field to 10 (0b1010), the day field to 15 (0b01111), the hour field to 8 (0b01000), the minute field to 18 (0b010010), the second field to 23 (0b010111), and the millisecond field to 523 (0b1000001011). Together with the counter C, they constitute the 128-bit TOD and counter information. For example, when C=0, the TOD and counter information is: 0b0000000000000000000000000000000000000000000000000000000000111111010001010100111101000010010010111100000101100000000000000000000000000000000000000000, which is represented in hexadecimal as 0x0000000000007E8A7A125E0B00000000.
[0088] Step 5: Use the 128-bit data obtained in Step 3 as plaintext and the frequency hopping pattern key (randomly selected in this example) as the key. These are entered into the SM4 block cipher algorithm for encryption. The result is then filled into the random drive sequence buffer. For example, the result is 0b1000010000010001011011011001110111100000011000000101000000101110001100110110100110110100110110010011001001011001110100011101011100111, which is expressed in hexadecimal as 0x84116D9DE060505C66D371312CF47AE7. After the result is generated, counter C increments by 1, i.e., C = C + 1.
[0089] Step 6: Extract ceil(log2(m)) bits of data from the random drive sequence buffer. For example, when m=64, extract 6 bits of data, such as 0b100001. If the remaining data in the buffer is insufficient to extract, return to step 5 to regenerate a new random drive sequence.
[0090] Step 7: Convert the random driving sequence extracted in step 6 into decimal and record it as t. For example, 0b100001 converted into decimal is 33. If this decimal number is greater than or equal to m, return to step 6 and extract again.
[0091] Step 8: Extract the tth element from set A and place it at the end of set B. Delete this element from set A, reducing m by 1, that is, m = m - 1. For example, if t = 33 and A is the initial state, extract 33 and place it at B. Now set A = {0, 1, 2, ..., 32, 34, ..., 63}, set B = {33}, and m = 63.
[0092] Step 9: If there are still elements remaining in set A (i.e. m>0), then return to step 6 to continue extraction, otherwise continue to step 10.
[0093] Step 10: The order of the elements in set B now represents the order in which the frequencies of the different hopping sequences in the current J-th hop are used. For example, if set B = {33, 52, 11, …, 6}, then hopping sequence 0 will be f33 in the J-th hop of the current millisecond, hopping sequence 1 will be f52 in the J-th hop of the current millisecond, and so on, hopping sequence 63 will be f6 in the J-th hop of the current millisecond. This order is recorded in the frequency list for the J-th hop, and J is incremented by 1, i.e., J = J + 1.
[0094] Step 11: If the number of hops for the current millisecond has not been generated, that is, J<16, then return to step 3 to continue generating. Otherwise, the frequency hopping pattern for the current millisecond is generated, and a total of 64 frequency hopping sequences are obtained, each sequence containing 16 hopping frequency points.
[0095] After obtaining the frequency hopping pattern for the current millisecond, user sequences can be assigned based on the collision-free zone requirements. For example, if user signals exhibit excellent synchronization, a low collision zone is not necessary. In this case, only eight sequences from the 64 frequency hopping sequences need to be assigned to each of the eight users. If user signal synchronization is poor, a large low collision zone is required to maintain orthogonality in the frequency hopping signal. In this case, eight frequency hopping sequences can be assigned to each user, and users use them sequentially within the same hop within these eight sequences. For example, if a user is assigned eight hopping sequences numbered 0 through 7, the order of frequencies used by this user in generating the frequency hopping signal is: the first frequency of sequence 0, the first frequency of sequence 1, ..., the first frequency of sequence 7, the second frequency of sequence 0, ..., the second frequency of sequence 7, and so on. In this case, if the delay difference between the frequency hopping signals of different users is within eight hops, no two users in the same area will use the same hopping sequence at the same time.
[0096] The frequency hopping pattern constructed by the present invention has the characteristics of good randomness, synchronous orthogonality between sequences, low collision area and high driving sequence utilization rate.
[0097] The best random numbers generally recognized in the industry are physically true random numbers. Figures 5(a) and 5(b), Figures 6(a) and 6(b), Figures 7(a) and 7(b), Figures 8(a) and 8(b), and Figures 9(a) and 9(b) of the present invention are comparisons between physically true random frequency hopping sequences and the frequency hopping series of the present invention, respectively.
[0098] An analysis of 64 available frequency points and 64 frequency hopping sequences with a hopping sequence length of 16,000 is performed, comparing the number of occurrences of each frequency point within a single frequency point between the present invention and a physical true random frequency hopping sequence (see Figures 5(a) and 5(b)). It can be seen that under the condition of a single sequence, the frequency hopping sequence constructed by the present invention is equally random as a random sequence. Considering the complete frequency hopping pattern, a comparison of the number of occurrences of each frequency point within the hopping pattern between a physical true random frequency hopping sequence and the present invention is shown in Figures 6(a) and 6(b). It can be seen that, considering the entire hopping pattern, the frequency hopping sequence constructed by the present invention is fully ergodic at the pattern level. That is, while maintaining the randomness of individual spreading sequences, the number of occurrences of each frequency point across the entire pattern is exactly the same. Therefore, the frequency hopping pattern constructed by the present invention maintains sufficient randomness within each sequence while maintaining a uniform distribution of frequencies across the entire pattern, achieving maximum frequency utilization.
[0099] Referring to Figures 7(a) and 7(b) showing the Hamming autocorrelation sidelobes of a physical true random frequency hopping sequence and the Hamming autocorrelation sidelobes of the frequency hopping sequence of the present invention, it can be seen that the frequency hopping sequence constructed by the present invention performs comparable to a random sequence in terms of Hamming autocorrelation performance. Referring to Figures 8(a) and 8(b) showing the Hamming cross-correlation results of a physical true random frequency hopping sequence and the Hamming cross-correlation results of the frequency hopping sequence of the present invention, compared to the physical true random frequency hopping sequence, the frequency hopping sequence constructed by the present invention enters a low collision zone when the delay is small.
[0100] As shown in Figures 9(a) and 9(b), the Hamming cross-correlation values of the physical true random frequency hopping sequence at a relatively small delay and the Hamming cross-correlation values of the frequency hopping sequence of the present invention at a relatively small delay, the Hamming cross-correlation results with a delay of 0 to 32 hops are magnified. It can be seen that when the delay is relatively small, the frequency hopping pattern constructed by the present invention is significantly better than the random sequence in terms of cross-correlation performance, and when the synchronization requirements are met, the present invention can construct an ideal orthogonal frequency hopping sequence, that is, the Hamming cross-correlation is 0.
[0101] In terms of the utilization of random drive sequences, the present invention extracts random sequences by strictly determining their length according to randomness requirements, significantly improving sequence utilization. Even in the worst case (when the number of frequency hopping points is exactly 2N+1 and there are only two users), the utilization of the random sequence will be higher than 50%.
[0102] In summary, the frequency hopping pattern constructed in the present invention has better Hamming cross-correlation performance under low latency conditions while having similar performance in randomness and security to a random sequence.
[0103] The above is a further detailed description of the present invention in conjunction with specific preferred embodiments, and the specific implementation of the present invention should not be considered to be limited to these descriptions. For those skilled in the art of the present invention, without departing from the concept of the present invention, several simple deductions or substitutions can be made, which should be considered to fall within the scope of protection of the present invention.
Claims
1. A method for constructing a secure orthogonal frequency hopping pattern, characterized in that: The steps include: S1. Generate a random drive sequence using a cryptographic algorithm: Use time information and a counter as plaintext or initial state input, and use the pattern key as the key of the cryptographic algorithm to obtain a random drive sequence; S2. Use a frequency mapping algorithm to form a frequency hopping pattern: transform the random driving sequence into a series of mutually orthogonal frequency hopping sequences to form a frequency hopping pattern. In step S2, when the frequency mapping algorithm is running, the following steps are specifically included: S21. First, generate a sequentially arranged set according to the total number of available frequency points at each moment; S22. Extract random bit streams from the random driving sequence generated by the cryptographic algorithm at the corresponding moment, convert them into decimal, use the decimal numbers as index numbers, and extract elements from the set in sequence to form a set that is arranged in a random order and does not repeat, i.e., the frequency point sequence used by all users in the current hop; S3. Perform user frequency allocation: select a specific frequency hopping sequence from the frequency hopping pattern as the frequency information used to transmit or receive wireless signals.
2. A method for constructing a secure orthogonal frequency hopping pattern according to claim 1, characterized in that: In step S1: the time information is encoded by design to form a structure in which the changing frequency matches the hopping rate of the frequency hopping signal, each hop corresponds to a different time information, and by designing the counter bit width, different time information and counter combinations are formed.
3. A method for constructing a secure orthogonal frequency hopping pattern according to claim 2, characterized in that: At any moment of the frequency hopping signal, the ciphertext outputs obtained based on the same or different keys of the cryptographic algorithm are all different, and the obtained random driving sequence has the characteristics of no period and no repetition.
4. The method for constructing a secure orthogonal frequency hopping pattern according to claim 1, wherein: Before the frequency mapping algorithm in step S2 is executed, the following step S20 is performed: S20, first determine the total number M of available frequency points of the frequency hopping pattern to be generated and the number of hops N required to be generated, and initialize the corresponding result matrix with M rows and N columns, and then start mapping the generated frequency points hop by hop starting from n=0.
5. A method for constructing a secure orthogonal frequency hopping pattern according to claim 4, characterized in that: The step S22 specifically includes the following steps: S221. Initialize the ordered set A = {0, 1, ..., M-1}, set the ordered set B to be initially empty, and record the number of elements m = M in set A. S222. Extract ceil(log2(m)) bits of data from the random drive sequence at time n, where ceil() is a round-up operation to convert the binary representation into a decimal number t. The data previously extracted from the random drive sequence is not reused. The next time data is extracted, the data is extracted starting from the last bit extracted this time. S223. If the value of t is greater than or equal to the number m of elements in the current set A, discard the value of t obtained this time and return to step S222. If t is less than the number m of elements in the current set A, continue to S224. S224. According to the indication of t, the tth remaining element in the current set A is taken out and placed at the end of the set B. The taken out element is deleted from the set A. At this time, the number m of remaining elements in the set A will be reduced by 1. S225. If there are still elements in set A at this time, then go back to S222 and continue to take out elements from set A and put them into set B; if the elements in set A have been taken out at this time, then there must be M complete elements in set B. At this time, these M elements are arranged in a column in the order of their addition to set B to form the nth column of the result matrix; let n = n + 1; S226. If the result matrix has not been filled at this time, that is, n < N, then go back to step S221 to repeat the construction of other column data; If the result matrix has been filled at this time, that is, n = N, then perform the final frequency conversion on the result matrix, that is, convert each element k in the matrix to the frequency fk of the kth frequency point.
6. A method for constructing a secure orthogonal frequency hopping pattern according to claim 1, characterized in that: Step S3 specifically includes the following steps: The user frequency point allocation selects a specific frequency hopping sequence from the frequency hopping pattern according to the user's ID as the frequency point information used for transmitting or receiving wireless signals; When the number of users is less than the number of available frequency points, the tolerance of synchronization error is achieved through user frequency point allocation. On the premise of maintaining the synchronization orthogonality of the frequency hopping sequences, the low collision area of the frequency hopping sequences is expanded; multiple frequency hopping sequences in the frequency hopping pattern are allocated to each user, and each user uses the frequency points at the same moment in the frequency hopping sequence in a fixed order.
Citation Information
Patent Citations
Construction method of frequency hopping sequence set without collision zone
CN115833871A
Frequency-hopping pattern generation in frequency-hopping telecommunication net
CN1780164A