Frequency Hopping Sequence Generation Method, Device and Storage Medium Based on Block Encryption

The frequency hopping sequence is generated through packet encryption, which solves the problem of insufficient security and complexity in the prior art, and realizes a frequency hopping sequence with high security and low complexity, meets the requirements of autocorrelation and cross-correlation, and is suitable for military and civil communications.

CN115314186BActive Publication Date: 2025-08-05FEIXIN INTELLIGENT CONTROL (CHENGDU) TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210708500.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-22
Publication Date
2025-08-05
Estimated Expiration
2042-06-22

AI Technical Summary

Technical Problem

The prior art is difficult to generate frequency hopping sequences with high security performance and low complexity, resulting in limited security and efficiency of frequency hopping communication systems.

Method used

Using the method of packet encryption, two pseudo-random code sequences are selected to generate truncated codes, combined with real-time clock information and keys for packet encryption, generate a long pseudo-random sequence, and perform calculations with multiple network numbers, and finally calculate the frequency hopping sequence based on the reference code.

Benefits of technology

It realizes good autocorrelation, cross-correlation and long-term security performance frequency hopping sequences, which improves the security and efficiency of frequency hopping communication.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115314186B_ABST
    Figure CN115314186B_ABST
Patent Text Reader

Abstract

The present application discloses a method, apparatus, and storage medium for generating a frequency-hopping sequence based on block encryption, relating to the technical field of frequency-hopping communication, and solving the problem in the prior art that a frequency-hopping sequence with high security performance and low complexity cannot be generated. The method includes: selecting two pseudo-random code sequences, generating a truncated code through transformation; performing block encryption on real-time clock information and the truncated code using a key to determine a long pseudo-random sequence; performing an operation on the long pseudo-random sequence and a multi-network network number to obtain a reference code; and calculating a frequency-hopping sequence according to the reference code in combination with the frequency number of the frequency-hopping library. The method achieves the effect of being able to generate a frequency-hopping sequence with good autocorrelation, cross-correlation, and long-period high security performance.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of frequency-hopping communication, and particularly to a method, device, and storage medium for generating a frequency-hopping sequence based on block encryption. Background Art

[0002] Compared with other communication methods, frequency-hopping communication has the characteristics of strong anti-jamming ability, certain anti-fading ability, and good confidentiality, and is widely used in military communication and civilian communication fields. As one of the key technologies of frequency-hopping communication, the generation of frequency-hopping sequences has a significant impact on the system performance of frequency-hopping communication. Seeking and designing frequency-hopping sequences with ideal characteristics has become one of the important topics in frequency-hopping communication.

[0003] Currently, the generation of frequency-hopping sequences is theoretically divided into three categories. Finite-field frequency-hopping sequences have the characteristics of low computational complexity, short period, and strong regularity. However, due to the relatively mature theoretical research of finite fields, this type of frequency-hopping sequence is extremely easy to be intercepted, analyzed, and cracked, and has low security. Chaotic frequency-hopping sequences have high complexity and good security, but they have short periodicity due to the influence of the finite-precision effect of digital processors, which makes their hardware implementation complex and difficult. The applicable range of differential frequency-hopping sequences is relatively narrow and not universal. How to generate a frequency-hopping sequence with a wide applicable range, low complexity, and high security performance is an urgent problem to be solved. Summary of the Invention

[0004] By providing a method, device, and storage medium for generating a frequency-hopping sequence based on block encryption in the embodiments of this application, the problem in the prior art that a frequency-hopping sequence with high security performance and low complexity cannot be generated is solved, and the purpose of generating a frequency-hopping sequence with good autocorrelation, cross-correlation, and long-period high security performance is achieved.

[0005] In a first aspect, an embodiment of the present invention provides a method for generating a frequency-hopping sequence based on block encryption, the method comprising:

[0006] Select two pseudo-random code sequences, and generate a truncated code through transformation;

[0007] Use a key to perform block encryption on the real-time clock information and the truncated code to determine a long pseudo-random sequence;

[0008] Perform an operation on the long pseudo-random sequence and a multi-network network number to obtain a reference code;

[0009] Calculate a frequency-hopping sequence according to the reference code in combination with the frequency number in the frequency-hopping library.

[0010] In combination with the first aspect, in a possible implementation manner, the generating a truncated code through transformation includes:

[0011] Save the two pseudo-random code sequences, select two values less than the length of the pseudo-random code sequences as the starting points of the truncated pseudo-random code sequences, perform truncation of a specific length according to the starting points, and determine the two pseudo-random code sequences after the first truncation;

