Security Processing Method and Device for Spatial Network Data
By segmenting, obfuscating and diffusion of satellite images and compressing them, the problems of low security and efficiency in satellite image transmission are solved, and more efficient and secure data transmission is achieved.
Patent Information
- Application Number
- CN202510066071.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-16
- Publication Date
- 2025-06-20
- Estimated Expiration
- 2045-01-16
AI Technical Summary
Satellite images have problems with risk of leakage and low transmission efficiency during transmission, especially in space networks, information security and bandwidth consumption caused by instability of radio communication and huge large data files.
By acquiring six randomized keys, the satellite grayscale image to be transmitted is divided into two sub-images of the same size, and these keys are used to generate obfuscation permutation sequences and diffusion keys, the sub-images are obfuscated and diffusion processed, and encrypted satellite images are formed and compressed.
The security and transmission efficiency of satellite image data during transmission are improved, and the volume and transmission delay of data are reduced through segmentation and encryption processing, and the protection of data is enhanced.
Smart Images

Figure CN119520695B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of information security technology, and particularly to a method and device for securely processing spatial network data. Background Art
[0002] A spatial network is a communication and information transmission network formed by satellites or other space devices, and is widely used in fields such as aerospace, military, meteorology, and communication. It relies on radio communication between satellites, spacecraft, and ground stations to perform tasks such as communication, remote sensing, and meteorological data transmission in remote areas. There is a wide variety of data transmitted in the spatial network, and satellite images are one of the important data types. Satellite images provide detailed records of information such as the Earth's surface, environment, and climate. It is widely used in fields such as environmental monitoring, agricultural management, disaster prediction, and military reconnaissance, and has extremely high value.
[0003] However, during the transmission of satellite images, there is a risk of data leakage. Since satellite communication usually uses radio waves, the data transmission between satellites and ground stations is vulnerable to signal interception threats. Malicious attackers may intercept communication signals and steal sensitive data during transmission, resulting in information leakage. In addition, due to the certain instability of the communication links in the spatial network, signals may be interfered with or tampered with during transmission, causing data loss or leakage. Therefore, the transmission security of satellite images needs to be paid special attention to.
[0004] In addition, the transmission rate is also an important issue in the spatial network. Since satellite images are usually high-resolution image files containing a large amount of pixel information, the file size is very large. Without effective compression measures, transmitting such large data will significantly increase the network burden, consume a large amount of bandwidth, and cause transmission delays, and may even not be transmitted in a timely manner in a bandwidth-limited environment.
[0005] Therefore, it is necessary to provide a secure processing solution for spatial network data to improve the security and transmission efficiency of satellite image data during transmission. Summary of the Invention
[0006] The present invention provides a method and device for securely processing spatial network data to solve the deficiencies of poor security and efficiency in data transmission in the prior art.
[0007] The present invention provides a method for securely processing spatial network data, including:
[0008] Obtaining six randomized keys; the six randomized keys are binary sequences of the same length;
[0009] Dividing the satellite grayscale image to be transmitted into two sub-images of the same size;
[0010] Convert the first randomization key and the second randomization key among the six randomization keys into a first scrambled permutation sequence and a second scrambled permutation sequence;
[0011] Perform scrambling processing on one of the sub-images based on the first scrambled permutation sequence to obtain a first scrambled sub-image, and perform scrambling processing on the other sub-image based on the second scrambled permutation sequence to obtain a second scrambled sub-image;
[0012] Intercept the third randomization key, the fourth randomization key, the fifth randomization key, and the sixth randomization key among the six randomization keys according to the size of the sub-image to obtain a first diffusion key, a second diffusion key, a third diffusion key, and a fourth diffusion key;
[0013] Perform diffusion processing on the first scrambled sub-image based on the first diffusion key and the second diffusion key to obtain a first encrypted sub-image, and perform diffusion processing on the second scrambled sub-image based on the third diffusion key and the fourth diffusion key to obtain a second encrypted sub-image;
[0014] Stitch the first encrypted sub-image and the second encrypted sub-image to obtain an encrypted satellite image, and compress the encrypted satellite image to obtain compressed encrypted satellite image data.
[0015] According to a security processing method for spatial network data provided by the present invention, the conversion of the first randomization key and the second randomization key among the six randomization keys into a first scrambled permutation sequence and a second scrambled permutation sequence includes:
[0016] Convert the binary numbers of each preset bit of the first randomization key and the second randomization key into a decimal number to obtain a first initial permutation sequence and a second initial permutation sequence;
[0017] Convert the first initial permutation sequence and the second initial permutation sequence into a first scrambled permutation sequence and a second scrambled permutation sequence based on the size of the sub-image.
[0018] According to a security processing method for spatial network data provided by the present invention, the conversion of the first initial permutation sequence and the second initial permutation sequence into a first scrambled permutation sequence and a second scrambled permutation sequence based on the size of the sub-image includes:
[0019] First initialization step: construct an empty row permutation sequence, a column permutation sequence, a row pointer, a column pointer, a pointer to be processed, and a read pointer based on the size of the sub-image; wherein, the length of the row permutation sequence is the number of vertical pixels of the sub-image, the length of the column permutation sequence is the number of horizontal pixels of the sub-image, the row pointer and the column pointer respectively point to the first position of the row permutation sequence and the column permutation sequence, the initial value of the pointer to be processed is the row pointer, and the read pointer points to the first position of the initial permutation sequence to be processed; the initial permutation sequence to be processed is the first initial permutation sequence or the second initial permutation sequence;
[0020] Conversion step: if the current pointer to be processed is the row pointer, move the read pointer starting from the current position of the read pointer until the value currently pointed to by the read pointer is not repeated with the values in the row permutation sequence and is less than the length of the row permutation sequence, store the value currently pointed to by the read pointer at the position pointed to by the row pointer, the row pointer points to the next position, and set the current pointer to be processed as the column pointer; if the current pointer to be processed is the column pointer, move the read pointer starting from the current position of the read pointer until the value currently pointed to by the read pointer is not repeated with the values in the column permutation sequence and is less than the length of the column permutation sequence, store the value currently pointed to by the read pointer at the position pointed to by the column pointer, the column pointer points to the next position, and set the current pointer to be processed as the row pointer;
[0021] Iteration step: repeat the conversion step until the row pointer traverses the row permutation sequence and the column pointer traverses the column permutation sequence, and splice the row permutation sequence and the column permutation sequence to obtain the first scrambled permutation sequence or the second scrambled permutation sequence corresponding to the initial permutation sequence to be processed.
[0022] According to a security processing method for spatial network data provided by the present invention, the method for scrambling one sub-image based on the first scrambled permutation sequence to obtain a first scrambled sub-image includes:
[0023] Second initialization step: construct a first pointer and a second pointer; the first pointer points to the first position of the first scrambled permutation sequence, and the second pointer points to the last position of the first scrambled permutation sequence;
[0024] Pixel permutation step: based on the current positions of the first pointer and the second pointer, determine the first permuted pixel point of the sub-image; based on the value currently pointed to by the first pointer and the value currently pointed to by the second pointer, determine the second permuted pixel point of the sub-image; swap the pixel values of the first permuted pixel point and the second permuted pixel point, and jump to the row iteration step;
[0025] Row iteration step: If the second pointer reaches the (N + 1)-th position of the first scrambling permutation sequence, jump to the column iteration step; otherwise, move the second pointer forward and jump to the pixel permutation step; N is the length of the row permutation sequence.
[0026] Column iteration step: If the first pointer has not reached the N-th position of the first scrambling permutation sequence, move the first pointer backward, point the second pointer to the last position of the first scrambling permutation sequence, and jump to the pixel permutation step.
[0027] A security processing method for spatial network data provided by the present invention, the obtaining six randomized keys includes:
[0028] Generating six chaotic sequences of the same length based on a chaotic system;
[0029] Based on any one of the chaotic sequences, intercept the first preset number of digits after the decimal point of each number in the any one of the chaotic sequences to form an intercepted sequence of the any one of the chaotic sequences;
[0030] Convert each number in the intercepted sequence of the any one of the chaotic sequences into an integer and then into a binary number of a second preset number of digits to obtain a conversion sequence of the any one of the chaotic sequences;
[0031] Concatenate each number in the conversion sequence of the any one of the chaotic sequences to obtain a randomized key of the any one of the chaotic sequences.
[0032] A security processing method for spatial network data provided by the present invention, the intercepting the third randomized key, the fourth randomized key, the fifth randomized key, and the sixth randomized key among the six randomized keys based on the size of the sub-image to obtain a first diffusion key, a second diffusion key, a third diffusion key, and a fourth diffusion key includes:
[0033] Determine the product of the number of pixels of the sub-image and 8 as the length to be intercepted;
[0034] Based on the length to be intercepted, intercept the third randomized key, the fourth randomized key, the fifth randomized key, and the sixth randomized key respectively to obtain a first diffusion key, a second diffusion key, a third diffusion key, and a fourth diffusion key with a length equal to the length to be intercepted.
[0035] A security processing method for spatial network data provided by the present invention, the diffusing the first scrambled sub-image based on the first diffusion key and the second diffusion key to obtain a first encrypted sub-image includes:
[0036] Convert the first scrambled sub - graph into a one - dimensional sequence, and convert each number in the one - dimensional sequence into an 8 - bit binary number to obtain a first scrambled sequence;
[0037] Exclusive - OR the first scrambled sequence with the first diffusion key bit - by - bit to obtain a first diffusion sequence, and exclusive - OR the first diffusion sequence with the second diffusion key bit - by - bit to obtain a second diffusion sequence;
[0038] Convert every 8 - bit binary number in the second diffusion sequence into a decimal number and then into a two - dimensional sequence to obtain a first encrypted sub - graph.
[0039] According to a security processing method for spatial network data provided by the present invention, the compressing the encrypted satellite image to obtain compressed encrypted satellite image data includes:
[0040] Convert the pixel values of each pixel point in the encrypted satellite image into binary numbers and then into one - dimensional form to obtain a binary sequence to be compressed;
[0041] Create an empty compressed queue, set an initial value based on the first value of the binary sequence to be compressed, store the initial value in the compressed queue, and set the initial value of the counter to 1, flag = 1;
[0042] Read the values of the binary sequence to be compressed in sequence. When flag = 1, if the current value of the binary sequence to be compressed is equal to the initial value, increment the value of the counter by 1; if the current value of the binary sequence to be compressed is not equal to the initial value, store the value of the counter in the compressed queue and set the value of the counter to 1, set flag to 0. When flag = 0, if the current value of the binary sequence to be compressed is not equal to the initial value, increment the value of the counter by 1; if the current value of the binary sequence to be compressed is equal to the initial value, store the value of the counter in the compressed queue and set the value of the counter to 1, set flag to 1;
[0043] Construct compressed encrypted satellite image data based on the compressed queue.
[0044] The present invention also provides a security processing device for spatial network data, including:
[0045] A key acquisition unit for acquiring six randomized keys; the six randomized keys are binary sequences of the same length;
[0046] An image segmentation unit for segmenting the satellite grayscale image to be transmitted into two sub - images of the same size;
[0047] A confusion sequence acquisition unit, configured to convert a first randomization key and a second randomization key among the six randomization keys into a first confusion permutation sequence and a second confusion permutation sequence;
[0048] A confusion unit, configured to perform confusion processing on one of the sub-images based on the first confusion permutation sequence to obtain a first confused sub-image, and perform confusion processing on the other sub-image based on the second confusion permutation sequence to obtain a second confused sub-image;
[0049] A diffusion key acquisition unit, configured to intercept a third randomization key, a fourth randomization key, a fifth randomization key, and a sixth randomization key among the six randomization keys according to the size of the sub-image to obtain a first diffusion key, a second diffusion key, a third diffusion key, and a fourth diffusion key;
[0050] A diffusion unit, configured to perform diffusion processing on the first confused sub-image based on the first diffusion key and the second diffusion key to obtain a first encrypted sub-image, and perform diffusion processing on the second confused sub-image based on the third diffusion key and the fourth diffusion key to obtain a second encrypted sub-image;
[0051] A compression unit, configured to splice the first encrypted sub-image and the second encrypted sub-image to obtain an encrypted satellite image, and compress the encrypted satellite image to obtain compressed encrypted satellite image data.
[0052] The present invention further provides an electronic device, including a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the program, the security processing method of the spatial network data as described in any one of the above is implemented.
[0053] The present invention further provides a non-transitory computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the security processing method of the spatial network data as described in any one of the above is implemented.
[0054] The present invention further provides a computer program product, including a computer program. When the computer program is executed by a processor, the security processing method of the spatial network data as described in any one of the above is implemented.
[0055] The security processing method and device for spatial network data provided by the present invention obtain six randomized keys, divide the satellite grayscale image to be transmitted into two sub-images of the same size, and then convert the first randomized key and the second randomized key among the six randomized keys into a first confusion permutation sequence and a second confusion permutation sequence, so as to perform confusion processing on one of the sub-images based on the first confusion permutation sequence to obtain a first confused sub-image, perform confusion processing on the other sub-image based on the second confusion permutation sequence to obtain a second confused sub-image, then intercept the third randomized key, the fourth randomized key, the fifth randomized key and the sixth randomized key among the six randomized keys according to the size of the sub-image to obtain a first diffusion key, a second diffusion key, a third diffusion key and a fourth diffusion key, and perform diffusion processing on the first confused sub-image based on the first diffusion key and the second diffusion key to obtain a first encrypted sub-image, perform diffusion processing on the second confused sub-image based on the third diffusion key and the fourth diffusion key to obtain a second encrypted sub-image, thereby splicing the first encrypted sub-image and the second encrypted sub-image to obtain an encrypted satellite image, and compressing the encrypted satellite image to obtain compressed encrypted satellite image data, which improves the security and transmission efficiency of satellite image data during the transmission process. BRIEF DESCRIPTION OF THE DRAWINGS
[0056] In order to more clearly illustrate the technical solutions in the present invention or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments 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, without creative efforts, other drawings can also be obtained based on these drawings.
[0057] Figure 1 is a schematic flowchart of the security processing method for spatial network data provided by the present invention;
[0058] Figure 2 is a schematic flowchart of the randomized key acquisition method provided by the present invention;
[0059] Figure 3 is a schematic flowchart of the confusion permutation sequence acquisition method provided by the present invention;
[0060] Figure 4 is a schematic structural diagram of the security processing device for spatial network data provided by the present invention;
[0061] Figure 5 is a schematic structural diagram of the electronic device provided by the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0062] To make the objectives, technical solutions and advantages of the present invention clearer, the technical solutions in the present invention will be clearly and completely described below with reference to the accompanying drawings in the present invention. Apparently, 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 in the present invention without making creative efforts fall within the scope of protection of the present invention.
[0063] Figure 1 is a schematic flowchart of a method for secure processing of spatial network data provided by the present invention. As Figure 1 shown, the method includes:
[0064] Step 110, obtaining six randomization keys; the six randomization keys are binary sequences of the same length;
[0065] Step 120, dividing the satellite grayscale image to be transmitted into two sub-images of the same size;
[0066] Step 130, converting the first randomization key and the second randomization key among the six randomization keys into a first confusion permutation sequence and a second confusion permutation sequence;
[0067] Step 140, performing confusion processing on one of the sub-images based on the first confusion permutation sequence to obtain a first confused sub-image, and performing confusion processing on the other sub-image based on the second confusion permutation sequence to obtain a second confused sub-image;
[0068] Step 150, intercepting the third randomization key, the fourth randomization key, the fifth randomization key, and the sixth randomization key among the six randomization keys according to the size of the sub-image to obtain a first diffusion key, a second diffusion key, a third diffusion key, and a fourth diffusion key;
[0069] Step 160, performing diffusion processing on the first confused sub-image based on the first diffusion key and the second diffusion key to obtain a first encrypted sub-image, and performing diffusion processing on the second confused sub-image based on the third diffusion key and the fourth diffusion key to obtain a second encrypted sub-image;
[0070] Step 170, splicing the first encrypted sub-image and the second encrypted sub-image to obtain an encrypted satellite image, and compressing the encrypted satellite image to obtain compressed encrypted satellite image data.
[0071] Specifically, six different but same-length randomization keys are obtained, and each randomization key is a binary sequence.
[0072] In some embodiments, as Figure 2 shown, the above six randomization keys can be obtained in the following manner:
[0073] Step 210: Generate six chaotic sequences of the same length based on a chaotic system;
[0074] Step 220: Based on any one of the chaotic sequences, intercept the first preset number of digits after the decimal point of each number in the any one of the chaotic sequences to form an intercepted sequence of the any one of the chaotic sequences;
[0075] Step 230: Convert each number in the intercepted sequence of the any one of the chaotic sequences into an integer and then into a binary number of a second preset number of digits to obtain a conversion sequence of the any one of the chaotic sequences;
[0076] Step 240: Concatenate each number in the conversion sequence of the any one of the chaotic sequences to obtain a randomized key of the any one of the chaotic sequences.
[0077] Among them, a 6-dimensional chaotic system can be used to generate six chaotic sequences of the same length. In some embodiments, the following formula can be used to generate six chaotic sequences x, y, z, m, n, and o:
[0078] ;
[0079] where x t , y t , z t , m t , n t and o t are the t-th numbers in the corresponding sequences. a, b, c, d, ρ1, and ρ2 are preset coefficients, where a = 10, b = 8 / 3, c = 28, d = 2, ρ1 = 1, ρ2 = 0.9. x0, y0, z0, m0, n0, and o t are 0.05, 0, 0.2, 1, 0, and 0.5 respectively.
[0080] For each chaotic sequence, a corresponding randomized key of the chaotic sequence is generated respectively. Taking any one of the chaotic sequences as an example, in order to generate its corresponding randomized key, the first preset number of digits after the decimal point of each number in the chaotic sequence can be intercepted (assuming 5 digits, the intercepted value of 0.987654.... is 0.98765), forming an intercepted sequence of the chaotic sequence. Subsequently, each number in the intercepted sequence of the chaotic sequence is converted into an integer (for example, by multiplying by a preset number and then taking the integer part) and then into a binary number of a second preset number of digits to obtain a conversion sequence of the chaotic sequence. It should be noted that each number in the conversion sequence is a binary number with the same number of digits. Then, each number in the conversion sequence of the chaotic sequence is concatenated to obtain the randomized key corresponding to the chaotic sequence. Repeating the above operations, the randomized keys corresponding to the six chaotic sequences can be obtained.
[0081] After obtaining six randomization keys, the satellite grayscale image to be transmitted is segmented into two sub-images of the same size. For ease of description, the six randomization keys are respectively referred to as the first randomization key, the second randomization key, the third randomization key, the fourth randomization key, the fifth randomization key, and the sixth randomization key. Among them, the first randomization key and the second randomization key are used to perform the confusion operation, and the third randomization key, the fourth randomization key, the fifth randomization key, and the sixth randomization key are used to perform the diffusion operation.
[0082] For the first randomization key and the second randomization key, they are respectively converted into a first confusion permutation sequence and a second confusion permutation sequence.
[0083] In some embodiments, as Figure 3 shown, the first randomization key and the second randomization key can be converted into a first confusion permutation sequence and a second confusion permutation sequence in the following manner:
[0084] Step 310, convert the binary numbers of each preset bit of the first randomization key and the second randomization key into a decimal number to obtain a first initial permutation sequence and a second initial permutation sequence;
[0085] Step 320, based on the size of the sub-image, convert the first initial permutation sequence and the second initial permutation sequence into a first confusion permutation sequence and a second confusion permutation sequence.
[0086] Among them, the first randomization key and the second randomization key are respectively segmented into sequences composed of multiple binary numbers based on a preset bit (for example, 8 bits), and the binary numbers in the corresponding sequences are converted into decimal numbers to obtain a first initial permutation sequence and a second initial permutation sequence. Here, assuming the preset bit is D and the size of the sub-image is m*n, then D satisfies the following conditions:
[0087] ;
[0088] Among them, .
[0089] Subsequently, based on the size of the sub-image, the first initial permutation sequence and the second initial permutation sequence are respectively converted into a first confusion permutation sequence and a second confusion permutation sequence. It should be noted that the acquisition methods of the first confusion permutation sequence and the second confusion permutation sequence are the same.
[0090] In some embodiments, the process of converting the first initial permutation sequence into the first confusion permutation sequence includes the following steps:
[0091] First initialization step: Construct empty row permutation sequence, column permutation sequence, row pointer, column pointer, pointer to be processed, and read pointer based on the size of the sub-image; wherein, the length of the row permutation sequence is the number of vertical pixels of the sub-image, the length of the column permutation sequence is the number of horizontal pixels of the sub-image, the row pointer and the column pointer respectively point to the first position of the row permutation sequence and the column permutation sequence, the initial value of the pointer to be processed is the row pointer, and the read pointer points to the first position of the initial permutation sequence to be processed; the initial permutation sequence to be processed is the first initial permutation sequence or the second initial permutation sequence;
[0092] Conversion step: If the current pointer to be processed is the row pointer, move the read pointer starting from the current position of the read pointer (one position each time) until the value currently pointed to by the read pointer is not repeated with the values in the row permutation sequence and is less than the length of the row permutation sequence, then store the value currently pointed to by the read pointer at the position pointed to by the row pointer, move the row pointer to the next position, and set the current pointer to be processed as the column pointer; if the current pointer to be processed is the column pointer, move the read pointer starting from the current position of the read pointer until the value currently pointed to by the read pointer is not repeated with the values in the column permutation sequence and is less than the length of the column permutation sequence, then store the value currently pointed to by the read pointer at the position pointed to by the column pointer, move the column pointer to the next position, and set the current pointer to be processed as the row pointer;
[0093] Iteration step: Repeat the above conversion step until the row pointer traverses the row permutation sequence and the column pointer traverses the column permutation sequence (that is, both the row permutation sequence and the column permutation sequence are full), and splice the row permutation sequence and the column permutation sequence to obtain the first scrambled permutation sequence or the second scrambled permutation sequence corresponding to the initial permutation sequence to be processed.
[0094] By constructing the first scrambled permutation sequence and the second scrambled permutation sequence in the above manner, more randomness can be introduced to enhance the security of scrambling based on the first scrambled permutation sequence and the second scrambled permutation sequence.
[0095] After obtaining the first scrambled permutation sequence and the second scrambled permutation sequence, one of the sub-images is scrambled based on the first scrambled permutation sequence to obtain the first scrambled sub-image, and the other sub-image is scrambled based on the second scrambled permutation sequence to obtain the second scrambled sub-image. It should be noted that the scrambling methods for the two sub-images are the same. Subsequently, the scrambling method based on the first scrambled permutation sequence will be taken as an example for description to avoid repetition.
[0096] In some embodiments, the process of scrambling based on the first scrambled permutation sequence includes the following steps:
[0097] Second initialization step: Construct a first pointer and a second pointer; the first pointer points to the first position of the first scrambled permutation sequence, and the second pointer points to the last position of the first scrambled permutation sequence;
[0098] Pixel permutation step: Based on the current positions of the first pointer and the second pointer, determine the first permuted pixel point of the sub-image (using the current position of the first pointer as the ordinate and the current position of the second pointer as the abscissa, determine the pixel point at the corresponding position in the sub-image as the first permuted pixel point); based on the value currently pointed to by the first pointer and the value currently pointed to by the second pointer, determine the second permuted pixel point of the sub-image (using the value currently pointed to by the first pointer as the ordinate and the value currently pointed to by the second pointer as the abscissa, determine the pixel point at the corresponding position in the sub-image as the second permuted pixel point); swap the pixel values of the first permuted pixel point and the second permuted pixel point, and jump to the row iteration step;
[0099] Row iteration step: If the second pointer reaches the (N + 1)-th position of the first scrambled permutation sequence, then jump to the column iteration step; otherwise, move the second pointer forward (by one position) and jump to the pixel permutation step; N is the length of the row permutation sequence;
[0100] Column iteration step: If the first pointer has not reached the N-th position of the first scrambled permutation sequence, then move the first pointer backward, point the second pointer to the last position of the first scrambled permutation sequence, and jump to the pixel permutation step; if the first pointer has reached the N-th position of the first scrambled permutation sequence, then end the current scrambling process to obtain the first scrambled sub-image.
[0101] After scrambling, the third randomization key, the fourth randomization key, the fifth randomization key, and the sixth randomization key can be intercepted based on the size of the sub-image to obtain the first diffusion key, the second diffusion key, the third diffusion key, and the fourth diffusion key. In some embodiments, the product between the number of pixels of the sub-image and 8 (since the sub-image is a grayscale image and the pixel values are 0 - 255) can be determined as the length to be intercepted. Subsequently, the third randomization key, the fourth randomization key, the fifth randomization key, and the sixth randomization key are intercepted respectively based on the length to be intercepted to obtain the first diffusion key, the second diffusion key, the third diffusion key, and the fourth diffusion key with lengths equal to the length to be intercepted.
[0102] Subsequently, the first scrambled sub-image is subjected to two consecutive diffusion processes based on the first diffusion key and the second diffusion key to obtain the first encrypted sub-image, and the second scrambled sub-image is subjected to two consecutive diffusion processes based on the third diffusion key and the fourth diffusion key to obtain the second encrypted sub-image. It should be noted that the way of performing diffusion processing on the first scrambled sub-image and the second scrambled sub-image is the same. For the sake of avoiding redundancy, the way of performing diffusion processing on the first scrambled sub-image will be taken as an example for subsequent description.
[0103] In some embodiments, the first scrambled sub - graph can be converted into a one - dimensional sequence, and each number in the one - dimensional sequence can be converted into an 8 - bit binary number to obtain the first scrambled sequence. Subsequently, the first scrambled sequence is exclusive - ORed with the first diffusion key bit - by - bit to obtain the first diffusion sequence, and the first diffusion sequence is exclusive - ORed with the second diffusion key bit - by - bit to obtain the second diffusion sequence. Finally, each 8 - bit binary number in the second diffusion sequence is converted into a decimal number and then into a two - dimensional sequence in the opposite way of converting the first scrambled sub - graph into a one - dimensional sequence in the first step, to obtain the first encrypted sub - graph.
[0104] After obtaining the first encrypted sub - graph and the second encrypted sub - graph through the above - mentioned encryption method, the first encrypted sub - graph and the second encrypted sub - graph are spliced to obtain the encrypted satellite image. To improve the transmission efficiency, the encrypted satellite image can be compressed to obtain the compressed encrypted satellite image data. In some embodiments, to improve the compression ratio, the pixel values of each pixel point in the encrypted satellite image are converted into 8 - bit binary numbers and then into a one - dimensional form to obtain the binary sequence to be compressed.
[0105] Then, create an empty compressed queue, set an initial value based on the first value of the binary sequence to be compressed, store the initial value in the compressed queue, and at the same time set the initial value of the counter to 1 and flag = 1. Read the values of the binary sequence to be compressed in sequence. When flag = 1, if the current value of the binary sequence to be compressed is equal to the initial value, the value of the counter is incremented by 1; if the current value of the binary sequence to be compressed is not equal to the initial value, the value of the counter is stored in the compressed queue and the value of the counter is set to 1, and flag is set to 0. When flag = 0, if the current value of the binary sequence to be compressed is not equal to the initial value, the value of the counter is incremented by 1; if the current value of the binary sequence to be compressed is equal to the initial value, the value of the counter is stored in the compressed queue and the value of the counter is set to 1, and flag is set to 1. After traversing all the values of the binary sequence to be compressed, construct the compressed encrypted satellite image data based on the current compressed queue.
[0106] In some other embodiments, after the compressed and encrypted satellite image data is transmitted to the data receiving end, the data receiving end can perform decompression and decryption in a manner opposite to the above-mentioned method. Specifically, during decompression, an empty decompression queue is constructed, and the first value of the compressed and encrypted satellite image data is stored in the decompression queue. When the first value is 1, deflag is set to 1, and when the first value is 0, deflag is set to 0. Then, starting from the second value of the compressed and encrypted satellite image data, the values in the compressed and encrypted satellite image data are sequentially read. If deflag = 1, a number of 1s equal to the current value are created and stored in the decompression queue, and deflag is set to 0; if deflag = 0, a number of 0s equal to the current value are created and stored in the decompression queue, and deflag is set to 1, until the compressed and encrypted satellite image data is traversed. The numbers in the decompression queue are converted into a decimal number every 8 bits and then converted into two dimensions, and then evenly divided to obtain the first sub-graph to be decrypted and the second sub-graph to be decrypted. For the first sub-graph to be decrypted, each number is converted into an 8-bit binary number and then into one dimension to obtain the first sequence to be decrypted. Then, based on the first diffusion key, the first sequence to be decrypted, and the second diffusion key, bitwise exclusive OR is performed to obtain the first decrypted sequence. Furthermore, the first decrypted sequence is converted into a decimal number every 8 bits and then into two dimensions to obtain the first sub-graph to be de-obfuscated. Similarly, the second sub-graph to be de-obfuscated can be obtained based on the second sub-graph to be decrypted, the third diffusion key, and the fourth diffusion key.
[0107] Next, the first sub-graph to be de-obfuscated is de-obfuscated based on the first obfuscation permutation sequence, and the second sub-graph to be de-obfuscated is de-obfuscated based on the second obfuscation permutation sequence to obtain the first de-obfuscated sub-graph and the second de-obfuscated sub-graph. Among them, the method of de-obfuscation is similar to the obfuscation method given in the above embodiments (simply replace the corresponding sub-images with the first sub-graph to be de-obfuscated and the second sub-graph to be de-obfuscated), which will not be elaborated here. Subsequently, the first de-obfuscated sub-graph and the second de-obfuscated sub-graph are spliced to obtain the decrypted image.
[0108] In summary, the method provided in the embodiment of the present invention obtains six randomization keys, divides the satellite grayscale image to be transmitted into two sub-images of the same size, and then converts the first randomization key and the second randomization key among the six randomization keys into a first scrambling permutation sequence and a second scrambling permutation sequence, so as to perform scrambling processing on one of the sub-images based on the first scrambling permutation sequence to obtain a first scrambled sub-image, perform scrambling processing on the other sub-image based on the second scrambling permutation sequence to obtain a second scrambled sub-image, and then intercept the third randomization key, the fourth randomization key, the fifth randomization key, and the sixth randomization key among the six randomization keys based on the size of the sub-image to obtain a first diffusion key, a second diffusion key, a third diffusion key, and a fourth diffusion key, and perform diffusion processing on the first scrambled sub-image based on the first diffusion key and the second diffusion key to obtain a first encrypted sub-image, perform diffusion processing on the second scrambled sub-image based on the third diffusion key and the fourth diffusion key to obtain a second encrypted sub-image, thereby splicing the first encrypted sub-image and the second encrypted sub-image to obtain an encrypted satellite image, and compressing the encrypted satellite image to obtain compressed encrypted satellite image data, which improves the security and transmission efficiency of satellite image data during the transmission process.
[0109] The following describes the security processing device for space network data provided by the present invention. The security processing device for space network data described below can be correspondingly referred to the security processing method for space network data described above.
[0110] Based on any of the above embodiments, Figure 4 is a schematic structural diagram of the security processing device for space network data provided by the present invention. As Figure 4 shown, the device includes:
[0111] A key acquisition unit 410, configured to acquire six randomization keys; the six randomization keys are binary sequences of the same length;
[0112] An image segmentation unit 420, configured to divide the satellite grayscale image to be transmitted into two sub-images of the same size;
[0113] A scrambling sequence acquisition unit 430, configured to convert the first randomization key and the second randomization key among the six randomization keys into a first scrambling permutation sequence and a second scrambling permutation sequence;
[0114] A scrambling unit 440, configured to perform scrambling processing on one of the sub-images based on the first scrambling permutation sequence to obtain a first scrambled sub-image, and perform scrambling processing on the other sub-image based on the second scrambling permutation sequence to obtain a second scrambled sub-image;
[0115] A diffusion key acquisition unit 450 is configured to intercept the third, fourth, fifth, and sixth randomization keys among the six randomization keys based on the size of the sub-image, so as to obtain a first diffusion key, a second diffusion key, a third diffusion key, and a fourth diffusion key;
[0116] A diffusion unit 460 is configured to perform diffusion processing on the first scrambled sub-image based on the first diffusion key and the second diffusion key to obtain a first encrypted sub-image, and perform diffusion processing on the second scrambled sub-image based on the third diffusion key and the fourth diffusion key to obtain a second encrypted sub-image;
[0117] A compression unit 470 is configured to splice the first encrypted sub-image and the second encrypted sub-image to obtain an encrypted satellite image, and compress the encrypted satellite image to obtain compressed encrypted satellite image data.
[0118] The device provided by the embodiment of the present invention obtains six randomization keys, divides the satellite grayscale image to be transmitted into two sub-images of the same size, and then converts the first randomization key and the second randomization key among the six randomization keys into a first scrambled permutation sequence and a second scrambled permutation sequence, so as to perform scrambling processing on one of the sub-images based on the first scrambled permutation sequence to obtain a first scrambled sub-image, perform scrambling processing on the other sub-image based on the second scrambled permutation sequence to obtain a second scrambled sub-image, and then intercept the third, fourth, fifth, and sixth randomization keys among the six randomization keys based on the size of the sub-image to obtain a first diffusion key, a second diffusion key, a third diffusion key, and a fourth diffusion key, and perform diffusion processing on the first scrambled sub-image based on the first diffusion key and the second diffusion key to obtain a first encrypted sub-image, perform diffusion processing on the second scrambled sub-image based on the third diffusion key and the fourth diffusion key to obtain a second encrypted sub-image, thereby splicing the first encrypted sub-image and the second encrypted sub-image to obtain an encrypted satellite image, and compressing the encrypted satellite image to obtain compressed encrypted satellite image data, which improves the security and transmission efficiency of satellite image data during the transmission process.
[0119] Based on any of the above embodiments, the conversion of the first randomization key and the second randomization key among the six randomization keys into a first scrambled permutation sequence and a second scrambled permutation sequence includes:
[0120] Converting the binary numbers of each preset bit of the first randomization key and the second randomization key into a decimal number to obtain a first initial permutation sequence and a second initial permutation sequence;
[0121] Converting the first initial permutation sequence and the second initial permutation sequence into a first scrambled permutation sequence and a second scrambled permutation sequence based on the size of the sub-image.
[0122] Based on any of the above embodiments, converting the first initial permutation sequence and the second initial permutation sequence into a first scrambled permutation sequence and a second scrambled permutation sequence based on the size of the sub-image includes:
[0123] First initialization step: Construct an empty row permutation sequence, a column permutation sequence, a row pointer, a column pointer, a pointer to be processed, and a read pointer based on the size of the sub-image; wherein, the length of the row permutation sequence is the number of vertical pixels of the sub-image, the length of the column permutation sequence is the number of horizontal pixels of the sub-image, the row pointer and the column pointer respectively point to the first position of the row permutation sequence and the column permutation sequence, the initial value of the pointer to be processed is the row pointer, and the read pointer points to the first position of the initial permutation sequence to be processed; the initial permutation sequence to be processed is the first initial permutation sequence or the second initial permutation sequence;
[0124] Conversion step: If the current pointer to be processed is the row pointer, move the read pointer starting from the current position of the read pointer until the value pointed to by the read pointer is not repeated with the values in the row permutation sequence and is less than the length of the row permutation sequence, store the value pointed to by the read pointer at the position pointed to by the row pointer, the row pointer points to the next position, and set the current pointer to be processed as the column pointer; if the current pointer to be processed is the column pointer, move the read pointer starting from the current position of the read pointer until the value pointed to by the read pointer is not repeated with the values in the column permutation sequence and is less than the length of the column permutation sequence, store the value pointed to by the read pointer at the position pointed to by the column pointer, the column pointer points to the next position, and set the current pointer to be processed as the row pointer;
[0125] Iteration step: Repeat the conversion step until the row pointer traverses the row permutation sequence and the column pointer traverses the column permutation sequence, and splice the row permutation sequence and the column permutation sequence to obtain the first scrambled permutation sequence or the second scrambled permutation sequence corresponding to the initial permutation sequence to be processed.
[0126] Based on any of the above embodiments, performing scrambling processing on one of the sub-images based on the first scrambled permutation sequence to obtain a first scrambled sub-image includes:
[0127] Second initialization step: Construct a first pointer and a second pointer; the first pointer points to the first position of the first scrambled permutation sequence, and the second pointer points to the last position of the first scrambled permutation sequence;
[0128] Pixel replacement step: Based on the current positions of the first pointer and the second pointer, determine the first replacement pixel point of the sub-image; Based on the values currently pointed to by the first pointer and the second pointer, determine the second replacement pixel point of the sub-image; Swap the pixel values of the first replacement pixel point and the second replacement pixel point, and jump to the row iteration step;
[0129] Row iteration step: If the second pointer reaches the (N + 1)-th position of the first scrambling replacement sequence, then jump to the column iteration step; Otherwise, move the second pointer forward and jump to the pixel replacement step; N is the length of the row replacement sequence;
[0130] Column iteration step: If the first pointer does not reach the N-th position of the first scrambling replacement sequence, then move the first pointer backward, point the second pointer to the last position of the first scrambling replacement sequence, and jump to the pixel replacement step.
[0131] Based on any of the above embodiments, the obtaining of the six randomized keys includes:
[0132] Generate six chaotic sequences of the same length based on a chaotic system;
[0133] Based on any one of the chaotic sequences, intercept the first preset number of digits after the decimal point of each number in the any one of the chaotic sequences to form an intercepted sequence of the any one of the chaotic sequences;
[0134] Convert each number in the intercepted sequence of the any one of the chaotic sequences into an integer and then into a binary number of the second preset number of digits to obtain a conversion sequence of the any one of the chaotic sequences;
[0135] Concatenate each number in the conversion sequence of the any one of the chaotic sequences to obtain the randomized key of the any one of the chaotic sequences.
[0136] Based on any of the above embodiments, the intercepting the third randomized key, the fourth randomized key, the fifth randomized key, and the sixth randomized key among the six randomized keys according to the size of the sub-image to obtain the first diffusion key, the second diffusion key, the third diffusion key, and the fourth diffusion key includes:
[0137] Determine the product of the number of pixels of the sub-image and 8 as the length to be intercepted;
[0138] Intercept the third randomized key, the fourth randomized key, the fifth randomized key, and the sixth randomized key respectively based on the length to be intercepted to obtain the first diffusion key, the second diffusion key, the third diffusion key, and the fourth diffusion key with a length equal to the length to be intercepted.
[0139] Based on any of the above embodiments, the process of diffusing the first obfuscated sub-graph using the first diffusion key and the second diffusion key to obtain the first encrypted sub-graph includes:
[0140] Convert the first obfuscated sub-graph into a one-dimensional sequence, and convert each number in the one-dimensional sequence into an 8-bit binary number to obtain the first obfuscated sequence;
[0141] Exclusive OR the first obfuscated sequence with the first diffusion key bit by bit to obtain the first diffused sequence, and exclusive OR the first diffused sequence with the second diffusion key bit by bit to obtain the second diffused sequence;
[0142] Convert each 8-bit binary number in the second diffused sequence into a decimal number and then into a two-dimensional sequence to obtain the first encrypted sub-graph.
[0143] Based on any of the above embodiments, the process of compressing the encrypted satellite image to obtain compressed encrypted satellite image data includes:
[0144] Convert the pixel values of each pixel point in the encrypted satellite image into binary numbers and then into one dimension to obtain the binary sequence to be compressed;
[0145] Create an empty compressed queue, set the initial value based on the first value of the binary sequence to be compressed, store the initial value in the compressed queue, and set the initial value of the counter to 1, flag = 1;
[0146] Read the values of the binary sequence to be compressed in sequence. When flag = 1, if the current value of the binary sequence to be compressed is equal to the initial value, increment the value of the counter by 1; if the current value of the binary sequence to be compressed is not equal to the initial value, store the value of the counter in the compressed queue and set the value of the counter to 1, and set flag to 0. When flag = 0, if the current value of the binary sequence to be compressed is not equal to the initial value, increment the value of the counter by 1; if the current value of the binary sequence to be compressed is equal to the initial value, store the value of the counter in the compressed queue and set the value of the counter to 1, and set flag to 1;
[0147] Based on the compressed queue, construct the compressed encrypted satellite image data.
[0148] Figure 5 It is a schematic structural diagram of the electronic device provided by the present invention, as Figure 5As shown in the figure, the electronic device may include: a processor 510, a memory 520, a communications interface 530, and a communication bus 540. Among them, the processor 510, the memory 520, and the communication interface 530 complete communication with each other through the communication bus 540. The processor 510 can call the logical instructions in the memory 520 to execute a security processing method for spatial network data. The method includes: obtaining six randomized keys; the six randomized keys are binary sequences of the same length; dividing the satellite grayscale image to be transmitted into two sub-images of the same size; converting the first randomized key and the second randomized key among the six randomized keys into a first scrambling permutation sequence and a second scrambling permutation sequence; performing scrambling processing on one of the sub-images based on the first scrambling permutation sequence to obtain a first scrambled sub-image, and performing scrambling processing on the other sub-image based on the second scrambling permutation sequence to obtain a second scrambled sub-image; intercepting the third randomized key, the fourth randomized key, the fifth randomized key, and the sixth randomized key among the six randomized keys based on the size of the sub-image to obtain a first diffusion key, a second diffusion key, a third diffusion key, and a fourth diffusion key; performing diffusion processing on the first scrambled sub-image based on the first diffusion key and the second diffusion key to obtain a first encrypted sub-image, and performing diffusion processing on the second scrambled sub-image based on the third diffusion key and the fourth diffusion key to obtain a second encrypted sub-image; splicing the first encrypted sub-image and the second encrypted sub-image to obtain an encrypted satellite image, and compressing the encrypted satellite image to obtain compressed encrypted satellite image data.
[0149] In addition, when the logical instructions in the above-mentioned memory 520 are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or a part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of the present invention. The foregoing storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memories (ROMs), random access memories (RAMs), magnetic disks, or optical discs that can store program codes.
[0150] On the other hand, the present invention also provides a computer program product. The computer program product includes a computer program stored on a non-transitory computer-readable storage medium. The computer program includes program instructions. When the program instructions are executed by a computer, the computer can execute the security processing method for spatial network data provided by the above-mentioned various methods. The method includes: obtaining six randomized keys; the six randomized keys are binary sequences of the same length; dividing the satellite grayscale image to be transmitted into two sub-images of the same size; converting the first randomized key and the second randomized key among the six randomized keys into a first scrambling permutation sequence and a second scrambling permutation sequence; performing scrambling processing on one of the sub-images based on the first scrambling permutation sequence to obtain a first scrambled sub-image, and performing scrambling processing on the other sub-image based on the second scrambling permutation sequence to obtain a second scrambled sub-image; intercepting the third randomized key, the fourth randomized key, the fifth randomized key, and the sixth randomized key among the six randomized keys based on the size of the sub-image to obtain a first diffusion key, a second diffusion key, a third diffusion key, and a fourth diffusion key; performing diffusion processing on the first scrambled sub-image based on the first diffusion key and the second diffusion key to obtain a first encrypted sub-image, and performing diffusion processing on the second scrambled sub-image based on the third diffusion key and the fourth diffusion key to obtain a second encrypted sub-image; splicing the first encrypted sub-image and the second encrypted sub-image to obtain an encrypted satellite image, and compressing the encrypted satellite image to obtain compressed encrypted satellite image data.
[0151] In another aspect, the present invention also provides a non-transitory computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, it is configured to execute the security processing method for spatial network data provided above. The method includes: obtaining six randomized keys; the six randomized keys are binary sequences of the same length; dividing the satellite grayscale image to be transmitted into two sub-images of the same size; converting the first randomized key and the second randomized key among the six randomized keys into a first scrambling permutation sequence and a second scrambling permutation sequence; performing scrambling processing on one of the sub-images based on the first scrambling permutation sequence to obtain a first scrambled sub-image, and performing scrambling processing on the other sub-image based on the second scrambling permutation sequence to obtain a second scrambled sub-image; intercepting the third randomized key, the fourth randomized key, the fifth randomized key, and the sixth randomized key among the six randomized keys according to the size of the sub-image to obtain a first diffusion key, a second diffusion key, a third diffusion key, and a fourth diffusion key; performing diffusion processing on the first scrambled sub-image based on the first diffusion key and the second diffusion key to obtain a first encrypted sub-image, and performing diffusion processing on the second scrambled sub-image based on the third diffusion key and the fourth diffusion key to obtain a second encrypted sub-image; splicing the first encrypted sub-image and the second encrypted sub-image to obtain an encrypted satellite image, and compressing the encrypted satellite image to obtain compressed encrypted satellite image data.
[0152] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment. A person of ordinary skill in the art can understand and implement it without creative efforts.
[0153] Through the description of the above embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus a necessary general hardware platform, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solution, in essence, or the part that contributes to the prior art can be embodied in the form of a software product. The computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disc, etc., and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.
[0154] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it; although the present invention 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 described in the foregoing embodiments, or perform equivalent replacements on some of the technical features; and these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for securely processing spatial network data, characterized in that: include: Get six randomized keys; The six randomized keys are binary sequences of the same length, and the randomized keys are generated based on a 6-dimensional chaotic system; Split the satellite grayscale image to be transmitted into two sub-images of the same size; Converting a first randomized key and a second randomized key among the six randomized keys into a first obfuscated permutation sequence and a second obfuscated permutation sequence; Performing obfuscation processing on one of the sub-images based on the first obfuscation permutation sequence to obtain a first obfuscation sub-graph, and performing obfuscation processing on the other sub-image based on the second obfuscation permutation sequence to obtain a second obfuscation sub-graph; intercepting a third randomized key, a fourth randomized key, a fifth randomized key, and a sixth randomized key from the six randomized keys based on the size of the sub-image to obtain a first diffusion key, a second diffusion key, a third diffusion key, and a fourth diffusion key; Diffusion processing is performed on the first obfuscated subgraph based on the first diffusion key and the second diffusion key to obtain a first encrypted subgraph, and diffusion processing is performed on the second obfuscated subgraph based on the third diffusion key and the fourth diffusion key to obtain a second encrypted subgraph; splicing the first encrypted sub-graph and the second encrypted sub-graph to obtain an encrypted satellite image, and compressing the encrypted satellite image to obtain compressed encrypted satellite image data; The converting the first randomized key and the second randomized key among the six randomized keys into the first obfuscated permutation sequence and the second obfuscated permutation sequence comprises: Convert the binary number of each preset bit of the first randomization key and the second randomization key into a decimal number to obtain a first initial permutation sequence and a second initial permutation sequence; First initialization step: constructing an empty row permutation sequence and column permutation sequence, a row pointer and a column pointer, a pointer to be processed and a read pointer based on the size of the sub-image; wherein the length of the row permutation sequence is the number of vertical pixels of the sub-image, the length of the column permutation sequence is the number of horizontal pixels of the sub-image, the row pointer and the column pointer point to the first position of the row permutation sequence and the column permutation sequence respectively, the initial value of the pointer to be processed is the row pointer, and the read pointer points to the first position of the initial permutation sequence to be processed; the initial permutation sequence to be processed is the first initial permutation sequence or the second initial permutation sequence; Conversion step: if the current pointer to be processed is a row pointer, the read pointer is moved from the current position of the read pointer until the value currently pointed to by the read pointer does not overlap with the value in the row permutation sequence and is less than the length of the row permutation sequence, the value currently pointed to by the read pointer is stored at the position pointed to by the row pointer, the row pointer points to the next position, and the current pointer to be processed is set as the column pointer; if the current pointer to be processed is a column pointer, the read pointer is moved from the current position of the read pointer until the value currently pointed to by the read pointer does not overlap with the value in the column permutation sequence and is less than the length of the column permutation sequence, the value currently pointed to by the read pointer is stored at the position pointed to by the column pointer, the column pointer points to the next position, and the current pointer to be processed is set as the row pointer; Iteration step: repeating the conversion step until the row pointer traverses the row permutation sequence and the column pointer traverses the column permutation sequence, concatenating the row permutation sequence and the column permutation sequence to obtain a first confusion permutation sequence or a second confusion permutation sequence corresponding to the initial permutation sequence to be processed.
2. The method for securely processing spatial network data according to claim 1, characterized in that: The step of performing obfuscation processing on one of the sub-images based on the first obfuscation permutation sequence to obtain a first obfuscated sub-image includes: Second initialization step: constructing a first pointer and a second pointer; the first pointer points to the first position of the first obfuscated permutation sequence, and the second pointer points to the last position of the first obfuscated permutation sequence; Pixel replacement step: determining a first replacement pixel point of the sub-image based on the current position of the first pointer and the current position of the second pointer; determining a second replacement pixel point of the sub-image based on the value currently pointed to by the first pointer and the value currently pointed to by the second pointer; exchanging the pixel values of the first replacement pixel point and the second replacement pixel point, and jumping to the row iteration step; Row iteration step: if the second pointer reaches the N+1th position of the first confusion permutation sequence, jump to the column iteration step; otherwise, move the second pointer forward and jump to the pixel permutation step; N is the length of the row permutation sequence; Column iteration step: if the first pointer does not reach the Nth position of the first obfuscated permutation sequence, move the first pointer backward, point the second pointer to the last position of the first obfuscated permutation sequence, and jump to the pixel permutation step.
3. The method for securely processing spatial network data according to claim 1, characterized in that: The obtaining of six randomized keys includes: Generate six chaotic sequences of the same length based on the chaotic system; Based on any chaotic sequence, the first preset number of digits after the decimal point of each number in the any chaotic sequence is intercepted to form an intercepted sequence of the any chaotic sequence; Convert each number in the intercepted sequence of any chaotic sequence into an integer and then convert it into a binary number of a second preset number of bits to obtain a conversion sequence of any chaotic sequence; Each number in the conversion sequence of any chaotic sequence is concatenated to obtain a randomized key of any chaotic sequence.
4. The method for securely processing spatial network data according to claim 1, characterized in that: The method of intercepting the third randomized key, the fourth randomized key, the fifth randomized key and the sixth randomized key from the six randomized keys based on the size of the sub-image to obtain the first diffusion key, the second diffusion key, the third diffusion key and the fourth diffusion key includes: Determine the product of the number of pixels of the sub-image and 8 as the length to be truncated; The third randomized key, the fourth randomized key, the fifth randomized key and the sixth randomized key are respectively intercepted based on the length to be intercepted to obtain a first diffusion key, a second diffusion key, a third diffusion key and a fourth diffusion key whose lengths are equal to the length to be intercepted.
5. The method for securely processing spatial network data according to claim 4, characterized in that: The step of performing diffusion processing on the first obfuscated subgraph based on the first diffusion key and the second diffusion key to obtain a first encrypted subgraph includes: Converting the first obfuscated subgraph into a one-dimensional sequence, and converting each number in the one-dimensional sequence into an 8-bit binary number to obtain a first obfuscated sequence; Performing bitwise XOR of the first obfuscated sequence and the first diffusion key to obtain a first diffusion sequence, and performing bitwise XOR of the first diffusion sequence and the second diffusion key to obtain a second diffusion sequence; Each 8-bit binary number in the second diffusion sequence is converted into a decimal number and then converted into a two-dimensional sequence to obtain a first encrypted subgraph.
6. The method for securely processing spatial network data according to any one of claims 1 to 5, characterized in that: The step of compressing the encrypted satellite image to obtain compressed encrypted satellite image data includes: The pixel value of each pixel point in the encrypted satellite image is converted into a binary number and then converted into one dimension to obtain a binary sequence to be compressed; Create an empty compressed queue, set an initial value based on the first value of the binary sequence to be compressed, store the initial value in the compressed queue, and set the initial value of the counter to 1, flag=1; The values of the binary sequence to be compressed are read in sequence. When flag=1, if the current value of the binary sequence to be compressed is equal to the initial value, the value of the counter is increased by 1. If the current value of the binary sequence to be compressed is not equal to the initial value, the value of the counter is stored in the compressed queue and the value of the counter is set to 1, and the flag is set to 0. When flag=0, if the current value of the binary sequence to be compressed is not equal to the initial value, the value of the counter is increased by 1. If the current value of the binary sequence to be compressed is equal to the initial value, the value of the counter is stored in the compressed queue and the value of the counter is set to 1, and the flag is set to 1. Based on the compressed queue, compressed encrypted satellite image data is constructed.
7. A secure processing device for spatial network data, characterized in that: include: A key acquisition unit, used for acquiring six randomized keys; The six randomized keys are binary sequences of the same length, and the randomized keys are generated based on a 6-dimensional chaotic system; An image segmentation unit, used for segmenting the satellite grayscale image to be transmitted into two sub-images of the same size; A confusion sequence acquisition unit, used for converting a first randomized key and a second randomized key among the six randomized keys into a first confusion permutation sequence and a second confusion permutation sequence; a confusion unit, configured to perform confusion processing on one of the sub-images based on the first confusion permutation sequence to obtain a first confusion sub-graph, and perform confusion processing on the other sub-image based on the second confusion permutation sequence to obtain a second confusion sub-graph; a diffusion key acquisition unit, configured to intercept the third randomization key, the fourth randomization key, the fifth randomization key and the sixth randomization key from the six randomization keys based on the size of the sub-image, and obtain the first diffusion key, the second diffusion key, the third diffusion key and the fourth diffusion key; a diffusion unit, configured to perform diffusion processing on the first obfuscated subgraph based on the first diffusion key and the second diffusion key to obtain a first encrypted subgraph, and perform diffusion processing on the second obfuscated subgraph based on the third diffusion key and the fourth diffusion key to obtain a second encrypted subgraph; A compression unit, configured to concatenate the first encrypted sub-image and the second encrypted sub-image to obtain an encrypted satellite image, and compress the encrypted satellite image to obtain compressed encrypted satellite image data; The converting the first randomized key and the second randomized key among the six randomized keys into the first obfuscated permutation sequence and the second obfuscated permutation sequence comprises: Convert the binary number of each preset bit of the first randomization key and the second randomization key into a decimal number to obtain a first initial permutation sequence and a second initial permutation sequence; First initialization step: constructing an empty row permutation sequence and column permutation sequence, a row pointer and a column pointer, a pointer to be processed and a read pointer based on the size of the sub-image; wherein the length of the row permutation sequence is the number of vertical pixels of the sub-image, the length of the column permutation sequence is the number of horizontal pixels of the sub-image, the row pointer and the column pointer point to the first position of the row permutation sequence and the column permutation sequence respectively, the initial value of the pointer to be processed is the row pointer, and the read pointer points to the first position of the initial permutation sequence to be processed; the initial permutation sequence to be processed is the first initial permutation sequence or the second initial permutation sequence; Conversion step: if the current pointer to be processed is a row pointer, the read pointer is moved from the current position of the read pointer until the value currently pointed to by the read pointer does not overlap with the value in the row permutation sequence and is less than the length of the row permutation sequence, the value currently pointed to by the read pointer is stored at the position pointed to by the row pointer, the row pointer points to the next position, and the current pointer to be processed is set as the column pointer; if the current pointer to be processed is a column pointer, the read pointer is moved from the current position of the read pointer until the value currently pointed to by the read pointer does not overlap with the value in the column permutation sequence and is less than the length of the column permutation sequence, the value currently pointed to by the read pointer is stored at the position pointed to by the column pointer, the column pointer points to the next position, and the current pointer to be processed is set as the row pointer; Iteration step: repeating the conversion step until the row pointer traverses the row permutation sequence and the column pointer traverses the column permutation sequence, concatenating the row permutation sequence and the column permutation sequence to obtain a first confusion permutation sequence or a second confusion permutation sequence corresponding to the initial permutation sequence to be processed.
8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the program, it implements the method for securely processing spatial network data as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Multi-key image encryption method based on five-dimensional conservative hyperchaotic system
CN115766962A
Power plant image data encryption and decryption method and system
CN117061680A
Power transmission line monitoring image security encryption and decryption method
CN118400093A