[0012] Determine the high point and the low point of the real-time clock information, and perform equal-length truncation on the two pseudo-random code sequences after the first truncation according to the high point and the low point respectively. After the equal-length truncation, obtain the secondary truncated pseudo-random sequence codes, which are respectively denoted as A1 and A2;

[0013] The calculation formula for generating the truncated code is:

[0014] Combined with the first aspect, in a possible implementation manner, the using a key to perform grouped encryption on the real-time clock information and the truncated code to determine a long pseudo-random sequence includes:

[0015] Group the truncated code, the real-time clock information, and the counter into P1 to P6 long pseudo-random sequences, and each long pseudo-random sequence has the same length;

[0016] Through multiple rounds of iteration, look up the table to obtain the key for each round of iteration, perform n rounds of iterative operations, and generate P1 n ~P6 n long pseudo-random sequences;

[0017] Select m sequences from the P1 n ~P6 n long pseudo-random sequences for storage, increment the counter from 0 to 255, keep the truncated code and the real-time clock information unchanged, and perform iterative calculation again to obtain the long pseudo-random sequence of a specific length, where m ≤ n.

[0018] Combined with the first aspect, in a possible implementation manner, the looking up the table to obtain the key for each round of iteration includes: performing substitution operations on the substitution box; wherein, the substitution box includes 256 elements, the element values are within the range of 0 to 255, the distribution positions are pseudo-random, and any two elements are not equal.

[0019] Combined with the first aspect, in a possible implementation manner, the performing operations on the long pseudo-random sequence and the multi-network network number to obtain a reference code includes:

[0020] Expand each network number into an 8-bit network number, and further expand each bit network number in the 8-bit network number into a 16-bit network number;

[0021] Perform operations on the expanded 6-bit network number and the long pseudo-random sequence to generate the reference code.

[0022] Combined with the first aspect, in a possible implementation, the calculating the hopping sequence by combining the reference code with the frequency numbers in the hopping library includes:

[0023] Calculating the initial hopping sequence and subsequent code sequences within a time period to form a sequence code;

[0024] Mapping the sequence code onto a screening matrix to obtain a to-be-determined pseudo-random sequence;

[0025] Selecting corresponding frequency values according to the mapping relationship from the sequence codes in the to-be-determined pseudo-random sequence to further determine the hopping sequence.

[0026] In a second aspect, an embodiment of the present invention provides a hopping sequence generating device based on a block encryption algorithm. The device includes:

[0027] A truncated code generation module, configured to select two pseudo-random code sequences and generate truncated codes through transformation;

[0028] A random sequence determination module, configured to perform block encryption on the real-time clock information and the truncated codes by using a key to determine a long pseudo-random sequence;

[0029] A reference code determination module, configured to perform operations on the long pseudo-random sequence and a multi-network network number to obtain a reference code;

[0030] A hopping sequence determination module, configured to calculate a hopping sequence according to the reference code in combination with the frequency numbers in the hopping library.

[0031] Combined with the second aspect, in a possible implementation, the truncated code generation module is configured to save the two pseudo-random code sequences, select two values smaller than the lengths of the pseudo-random code sequences as the starting points of the intercepted pseudo-random code sequences, and perform interception of a specific length according to the starting points to determine the two pseudo-random code sequences after the first interception;

[0032] Determining the high-order point and low-order point of the real-time clock information, and respectively performing equal-length interception on the two pseudo-random code sequences after the first interception according to the high-order point and the low-order point. After the equal-length interception, secondary intercepted pseudo-random sequence codes are obtained, respectively represented as A1 and A2;

[0033] The calculation formula for generating the truncated code is:

[0034] Combined with the second aspect, in a possible implementation, the random sequence determination module is configured to group the truncated codes, the real-time clock information, and a counter into P1 to P6 long pseudo-random sequences, and each long pseudo-random sequence has an equal length;

[0035] After multiple rounds of iteration, look up the table to obtain the key for each round of iteration, perform n rounds of iterative operations, and generate long pseudo-random sequences;

[0036] From Select m sequences from the long pseudo-random sequences for storage. The counter increments from 0 to 255, keeping the truncated code and the real-time clock information unchanged, and perform iterative calculations again to obtain the long pseudo-random sequences of a specific length, where m ≤ n.

[0037] Combined with the second aspect, in a possible implementation, the random sequence determination module is used for substitution operations on the substitution box; wherein, the substitution box includes 256 elements, the element values are within the range of 0 to 255, the distribution positions are pseudo-random, and any two elements are not equal.

[0038] Combined with the second aspect, in a possible implementation, the reference code determination module is used to expand each network number bit into an 8-bit network number, and further expand each bit network number in the 8-bit network number into a 16-bit network number;

[0039] Perform operations on the expanded 6-bit network number and the long pseudo-random sequence to generate the reference code.

[0040] Combined with the second aspect, in a possible implementation, the frequency hopping sequence determination module is used to calculate the frequency hopping start sequence and the subsequent code sequence within a time period to form a sequence code;

[0041] Map the sequence code to a sieve matrix to obtain a to-be-determined pseudo-random sequence;

[0042] Look up the table according to the mapping relationship to select the corresponding frequency value for the sequence code in the to-be-determined pseudo-random sequence, and then determine the frequency hopping sequence.

[0043] In a third aspect, an embodiment of the present invention provides a frequency hopping sequence generation server based on a block encryption algorithm. The server includes a memory and a processor;

[0044] The memory is used to store computer-executable instructions;

[0045] The processor is used to execute the computer-executable instructions to implement the method described in the first aspect or any possible implementation manner of the first aspect.

[0046] In a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium. The computer-readable storage medium stores executable instructions, and when a computer executes the executable instructions, it can implement the method described in the first aspect or any possible implementation manner of the first aspect.

[0047] One or more technical solutions provided in the embodiments of the present invention have at least the following technical effects or advantages:

[0048] In the embodiments of the present invention, a method, device, and storage medium for generating a frequency-hopping sequence based on block encryption are adopted. The method includes selecting two pseudo-random code sequences, generating a truncated code through transformation; performing block encryption on the real-time clock information and the truncated code using a key to determine a long pseudo-random sequence; performing operations on the long pseudo-random sequence and the multi-network network number to obtain a reference code; calculating the frequency-hopping sequence according to the reference code and combining the frequency numbers in the frequency-hopping library. The generation of the truncated code effectively reduces the probability of artificially deciphering the position where the pseudo-random code is intercepted. Block encryption can hide the information and enable the encryption operation to quickly complete "confusion" and "diffusion"; combining with the multi-network network number enables the system to work in a multi-network mode in the same area. This method effectively solves the problem in the prior art that a frequency-hopping sequence with high security performance and low complexity cannot be generated, and further achieves the purpose of generating a frequency-hopping sequence with good autocorrelation, cross-correlation, and long period and high security performance. BRIEF DESCRIPTION OF THE DRAWINGS

[0049] In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings required for describing the embodiments of the present invention or the prior art. Obviously, the drawings in the following description are some embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.

[0050] Figure 1 It is a flowchart of the steps for generating a frequency-hopping sequence provided in the embodiments of the present application;

[0051] Figure 2 It is a schematic diagram of a sequence generator provided in the embodiments of the present application with n = 1,2, C i = 10,123;

[0052] Figure 3 It is a schematic diagram of a sequence generator provided in the embodiments of the present application with n = 1,2, C i = 1,0125;

[0053] Figure 4 It is a schematic diagram of the generation of a truncated code provided in the embodiments of the present application;

[0054] Figure 5 It is a flowchart of the steps for block encryption provided in the embodiments of the present application;

[0055] Figure 6 It is a schematic diagram of a block encryption algorithm provided in the embodiments of the present application;

[0056] Figure 7Flow chart of reference code acquisition steps provided by an embodiment of this application;

[0057] Figure 8 Schematic diagram of introducing network number to generate reference code provided by an embodiment of this application;

[0058] Figure 9 Flow chart of hopping sequence generation steps provided by an embodiment of this application;

[0059] Figure 10 Schematic diagram of hopping sequence generation device based on block encryption algorithm provided by an embodiment of this application;

[0060] Figure 11 Schematic diagram of hopping sequence generation server based on block encryption algorithm provided by an embodiment of this application. Detailed implementation manners

[0061] Next, the technical solutions in the embodiments of the present invention will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are some, but not all, of the embodiments of the present invention. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.

[0062] The hopping sequence should have excellent comprehensive statistical performance, including high complexity, long periodicity, good randomness, uniformity, networking characteristics, etc.; in addition, in high-performance military radios, wide-spacing hopping is also required. Wide-spacing hopping means that the interval between two frequencies transmitted in adjacent hopping time slots is greater than a certain specified value. This requirement was first proposed in JTIDS. For a system with a determined hopping rate, designing the hopping sequence to be wide-spacing can better resist narrowband interference, tracking interference, broadband blocking interference, and multipath fading. At the same time, in order to be able to construct multiple different hopping networks in the same area, it is required that the hopping sequence can support multi-network modes, which requires that the hopping sequence must have good autocorrelation and cross-correlation.

[0063] Currently, the generation theories of hopping sequences are mainly divided into four categories: finite field hopping sequences, chaotic hopping sequences, differential hopping sequences, and block cipher hopping sequences. And the methods for implementing hopping sequences mainly include: constructing hopping sequences based on finite field theory, generating hopping sequences using chaotic mapping, generating hopping sequences by differential hopping sequences, and hopping sequences based on block ciphers, etc.

[0064] The Hamming correlation performance of the hopping sequence constructed based on finite field theory is relatively good, and the circuit implementation is simple. However, its computational complexity is relatively low, the period is short, and the regularity is strong. Moreover, due to the relatively mature theoretical research on finite fields, this type of hopping sequence is extremely easy to be intercepted, analyzed, and cracked, with low security.

[0065] Chaotic frequency-hopping sequences have good comprehensive performance, especially higher complexity and good security. However, when the chaotic algorithm is implemented specifically, it has short periodicity due to the influence of the limited precision effect of digital processors, which makes its hardware implementation complex and difficult. Differential frequency-hopping sequences are mainly for special frequency-hopping communication systems, with a narrow range of sequence applications and no universality.

[0066] Frequency-hopping sequences based on block ciphers have good comprehensive performance, are resistant to linear and differential cryptanalysis, have extremely high security, and are relatively easy to implement. Therefore, frequency-hopping sequences are constructed based on block encryption algorithms. By using the system clock (time of day, TOD) as the plaintext and the user key (KEY) as the encryption key, according to the "confusion" and "diffusion" criteria for cipher design proposed by Shannon, frequency-hopping sequences are generated. After testing, the frequency-hopping sequences generated by such methods have excellent comprehensive performance.

[0067] The embodiment of the present invention provides a method for generating a frequency-hopping sequence based on block encryption, as Figure 1 shown, this method includes the following steps S101 to S104.

[0068] S101, Select two pseudo-random code sequences and generate truncated codes through transformation.

[0069] S102, Use the key to perform block encryption on the real-time clock information and the truncated code to determine a long pseudo-random sequence.

[0070] S103, Perform operations on the long pseudo-random sequence and the multi-network network number to obtain a reference code.

[0071] S104, According to the reference code, calculate the frequency-hopping sequence in combination with the frequency number in the frequency-hopping library.

[0072] In step S101, the length of the pseudo-random sequence required to generate the truncated code is determined according to the repetition period of the frequency-hopping sequence. In a specific embodiment provided in this application, a 12th-order primitive polynomial is selected according to the calculation to construct the pseudo-random code.

[0073] The two pseudo-random code sequences are saved, and two values smaller than the length of the pseudo-random code sequence are selected as the starting points of the truncated pseudo-random code sequences, and specific-length truncation is performed according to the starting points to determine the two pseudo-random code sequences after the first truncation.

[0074] In a specific embodiment of the present application, two pseudo-random sequences with a length of 4095 bits are saved, and two numbers less than 4096 are selected as the starting points of the sequences; in order to reduce the position of the pseudo-random code intercepted by human deciphering, an algorithm is used to intercept the two pseudo-random sequences with a length of 3 bits from the starting point of the two pseudo-codes with a length of 4095 bits, respectively, to obtain random sequences with a length of 4092 bits and 4093 bits.

[0075] In a specific embodiment provided in this application, Figure 2 The example shows n=12, C i =10123, Sequencer Schematic Diagram, Figure 3 The example shows n=12, C i =10125, schematic diagram of sequence generator.

[0076] Determine the high bit and low bit of the real-time clock information, and perform equal-length interception on the two pseudo-random code sequences after the initial interception according to the high bit and low bit, and obtain the secondary intercepted pseudo-random sequence codes after equal-length interception, which are represented as A1 and A2 respectively.

[0077] Define the real-time clock information (English: Time of Day, referred to as: TOD) as 24 bits, determine the high and low bits of TOD, define i as the high 12 bits, j as the low 12 bits, and truncate the random sequence of lengths of 4092 bits and 4093 bits according to the high 12 bits and low 12 bits respectively to obtain two sequences of lengths of 16 bits, denoted as A1 and A2 respectively; generate a 16-bit truncated code according to the truncated code calculation formula, the calculation formula is like Figure 4 The diagram shows the generation of truncated codes.

[0078] In step S102, the real-time clock information and the truncated code are encrypted in groups using a key to determine a long pseudo-random sequence, specifically as follows: Figure 5 The process shown includes the following steps S501 to S503.

[0079] S501, grouping the truncated code, real-time clock information and counter into P1 to P6 long pseudo-random sequences, each of which has the same length. In a specific embodiment of the present application, the length of the long pseudo-random sequence is 8 bits.

[0080] S502, after multiple rounds of iteration, look up the table to obtain the key for each round of iteration, perform n rounds of iterative operations, and generate In this step, a specific method provided by this application is to perform 16 rounds of iterations to generate During the iterative process, Denote the iterative key of the i-th round, with a width of 8 bits. SBox1 to SBox3 are encryption substitution boxes with 8-bit input and 8-bit output, which can be obtained by looking up a table. is the exclusive OR operation. For example Figure 6 The figure shows a schematic diagram of the block encryption algorithm.

[0081] The specific definition of the iterative operation is as follows:

[0082]

[0083] In the above formula, S n (*) is the substitution operation defined on the substitution box SBox. SBox is similar to a lookup table, with a total of 256 elements. The element values are within the range of 0 to 255, and any two elements are not equal. The distribution positions are pseudo-random, enabling the encryption operation to quickly complete "confusion" and "diffusion". Look up the table to obtain the key for each round of iteration, including: the substitution operation on the substitution box.

[0084] S503, select m sequences from P1 n to P6 n long pseudo-random sequences for storage. The counter increments from 0 to 255, keeping the truncated code and real-time clock information unchanged, and re-performing the iterative calculation to obtain a long pseudo-random sequence of a specific length, where m ≤ n.

[0085] Set m = 4. Specifically, store P1 16 and as a 32-bit data. The counter increments from 0 to 255, TOD and short remain unchanged, and re-performing the iterative calculation can obtain a 256×32-bit long pseudo-random sequence PNS.

[0086] In step S103, perform an operation on the long pseudo-random sequence and the multi-network network number to obtain a reference code, as shown in Figure 7 the following steps S701 to S702.

[0087] S701, expand each bit of the network number into an 8-bit network number, and further expand each bit of the 8-bit network number into a 16-bit network number. In order to implement the multi-network mode operation of the system in the same area, multiple frequency-hopping sequences need to be strictly orthogonal. Therefore, by introducing the system network number parameter, the diversity of the frequency-hopping codes in the multi-network mode is ensured.

[0088] Expand each bit of the network number into an 8-bit network number, denoted as: t = [t0, t1, t2,... t 15, each bit therein is expanded into a byte (8 bits), expressed as: T0 = [t0, t0, t0, t0, t0, t0, t0, t0]. The network number is expanded into 16 bytes, expressed as: T = [T0, T1, T2, … T 15 .

[0089] S702, the expanded 6-bit network number is operated on with a long pseudo-random sequence to generate a reference code. The long pseudo-random sequence PNS is divided by byte size, and the operation rule f(S, T) for calculating the reference value is defined as:

[0090]

[0091] where i is the number of frequencies to be calculated within one period. In this invention, i = 36 is selected, and the reference value C i is the hopping frequency point corresponding to the hopping sequence. As Figure 8 shown is the schematic diagram of generating a reference code by introducing a network number.

[0092] The hopping frequencies within one time period are calculated through the above steps. However, the hopping frequencies may not meet the wide-spacing requirement. Therefore, it is also necessary to perform wide-spacing processing on each frequency value in combination with the hopping frequency library to generate the hopping sequence in the multi-network mode.

[0093] In step S104, according to the reference code, the hopping sequence is calculated in combination with the hopping library frequency number, as Figure 9 shown including the following S901 to S902.

[0094] S901, calculate the initial hopping sequence and the subsequent code sequence within the time period to form a sequence code. The initial sequence is the first hopping frequency point within one time period. The first frequency point can be any one in the frequency set. Therefore, using the reference code C i to calculate the initial sequence H0 by taking the remainder of the frequency set q, the calculation formula is as follows:

[0095] H0 = C i % q.

[0096] For the subsequent hopping code, it is necessary to consider that the interval from the previous hopping code must be greater than the specified minimum hopping interval value. Define the minimum hopping interval as g. Then, g - 1 frequency values B' on both sides of the previous hopping code do not meet the wide-spacing requirement and must be excluded. B' = [(H i - g + 1) % q,..., (H i + g - 1) % q].

[0097] Therefore, the selectable sequence code B i for the subsequent code sequence is: B i= B0 - B', where B0 is the optional range of the previous hopping code.

[0098] S902. Map the sequence code to the screening matrix to obtain the pseudo-random sequence to be determined. The mapping relationship is: H i = B i (C i % q), that is, the wide-spacing sequence code H i is the C i % q elements of B. i % q elements.

[0099] If H i is not within the B i screening matrix, skip this sequence code. According to the sequence codes in {H i}, select the frequencies in their corresponding frequency subsets, change different network numbers, and generate hopping sequences in the multi-network mode.

[0100] Arrange the serial numbers in ascending order. Assign a frequency number to each serial number, starting from 0, to form a serial number array {0, 1, 2... q - 1}. Each frequency number corresponds to a frequency value, forming a frequency value array {f0, f1,... f q-1}; According to the fixed corresponding relationship, select the corresponding frequency value according to the code values of {H i}.

[0101] S903. According to the mapping relationship, look up the table to select the corresponding frequency value for the sequence code in the pseudo-random sequence to be determined, and then determine the hopping sequence.

[0102] The corresponding relationship is shown in Table 1.

[0103] Table 1 Corresponding relationship between frequency and hopping code

[0104] Serial number Mesh 1 Mesh 2 Mesh 3 … Mesh n 1 <![CDATA[0 / f0]]> <![CDATA[0 / f0]]> <![CDATA[0 / f0]]> … <![CDATA[0 / f0]]> 2 <![CDATA[1 / f1]]> <![CDATA[1 / f1]]> <![CDATA[1 / f1]]> … <![CDATA[1 / f1]]> 3 <![CDATA[2 / f2]]> <![CDATA[2 / f2]]> <![CDATA[2 / f2]]> … <![CDATA[2 / f2]]> … … … … … … q-1 <![CDATA[f q-1 > <![CDATA[f q-1 > <![CDATA[f q-1 > <![CDATA[f q-1 >

[0105] An embodiment of the present invention provides a hopping sequence generation device 1000 based on a block encryption algorithm. The device includes: a truncated code generation module 1001, a random sequence determination module 1002, a reference code determination module 1003, and a hopping sequence determination module 1004.

[0106] The truncated code generation module 1001 is used to select two pseudo-random code sequences, and generate a truncated code through transformation. The truncated code generation module 1001 is used to save the two pseudo-random code sequences, and select two values less than the length of the pseudo-random code sequences as the starting points of the truncated pseudo-random code sequences, and perform truncation of a specific length according to the starting points to determine the two pseudo-random code sequences after the first truncation; determine the high and low points of the real-time clock information, and perform equal-length truncation on the two pseudo-random code sequences after the first truncation according to the high and low points respectively. After the equal-length truncation, the secondary truncated pseudo-random sequence codes are obtained, which are respectively denoted as A1 and A2; the calculation formula for generating the truncated code is:

[0107] The random sequence determination module 1002 is used to perform grouped encryption on the real-time clock information and the truncated code using a key to determine a long pseudo-random sequence. The random sequence determination module 1002 is used to group the truncated code, the real-time clock information, and the counter into P1 to P6 long pseudo-random sequences, and the length of each long pseudo-random sequence is equal; through multiple rounds of iteration, look up the key for each round of iteration, and perform n rounds of iterative operations to generate long pseudo-random sequences; select m sequences from long pseudo-random sequences for storage, the counter increments from 0 to 255, keep the truncated code and the real-time clock information unchanged, and perform iterative calculation again to obtain a long pseudo-random sequence of a specific length, where m ≤ n. The random sequence determination module 1002 is used for substitution operations on the substitution box; wherein, the substitution box includes 256 elements, the element values are within the range of 0 to 255, the distribution positions are pseudo-random, and any two elements are not equal.

[0108] The reference code determination module 1003 is used to perform operations on the long pseudo-random sequence and the multi-network network number to obtain a reference code. The reference code determination module 1003 is used to expand each network number bit into an 8-bit network number, and further expand each bit network number in the 8-bit network number into a 16-bit network number; perform operations on the expanded 6-bit network number and the long pseudo-random sequence to generate a reference code.

[0109] The frequency hopping sequence determination module 1004 is used to calculate the frequency hopping sequence according to the reference code in combination with the frequency hopping library frequency number. The frequency hopping sequence determination module 1004 is used to calculate the initial frequency hopping sequence and the subsequent code sequence within a time period to form a sequence code; map the sequence code to a sieve matrix to obtain a to-be-determined pseudo-random sequence; look up the table according to the mapping relationship for the sequence code in the to-be-determined pseudo-random sequence to select the corresponding frequency value, and further determine the frequency hopping sequence.

[0110] The present invention generates a frequency-hopping pattern that meets the requirements of pseudo-randomness, long period, wide interval, and multi-network mode based on a block encryption algorithm. In the invention, in order to ensure that the frequency-hopping sequence has good autocorrelation, cross-correlation, and long period characteristics, a pseudo-random sequence with a sufficiently long repetition period needs to be selected first. Here, a 12th-degree primitive polynomial with good autocorrelation and cross-correlation that has been verified is used to construct a pseudo-random code. In order to randomly generate a truncated code, the time-of-day (TOD) variable is introduced. The 16-bit truncated code is generated through TOD as a variable and used as the input variable for block encryption iteration.

[0111] The present invention generates the effects of "confusion" and "diffusion" through multiple rounds of block encryption iteration, ensuring that the frequency-hopping pattern cannot be deciphered and has flexible characteristics in actual use. During the block encryption iteration process, the input variables include not only the 16-bit truncated code generated by the pseudo-random code, but also TOD and the encryption key. In particular, the encryption substitution box is used to hide the possible regularity of the frequency-hopping pattern, making it impossible for the opponent to achieve cracking through long-term monitoring and tracking. In order to avoid man-made interference from the enemy to the greatest extent, the frequency-hopping pattern requires a wide interval characteristic between the frequencies before and after. The present invention uses the method of sieve matrix mapping to ensure that the generated frequency-hopping sequence meets both certain pseudo-random characteristics and the requirement of wide interval.

[0112] An embodiment of the present invention provides a frequency-hopping sequence generation server based on a block encryption algorithm. As shown in FIG. 11, it includes a memory 〖1101〗 and a processor 〖1102〗; the memory 〖1101〗 is used to store computer-executable instructions; the processor 〖1102〗 is used to execute the computer-executable instructions to implement the above method.

[0113] An embodiment of the present invention provides a computer-readable storage medium. The computer-readable storage medium stores executable instructions, and when the computer executes the executable instructions, it implements the above method.

[0114] The above storage medium includes, but is not limited to, random access memory (English: Random Access Memory; abbreviation: RAM), read-only memory (English: Read-Only Memory; abbreviation: ROM), cache (English: Cache), hard disk (English: Hard Disk Drive; abbreviation: HDD), or memory card (English: Memory Card). The memory can be used to store computer program instructions.

[0115] Although the present application provides method operation steps as described in the embodiments or flowcharts, more or fewer operation steps may be included based on routine or non-creative labor. The order of steps listed in this embodiment is only one way among the execution orders of numerous steps and does not represent the only execution order. When the actual device or client product is executed, it can be executed in the order of the method shown in this embodiment or the drawings, or executed in parallel (for example, in an environment of parallel processors or multi-threaded processing).

[0116] The devices or modules illustrated in the above embodiments can be specifically implemented by computer chips or entities, or by products with certain functions. For the convenience of description, when describing the above devices, they are divided into various modules according to functions and described separately. When implementing the present application, the functions of each module can be implemented in the same or multiple software and / or hardware. Of course, the module that implements a certain function can also be implemented by combining multiple sub-modules or sub-units.

[0117] Some modules in the devices described in the present application can be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, classes, etc. that execute specific tasks or implement specific abstract data types. The present application can also be practiced in a distributed computing environment, where tasks are executed by remote processing devices connected through a communication network. In a distributed computing environment, program modules can be located in local and remote computer storage media including storage devices.

[0118] From the description of the above embodiments, those skilled in the art can clearly understand that the present application can be implemented by means of software plus necessary hardware. Based on such an understanding, the technical solution of the present application, in essence or the part that contributes to the prior art, can be embodied in the form of a software product, or can also be reflected in the implementation process of data migration. This computer software product can be stored in a storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions for causing a computer device (which can be a personal computer, mobile terminal, server, or network device, etc.) to execute the methods described in various embodiments or some parts of the embodiments of the present application.

[0119] The various embodiments in this specification are described in a progressive manner. For the same or similar parts among the various embodiments, reference can be made to each other, and the key points of each embodiment are the differences from other embodiments. All or part of this application can be used in many general or special computer system environments or configurations. For example: personal computers, server computers, handheld or portable devices, tablet devices, mobile communication terminals, multi-processor systems, microprocessor-based systems, programmable electronic devices, network PCs, minicomputers, mainframe computers, distributed computing environments including any of the above systems or devices, and so on.

[0120] The above embodiments are only used to illustrate the technical solutions of this application, rather than limiting this application; although this application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or perform equivalent replacements on some or all of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of this application.

Claims

1. A method for generating a frequency hopping sequence based on block encryption, characterized in that: include: Select two pseudo-random code sequences and generate truncated codes through transformation; Using a key to perform group encryption on the real-time clock information and the truncated code to determine a long pseudo-random sequence; Performing operations on the long pseudo-random sequence and the multi-network number to obtain a reference code; Calculate the frequency hopping sequence according to the reference code and the frequency number of the frequency hopping library; The step of generating a truncated code through transformation includes: The two pseudo-random code sequences are saved, and two values smaller than the length of the pseudo-random code sequences are selected as starting points of the truncated pseudo-random code sequences, and a specific length of truncation is performed based on the starting points to determine the two pseudo-random code sequences after the first truncation; Determine the high bit and the low bit of the real-time clock information, and perform equal-length interception on the two pseudo-random code sequences after the initial interception according to the high bit and the low bit, respectively, to obtain secondary interception pseudo-random sequence codes after the equal-length interception, which are represented by A1 and A2 respectively; The calculation formula for generating the truncated code is:

2. The method according to claim 1, characterized in that The method of using a key to perform group encryption on the real-time clock information and the truncated code to determine a long pseudo-random sequence includes: Grouping the truncated code, the real-time clock information, and the counter into P1 to P6 long pseudo-random sequences, each of which has the same length; After multiple rounds of iteration, the key of each round of iteration is obtained by looking up the table, and n rounds of iterative operations are performed to generate The long pseudo-random sequence; from m sequences are selected from the long pseudo-random sequences for storage, a counter is incremented from 0 to 255, the truncated code and the real-time clock information are kept unchanged, and iterative calculation is performed again to obtain the long pseudo-random sequence of a specific length, where m≤n.

3. The method according to claim 2, characterized in that The table lookup to obtain the key for each iteration includes: a substitution operation on a substitution box; wherein the substitution box includes 256 elements, the element values are in the range of 0 to 255, the distribution positions are pseudo-random, and no two elements are equal.

4. The method according to claim 1, wherein The performing operation on the long pseudo-random sequence and the multi-network number to obtain a reference code includes: Expand each bit of the network number to an 8-bit network number, and further expand each bit of the 8-bit network number to a 16-bit network number; The expanded 6-bit network number is operated with the long pseudo-random sequence to generate the reference code.

5. The method according to claim 1, wherein The calculating of the frequency hopping sequence according to the reference code and the frequency number of the frequency hopping library includes: Calculate the frequency hopping first sequence and subsequent code sequences within the time period to form a sequence code; Mapping the sequence code onto a sieve matrix to obtain a pseudo-random sequence to be determined; The sequence code in the pseudo-random sequence to be determined is looked up in a table according to a mapping relationship to select a corresponding frequency value, thereby determining a frequency hopping sequence.

6. A frequency hopping sequence generating device based on a block encryption algorithm, characterized in that: include: A truncated code generation module is used to select two pseudo-random code sequences and generate a truncated code through transformation; The step of generating a truncated code through transformation includes: The two pseudo-random code sequences are saved, and two values smaller than the length of the pseudo-random code sequences are selected as starting points of the truncated pseudo-random code sequences, and a specific length of truncation is performed based on the starting points to determine the two pseudo-random code sequences after the first truncation; Determine the high bit and the low bit of the real-time clock information, and perform equal-length interception on the two pseudo-random code sequences after the initial interception according to the high bit and the low bit, respectively, to obtain secondary intercepted pseudo-random sequence codes after the equal-length interception, which are represented by A1 and A2 respectively; The calculation formula for generating the truncated code is: A random sequence determination module is used to use a key to perform group encryption on the real-time clock information and the truncated code to determine a long pseudo-random sequence; A reference code determination module, configured to perform operations on the long pseudo-random sequence and the multi-network number to obtain a reference code; The frequency hopping sequence determination module is used to calculate the frequency hopping sequence according to the reference code and the frequency number of the frequency hopping library.

7. A frequency hopping sequence generation server based on a block encryption algorithm, characterized in that: including memory and processor; The memory is used to store computer-executable instructions; The processor is configured to execute the computer-executable instructions to implement the method according to any one of claims 1 to 5.

8. A computer-readable storage medium, characterized in that The computer-readable storage medium stores executable instructions, and when a computer executes the executable instructions, the method according to any one of claims 1 to 5 can be implemented.

Citation Information

Patent Citations

  • Capturing and synchronizing method suitable for high-speed frequency hopping system

    CN110445512A

  • Method of processing a data packet before transmission over a radio communications network, a method of processing a received data packet, and associated devices and systems

    US20140233733A1