A method for local encryption of a vector map
Patent Information
- Application Number
- CN202511910485.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-17
- Publication Date
- 2026-08-18
- Estimated Expiration
- 2045-12-17
AI Technical Summary
但是,整体算法复杂度较高,不利于在大规模矢量地图中展开工作;同时,过于依赖空间索引划分的合理性,如果数据分布不均,可能导致加密效率下降
本发明基于G树空间索引和分数阶超混沌系统的矢量地图加密方法实现了多层次的安全保障机制,在空间层面通过G树索引实现区域化的选择性加密,在算法层面结合超混沌系统和Feistel网络提供强加密强度。通过结合空间索引与超混沌系统,不仅能够提高加密效率,还能确保在保证加密强度的同时,避免对非敏感区域进行冗余加密。通过此方法,能够突破传统加密方法的局限,提供一种更为灵活、安全的解决方案,以适应大规模地理信息数据的加密需求。
Smart Images

Figure CN121841581B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of map encryption technology, and specifically to a method for local encryption of vector maps. Background Technology
[0002] Vector maps, characterized by high accuracy, rich attributes, and high production costs, are widely used across various industries and possess significant socio-economic value. While the advanced network environment has facilitated the transmission and sharing of vector maps, the problems of illegal dissemination, sale, and use have also become increasingly serious, harming the interests of legitimate data owners. Against this backdrop, data encryption provides a reliable protection solution for the secure sharing and use of vector maps, becoming a current research hotspot. With the increasing application of large-scale map data, traditional overall encryption methods are gradually revealing problems such as low encryption efficiency and insufficient protection for non-sensitive areas. When faced with complex geographic information, these methods struggle to meet the high demands for security and efficiency. Therefore, how to improve encryption efficiency and controllability while ensuring data security has become an urgent challenge.
[0003] In existing research, most methods typically encrypt the entire map uniformly. This approach performs poorly on large-scale datasets and cannot flexibly adjust the encryption strength according to the sensitivity of different areas. Especially when dealing with large-scale and complex map data, existing methods cannot balance security and efficiency, particularly when high-security protection of sensitive areas is required, where existing algorithms often fall short.
[0004] Some proposed spatial indexing schemes in the literature have proven valuable for vector map encryption, but their shortcomings are also apparent in practical applications. One approach involves spatially partitioning the vector map using spatial indexing, followed by encryption using a chaotic system. While this achieves security protection, the overall algorithm complexity is high, making it unsuitable for large-scale vector maps. Furthermore, its over-reliance on the rationality of spatial index partitioning can lead to decreased encryption efficiency if data distribution is uneven. Another approach uses R* trees for spatial partitioning, supporting local encryption of large-scale vector maps, but still suffers from the problem of unreasonable encryption unit granularity when feature distribution is uneven. Summary of the Invention
[0005] The technical problem to be solved by this invention is to provide a local encryption method for vector maps. Based on spatial indexing, spatial partitioning is performed using G-trees to maximize the protection of element distribution and encryption unit granularity. Unlike integer-order chaotic systems, a more complex fractional-order hyperchaotic system is adopted, thereby achieving vector map encryption that balances encryption efficiency and security.
[0006] To address the aforementioned technical problems, this invention provides a method for local encryption of vector maps, comprising the following steps: Step 1) Based on the original vector map data, construct a G-tree spatial index to obtain the coordinate set; Step 2) Establish a fractional-order five-dimensional hyperchaotic system based on a dual memristor electronic circuit; Step 3) In the coordinate set, extract the coordinate sequence to be encrypted and generate initial parameters: first generate random salt values, then construct a hash chain and calculate the initial state variables of the chaotic system; Step 4) Input the initial state variables of the chaotic system into a fractional-order five-dimensional hyperchaotic system, and iteratively solve for the chaotic sequence; Step 5) Convert the coordinate sequence from Step 3) into a binary sequence; Step 6) Combine each coordinate point in the binary sequence with the dechaotic sequence and perform an XOR shift operation to obtain the scrambled and encrypted binary sequence; Step 7) Reconstruct the coordinates of the binary encrypted sequence to obtain the reconstructed coordinate set, which is the encrypted vector map.
[0007] Furthermore, the G-tree spatial indexing process includes the following steps: Step 1: Calculate the global boundary and create the root node; Iterate through all geometric objects, skipping null values, take the minimum bounding rectangle of each object, and update the global boundary of the entire data set; create the root node with this boundary, and set the maximum depth and object as constraints for subsequent insertion and splitting; Step 2: Batch insert geometric objects into the index tree; Assign an index to each valid geometry and call the root node; first, determine the intersection between the node and the object's MBR; non-leaf nodes recursively distribute the object to all intersecting child nodes; leaf nodes add the triplet to the object table and check whether splitting is needed after insertion; Step 3: Node splitting; A split is triggered when the number of leaf node objects exceeds the maximum number of objects and the depth is less than the maximum depth. The node's boundary midpoint is taken, and the space is divided into four quadrants, generating four child nodes with their depth increased by one and inheriting the parent node's parameters. The parent node becomes an internal node, managing only child node references. Step 4: Re-split the object into child nodes; Traverse the original objects of the parent node, perform intersection checks with the boundaries of the four child nodes, and then clear the parent node object table to achieve data sinking, which facilitates fine-grained positioning for subsequent range queries.
[0008] Furthermore, the fractional-order five-dimensional hyperchaotic system is as follows: ; in, It is a state vector; Caputo fractional representation; , , , , It is a state variable; , , , , , , , , , , These are control parameters.
[0009] Further, a method for generating random salt values: Generate a 128-bit random integer using the entropy pool provided by the operating system. As the initial base variable, random numbers With spatial parameters and The product of these factors is combined to form the salt value input, and the salt value output is calculated using the following formula:
[0010]
[0011] in, This generates a 256-bit random salt value; It is a hash algorithm based on SM3; It is a 128-bit random integer; IFI is the number of feature vertices in the encryption unit; IVI is the number of features in the encryption unit; This is the XOR operator between numerical values, and c is the salt value output.
[0012] Furthermore, the user's password is concatenated with the generated salt value, and the hash value is calculated using the SM3 hash function. Through multiple rounds of SM3 hash operations, the password and salt value are converted into a series of hash values. From the 32-byte hash value, 4 bytes are compressed and extracted as the e value, forming a hash chain. ... The user password is set by the user.
[0013] Furthermore, through salt value output and hash chain ... The initial state variables of the chaotic system are calculated using the following formula: ; in, , , , , These are the initial parameter values for a fractional-order five-dimensional hyperchaotic system. This is the XOR operator between numerical values.
[0014] Furthermore, the sequence of coordinates of all feature vertices in the coordinate sequence... Transform into a positive value sequence through translation transformation ,Will Decompose into integer parts and decimal part :
[0015] in, This is represented as rounding down; Compress the positive value sequence to 48 bits, integer part The binary representation uses the divide-by-2 remainder method, while the fractional part... Using the multiplication-by-2 and floor function, the positive value sequences of feature vertex coordinates are concatenated to obtain a binary sequence; where the integer part... Using 16-bit binary representation, the fractional part It uses 24 bits of binary representation, with the remaining 8 bits used to represent the location information.
[0016] Furthermore, the 48-bit positive value sequence is divided into a 24-bit left half sequence. And the right half sequence of 24 bits Based on the chaotic sequence, the encrypted binary representation of the coordinates of each feature vertex is obtained through multiple rounds of Feistel network transformation iteration, and all encrypted binary representations are integrated to obtain the binary encrypted sequence.
[0017] Furthermore, the transformation iteration is performed using the following formula: ; in, This represents taking the first two digits of the binary number. Bit; Represents the key sequence subkey, and is also the first... The wheel key; Expressed as displacement; This is represented as extending the subkey from 16 bits to a 24-bit binary number; Represented as the XOR operator; Represented as a logical "OR" operation; This is represented as a leftward displacement; Indicated as after The second Feistel transformation round function.
[0018] Furthermore, the formula for reconstructing the coordinates of the binary encrypted sequence is as follows:
[0019] in, This represents the reconstructed coordinate sequence; Indicates the translation offset; To calculate the sum; This represents the binary value of the i-th bit. It is the j-th binary value after 16 bits.
[0020] The beneficial effects of this invention are: This invention presents a vector map encryption method based on G-tree spatial indexing and a fractional-order hyperchaotic system, achieving a multi-layered security mechanism. At the spatial level, G-tree indexing enables regionalized selective encryption, while at the algorithmic level, a hyperchaotic system and Feistel network provide strong encryption strength. By combining spatial indexing and a hyperchaotic system, not only is encryption efficiency improved, but redundant encryption of non-sensitive areas is avoided while maintaining encryption strength. This method overcomes the limitations of traditional encryption methods, providing a more flexible and secure solution to meet the encryption needs of large-scale geographic information data. Attached Figure Description
[0021] Figure 1 This is a flowchart of the overall encryption process of the present invention; Figure 2 This is a flowchart of the spatial index construction process of the present invention; Figure 3 This is the Lyapunov exponent spectrum of the fractional-order chaotic system of this invention; Figure 4 This is the planar phase diagram of the chaotic system of the present invention; Figure 5 This is the experimental vector map used in this invention; Figure 6 It is a vector map encryption and decryption result image using multiple methods; Figure 7 This is a graph showing the results of the key sensitivity analysis; Detailed Implementation
[0022] The present invention will be further described below with reference to the accompanying drawings and specific embodiments, so that those skilled in the art can better understand and implement the present invention. However, the embodiments described are not intended to limit the present invention.
[0023] Current vector map encryption methods primarily focus on designing encryption algorithms. However, when dealing with large-scale vector maps, existing methods often fall short in terms of time efficiency. While using spatial indexes provides the ability to encrypt local areas, it still relies too heavily on the rationality of the spatial index partitioning. To address these issues, [the following is a proposed approach]... Figure 1 As shown, one embodiment of the vector map local encryption method of the present invention, in terms of time efficiency, meets the needs of large-scale vector maps and local encryption through fast indexing after G-tree space partitioning; in terms of security, it combines hyperchaotic systems and Feistel networks to enhance the encryption strength, resulting in excellent resistance to brute-force attacks. The present invention achieves a relative balance between time efficiency and encryption security performance, taking into account the performance of both aspects in the encryption algorithm.
[0024] The specific encryption method includes the following process: I. Construction of Spatial Index, refer to Figure 2 As shown; Step 1: Calculate the global boundary and create the root node. Traverse all geometric objects, skipping null values, and take the minimum bounding rectangle of each object to update the global boundary of the entire dataset. Create the root node using this boundary and set the maximum depth and object size as constraints for subsequent insertions and splits.
[0025] Step 2: Batch insert geometric objects into the index tree. Assign an index to each valid geometry and call the root node. First, determine the intersection between the node and the object's MBR; non-leaf nodes recursively distribute the object to all intersecting child nodes; leaf nodes add the triples to the object table and check whether splitting is needed after insertion.
[0026] Step 3: Node Splitting. Splitting is triggered when the number of leaf node objects exceeds the maximum number of objects and the depth is less than the maximum depth. The midpoint of the node boundary is taken, and the space is divided into four quadrants, generating four child nodes with their depth increased by one and inheriting the parent node's parameters. The parent node becomes an internal node, managing only child node references.
[0027] Step 4: Resplit the object into child nodes. Traverse the original object of the parent node, perform intersection checks with the boundaries of the four child nodes, and clear the parent node object table after completion. This achieves data sinking, which facilitates fine-grained positioning for subsequent range queries.
[0028] II. Fractional-order five-dimensional hyperchaotic systems based on dual memristor electronic circuits This invention employs a fractional-order five-dimensional hyperchaotic system based on dual memristors. The state-space equations of the hyperchaotic system are as follows: ;in, It is a state vector; Caputo fractional representation; , , , , It is a state variable; , , , , , , , , , , These are control parameters. When the parameters of the memristor and the system are... = 1, = 2, = 0.1, = 1, = 1, = 1, = 0.5, = 1, =0.1, When = 0.1, the initial state value of the system is IC = (0.02, 0.01, 0, 0, 0). For example... Figure 3 The Lyapunov exponent spectrum is for a fractional-order chaotic system. When the value changes at [0.45, 1], the system begins to be in a periodic state, and... At a value of 0.5, it enters a hyperchaotic state. When ω = 0.8, the phase diagrams of the chaotic system in the xy plane and zw plane are as follows: Figure 4 As shown.
[0029] III. Initial Parameter Generation Step 1: Generating random salt values.
[0030] Using the entropy pool provided by the operating system, a 128-bit random integer R is generated as the initial basis variable. The random number R is combined with the product of the spatial parameters V and F to form the salt input.
[0031] ; ;in, This generates a 256-bit random salt value; It is a hash algorithm based on SM3; It is a 128-bit random integer; IFI is the number of feature vertices in the encryption unit; IVI is the number of features in the encryption unit; This is the XOR operator between numerical values.
[0032] Step 2: Constructing the hash chain. The user's password is concatenated with the salt value generated in Step 1, and the hash value is calculated using the SM3 hash function. Through multiple rounds of SM3 hash operations, the password and salt value are converted into a series of hash values. Four bytes are extracted from the 32-byte hash value as the 'e' value, thus constructing a hash chain. ... .
[0033] Step 3: Generation of initial state variables for the chaotic system. Since the state of a chaotic system is related to its initial state parameters, a relatively complex process is used to generate the initial state variables. The hash chain obtained in Step 2 is used. ... The value is calculated by performing a calculation with the c value obtained in step 1 to obtain the initial state variable.
[0034]
[0035] in, , , , , These are the initial parameter values for a fractional-order five-dimensional hyperchaotic system. is the XOR operator between numerical values; c is the salt value obtained in step 1.
[0036] IV. Scrambling and Encryption of Coordinate Sequences Step 1: Binary Conversion of Coordinate Sequence. To avoid the sign problem of negative numbers in binary representation, the sequence c of all feature vertex coordinates in the encryption unit is converted into a positive value sequence through translation transformation. Next, Decompose into integer parts and The decimal part.
[0037] ;in, This indicates rounding down.
[0038] Compress the coordinate sequence to 48 bits, integer part The binary representation uses the divide-by-2 remainder method, while the fractional part... The method of multiplying by 2 and taking the floor is used. The coordinate sequence is obtained by concatenating the vertex coordinate sequences. .
[0039] ; ; ; ; in, It is a 16-bit binary integer part; To convert an integer to its binary representation; Modulo operation; It is a 24-bit binary fractional part; Record the number of bits for the integer part of the location information; This is an 8-bit binary position information portion; To extract the first 8 bits from a binary string; This is the logical OR operation.
[0040] Step 2: Bit-level perturbation. Bit-level perturbation is the core component of the entire scrambling mechanism. This invention employs a multi-round Feistel network structure to perform multiple iterations and multi-level XOR shift operations on the chaotic sequence to overcome the drawback of a single round failing to achieve complete bit diffusion, thus ensuring the security of the vector map.
[0041] In step 1, the integer part was converted to a 16-bit binary number, the fractional part to a 24-bit binary number, and the position information to an 8-bit binary number. Now, the coordinate sequence... It is divided into two 24-bit binary parts, the left half being a sequence. The right half is a sequence. . left half sequence The right half of the sequence consists of the first 16 digits of the integer part and the first 8 digits of the fractional part. It consists of the last 16 digits of the decimal part and 8 digits of position information. As shown in the formula below: ; The chaotic sequence obtained through a five-dimensional fractional-order hyperchaotic system Convert to binary key sequence Each subkey is a 16-bit binary number.
[0042] For multi-round Feistel network transformation, the process involves dividing the data into two halves. In each round, only one half undergoes a complex transformation, followed by a simple XOR operation with the other half. Finally, the positions of the two halves are swapped. The transformation iteration process is shown in the following formula:
[0043]
[0044] in, This represents taking the first two digits of the binary number. Bit; Represents the key sequence subkey, and is also the first... The wheel key; Expressed as displacement; This is represented as extending the subkey from 16 bits to a 24-bit binary number; Represented as the XOR operator; Represented as a logical OR operation; This is represented as a leftward displacement; Indicated as after The second Feistel transformation round function.
[0045] The code for the above steps is as follows: Algorithm 1 Binary Conversion of Coordinate Sequences Input: coordinate / / Original coordinate value Output: binary_seq (48-bit binary sequence) / / 48-bit binary sequence / / Step 1: Shift the coordinates to ensure they are positive. pos ← coordinate + 180 / / Step 2: Extract the integer and decimal parts integer_part ← floor(pos) / / Integer part decimal_part ← pos - integer_part / / Decimal part / / Step 3: Record the decimal places (decimal point position) of the integer part decimal_position ← number_of_digits(integer_part) / / Step 4: Convert the integer part to 16-bit binary, padding with 0s on the left if necessary. int_bin ← binary_representation(integer_part) / / Converts an integer to a binary string int_bin ← left_pad_with_zeros(int_bin, 16) / / Pad the left side with zeros up to 16 bits. / / Step 5: Convert the fractional part to 24-bit binary decimal_bin ← empty_string Repeat 24 times: decimal_part ← decimal_part × 2 if decimal_part ≥ 1 then decimal_bin ← decimal_bin ∥ "1" decimal_part ← decimal_part - 1 else decimal_bin ← decimal_bin ∥ "0" / / Step 6: Convert the decimal point position to 8-bit binary pos_bin ← binary_representation(decimal_position) / / Convert decimal point position to binary pos_bin ← left_pad_with_zeros(pos_bin, 8) / / Pad the left side with zeros up to 8 bits / / Step 7: Concatenate: 16 integer digits + 24 decimal digits + 8 decimal place digits result ← int_bin ∥ decimal_bin ∥ pos_bin / / Concatenates to obtain a 48-bit sequence 31 return result Algorithm 2 5 rounds of Feistel network transformation iteration Input: binary_seq: 48-bit binary sequence of coordinate round_Num :Feistel Network round keys( ) Output: encrypted_seq: 48-bit encrypted binary sequence L ← binary_seq[0:24] R ← binary_seq[24:48] for round_Num ← 0 to 4 do L_old ← L L ← R / / F_output ← Feistel_round_function(R,round_keys[round_Num]) / / R ← L_old ⊕ F_output / / end for encrypted_seq ← return encrypted_seq After five rounds of transformation and iteration, a 48-bit binary number was encrypted and scrambled to obtain a new 48-bit binary representation. This process was repeated for all coordinate points, resulting in a scrambled and encrypted binary sequence.
[0046] Step 3: Coordinate reconstruction is a crucial step after bit-level perturbation. It bears the important task of converting the cryptographically transformed 48-bit binary sequence back into usable numerical coordinates. From a mathematical perspective, this process is essentially a reverse numerical reconstruction problem, requiring the recovery of geographically meaningful coordinate values from a seemingly random binary sequence.
[0047] The formula for reconstructing the coordinates of a binary encrypted sequence is as follows:
[0048] in, This represents the reconstructed coordinate sequence; Indicates the translation offset; To calculate the sum; This represents the binary value of the i-th bit. It is the j-th binary value after 16 bits.
[0049] V. Decryption Process The decryption process is based on the reverse operation of the encryption steps. After reading the encrypted vector map, the generated key parameters and topology cache are loaded, the geometry is restored from the transformed coordinate system back to the relative coordinate space before encryption, and the reverse wheel transformation and chaotic system operation are used to finally repair the topological relationship of the vector map, thus achieving the decryption of the vector map.
[0050] Specifically, based on the above method, a practical case analysis was conducted. The experimental datasets used in this invention are vector map data from OpenStreetMap (OSM) and NASA Socioeconomic Data and Applications Center (SEDAC), covering different geographical regions and spatial features. Specifically, dataset A, sourced from OSM, contains points of interest (POIs), road networks, and building outlines for Jiangsu Province (China, Asia); dataset B, sourced from OSM, contains points of interest (POIs), road networks, and building outlines for Argentina (South America); and dataset C, sourced from SEDAC, contains road network data for Germany (Europe). Detailed data for these datasets are shown in Table 1.
[0051] like Figure 5 The images show the vector maps used in the experiment. (a)-(d) are all from dataset A, which are POIs, roads and land use in Jiangsu Province, respectively. The images also show a small sample of data (d) after cropping the road vector map in (b), which is used for subsequent algorithm security testing. (e)-(g) show the vector maps of POIs, roads and land use in Argentina from dataset B. (h) is the vector map of roads in Germany from dataset C.
[0052] The encryption algorithm was implemented using the Python programming language. All experiments were conducted using the same computer equipment.
[0053] The encryption and decryption results are analyzed as follows: The method proposed in this invention is used to perform encryption and decryption calculations on vector maps, and the results are as follows: Figure 6 As shown. Figure 6 (a)-(c) show the original, encrypted and decrypted results of the POI vector map of Jiangsu Province, China, respectively. Figure 6 (d)-(f) show the original, encrypted and decrypted results of the road network vector map of Jiangsu Province, China, respectively. Figure 6 (g)-(i) show the original, encrypted, and decrypted results of the land use vector map of Jiangsu Province, China, respectively. Judging from the encryption results, the method used in this study sufficiently scrambles the encrypted information. Figure 6 As shown in (b), (e), and (h), vector map types, whether points, lines, or polygons, become completely corrupted after encryption, losing almost all geographical features and making it impossible to obtain any vector information, thus achieving the protection of vector map information. Figure 6As shown in (c), (f), and (i), the encrypted vector map can be completely recovered through the decryption algorithm, ensuring complete consistency with the original data and guaranteeing its usability after information transmission. It is worth mentioning that the adaptive spatial partitioning proposed in this study optimizes the shortcomings of uneven load and fixed segmentation in the traditional MBR method, achieving more efficient compatibility with point, line, and polygon vector maps with different features. Figure 6 (i)-(l) perform mixed encryption and decryption operations on multiple vector map layers of different types, and also demonstrate the ability of the spatial index architecture to encrypt and decrypt local areas locally.
[0054] like Figure 7 The above, Figure 7 (a) is the original vector map; (b) is the map using the correct key. (c) Encrypted vector map; (d) for using the wrong key The decrypted vector map; (d) shows the map using the correct key. The decrypted vector map.
[0055] Under the encryption framework proposed in this invention, the correct key is used. and the modified key Decrypt the encrypted vector maps separately, such as Figure 7 Results (c) and (d) show that even a small change in the key can cause an avalanche effect, meaning that a tiny change in the key bits should trigger widespread and unpredictable changes in the output, making it almost impossible to recover the original data from an incorrect key. Therefore, it can be concluded that the method proposed in this invention has high key sensitivity.
[0056] Regarding the correlation between adjacent coordinates: Feature coordinates of a vector map and Vector maps often exhibit strong correlations, and due to these connections, certain critical information in the encrypted map cannot avoid the risk of leakage. In encryption algorithms, thoroughly disrupting and breaking these correlations is crucial; therefore, low correlation between adjacent coordinates after encryption becomes one of the criteria for a successful encryption method. This invention uses the Correlation of Adjacent Coordinates (CAC) method to test algorithm performance.
[0057] The correlation coefficient (CAC) between adjacent coordinates is expressed by the following formula:
[0058] in, This is the sequence length; x and y are the coordinate values; and This represents the strength of the linear correlation between adjacent points.
[0059]
[0060] The correlation statistics of the original vector map, the encrypted vector map, and the decrypted vector map are shown in the table above. The correlation between adjacent coordinates in the original vector map remains at a high level. After layers of encryption, the correlation between adjacent coordinates in the vector map has reached a level close to zero. The decrypted vector map restores the original level. This demonstrates that the encryption method proposed in this invention can effectively destroy the spatial features of the vector map while ensuring the integrity of the decryption process, and can completely recover the original vector map.
[0061] Analysis of resistance to violent attacks: The proposed method's resistance to brute-force attacks primarily stems from a combination of multi-layered key derivation and multiple transformations. The encryption algorithm generates a chaotic sequence using a high-dimensional fractional-order hyperchaotic system. The initial value of this chaotic sequence determines the overall sequence's direction. The hash algorithm used generates 128-bit initial parameters, theoretically resulting in a brute-force complexity of O(log n). Meanwhile, the trajectory of a high-dimensional fractional-order system is extremely sensitive to initial conditions; minute differences in initial conditions can be rapidly amplified in subsequent sequences. Different keys result in completely different round key sequences and bit-level transformations, leading to a surge in complexity. Exhaustive key sequence scalds to an extreme degree. At this scale, brute-force attacks will become extremely difficult.
[0062] Subsequent bit-level round functions and permutation operations are nonlinear and tightly coupled with the chaotic sequence. This makes exhaustive attempts targeting a single bit or region of coordinates unlikely to succeed locally; the entire round key and sequence must be recovered for correct decryption. The multiple protection mechanisms of the encryption algorithm in this study contribute to its strong resistance to brute-force attacks, ensuring sufficient security performance.
[0063] Compared with existing research: To better evaluate and analyze the algorithm, the table below compares the proposed method with the AES algorithm, Pham method, DRPP, Wang algorithm, and Ding algorithm, focusing on key length, method usage, resistance to brute-force attacks, and local decryption capability. Clearly, compared with existing methods, the vector map encryption scheme proposed in this invention, through a composite design of high-dimensional fractional-order chaotic sequence derivation and bit-level round function scrambling, exhibits significant advantages in resisting brute-force attacks, disrupting statistical features, and local encryption / decryption of vector maps.
[0064]
[0065] 7.5.1 Comparison of Controllability, Time Efficiency, and Memory Usage In the field of geographic information security, root mean square error (RMSE) is a metric for measuring data error and is used to assess changes in data quality before and after encryption.
[0066] ; in, This represents the number of points in the dataset. These are the original coordinate values; These are the encrypted coordinate values.
[0067]
[0068] A small road vector map sample (1.2MB) from dataset A was used to test and analyze the RMSE, encryption / decryption time, and computer physical memory usage of existing research algorithms. As shown in the table above, the existing encryption algorithms' RSME (Real-Time Optimization Scheme) shows almost no significant fluctuations and generally possesses good complete decryption capabilities. In terms of runtime, the proposed encryption algorithm outperforms AES, the Wang method, and the Ding method, demonstrating a certain advantage in time efficiency while ensuring security. Regarding memory usage, the proposed algorithm has a small memory footprint and performs well. This comparative experiment compares and analyzes the performance of the proposed method with various existing algorithms, verifying the effectiveness of the proposed algorithm.
[0069] In summary, the vector map encryption method of this application implements a multi-layered security mechanism and achieves good encryption results. By combining spatial indexing and a hyperchaotic system, not only can encryption efficiency be improved, but redundant encryption of non-sensitive areas can also be avoided while maintaining encryption strength. The key technical points of this method are: (1) Region selection control: The present invention adopts a region selection mechanism that combines G-tree spatial indexing and geometric intersection determination. First, the global boundary is calculated and an index is constructed on the input vector map. After the user gives the region boundary, the target feature set is quickly screened through the index. Only the hit objects are encrypted and saved.
[0070] (2) Fractional-order hyperchaotic key source: The key stream is generated by a fractional-order five-dimensional hyperchaotic system. First, a chain of initial values is generated by adding salt using SM3. Then, the hyperchaotic system, in conjunction with the Γ function scaling and odeint numerical integration, outputs a normalized numerical sequence. Seeding strongly couples data parameters with passwords, ensuring that the key is unique under different passwords for the same data and different data for the same password, resisting replay and chosen-plaintext attacks, and providing a stable key source for coordinate-level and bit-level perturbations.
[0071] (3) Bit-level perturbation mechanism: After 5 rounds of Feistel network transformation, a 16-bit key is used in each round. The round function includes key expansion, bitwise XOR and dynamic cyclic shift to achieve fine-grained perturbation of coordinate bits. This mechanism significantly improves performance without compromising complete reversibility and can be seamlessly integrated with the pipeline processing of large-scale vector maps with different geometric types such as points, lines and surfaces.
[0072] The embodiments described above are merely preferred embodiments for fully illustrating the present invention, and the scope of protection of the present invention is not limited thereto. Equivalent substitutions or modifications made by those skilled in the art based on the present invention are all within the scope of protection of the present invention.
Claims
1. A method for local encryption of vector maps, characterized in that, Includes the following steps: Step 1) Based on the original vector map data, construct a G-tree spatial index to obtain the coordinate set; Step 2) Establish a fractional-order five-dimensional hyperchaotic system based on a dual memristor electronic circuit; Step 3) In the coordinate set, extract the coordinate sequence to be encrypted and generate initial parameters: first generate random salt values, then construct a hash chain and calculate the initial state variables of the chaotic system; Step 4) Input the initial state variables of the chaotic system into a fractional-order five-dimensional hyperchaotic system, and iteratively solve for the chaotic sequence; Step 5) Convert the coordinate sequence from Step 3) into a binary sequence; Step 6) Combine each coordinate point in the binary sequence with the chaotic sequence and perform an XOR shift operation to obtain the scrambled and encrypted binary sequence; Step 7) Reconstruct the coordinates of the binary encrypted sequence to obtain the reconstructed coordinate set, i.e., the encrypted vector map; The G-tree spatial indexing process includes the following steps: Step 1: Calculate the global boundary and create the root node; specifically including: Iterate through all geometric objects, skipping null values, take the minimum bounding rectangle of each object, update the global boundary of the entire data set; create the root node with this boundary, and set the maximum depth of the object; Step 2: Batch insert geometric objects into the index tree; specifically including: Assign an index to each valid geometry and call the root node; first, determine the intersection between the node and the object's MBR; non-leaf nodes recursively distribute the object to all intersecting child nodes; leaf nodes add the triplet to the object table and check whether splitting is needed after insertion; Step 3, node splitting; specifically including: A split is triggered when the number of leaf node objects exceeds the maximum number of objects and the depth is less than the maximum depth; the midpoint of the node boundary is taken, the space is divided into four quadrants, four child nodes are generated, the depth is increased by one and the parent node parameters are inherited, the parent node is converted into an internal node, and only manages the child node references; Step 4: Re-split the object into child nodes; specifically including: Iterate through the original objects of the parent node, perform intersection checks with the boundaries of the four child nodes, and then clear the parent node object table.
2. The vector map local encryption method as described in claim 1, characterized in that, A fractional-order five-dimensional hyperchaotic system is: ; in, It is a state vector; Caputo fractional representation; , , , , It is a state variable; , , , , , , , , , , These are control parameters.
3. The vector map local encryption method as described in claim 1, characterized in that, Methods for generating random salt values: Generate a 128-bit random integer using the entropy pool provided by the operating system. As the initial base variable, random numbers With spatial parameters and The product of these factors is combined to form the salt value input, and the salt value output is calculated using the following formula: in, This generates a 256-bit random salt value; It is a hash algorithm based on SM3; A 128-bit random integer; The number of feature vertices in the encryption unit; The number of features in the encryption unit; The XOR operator between numbers. c This is the output value for the salt value.
4. The vector map local encryption method as described in claim 3, characterized in that, The user's password is concatenated with the generated salt value, and the hash value is calculated using the SM3 hash function. Through multiple rounds of SM3 hash operations, the password and salt value are converted into a series of hash values. Four bytes are then compressed and extracted from the 32-byte hash value as... e The values are used to construct a hash chain. ... The user password is set by the user.
5. The vector map local encryption method as described in claim 4, characterized in that, Output values using salt values and hash chains ... The initial state variables of the chaotic system are calculated using the following formula: ; in, , , , , These are the initial parameter values for a fractional-order five-dimensional hyperchaotic system. The XOR operator between numbers. c Output the salt value. The number of feature vertices in the encryption unit. The number of features in the encryption unit.
6. The vector map local encryption method as described in claim 1, characterized in that, A sequence of all feature vertex coordinates in the coordinate sequence. Transform into a positive value sequence through translation transformation ,Will Decompose into integer parts and decimal part : in, This is represented as rounding down; Compress the positive value sequence to 48 bits, integer part The binary representation uses the divide-by-2 remainder method, while the fractional part... Using the multiplication-by-2 and floor function, the positive value sequences of feature vertex coordinates are concatenated to obtain a binary sequence; where the integer part... Using 16-bit binary representation, the fractional part It uses 24 bits of binary representation, with the remaining 8 bits used to represent the location information.
7. The vector map local encryption method as described in claim 6, characterized in that, Divide the 48-bit positive value sequence into a 24-bit left half sequence. And the right half sequence of 24 bits Based on the chaotic sequence, the encrypted binary representation of the coordinates of each feature vertex is obtained through multiple rounds of Feistel network transformation iteration, and all encrypted binary representations are integrated to obtain the binary encrypted sequence.
8. The vector map local encryption method as described in claim 7, characterized in that, The transformation iteration is performed using the following formula: ; in, This represents taking the first two digits of the binary number. Bit; Represents the key sequence subkey, and is also the first... The wheel key; Expressed as displacement; This is represented as extending the subkey from 16 bits to a 24-bit binary number; Represented as the XOR operator; Represented as a logical "OR" operation; This is represented as a leftward displacement; Indicated as after The second Feistel transformation round function.
9. The vector map local encryption method as described in claim 7, characterized in that, The formula for reconstructing the coordinates of a binary encrypted sequence is as follows: in, This represents the reconstructed coordinate sequence; Indicates the translation offset; To calculate the sum; This represents the binary value of the i-th bit. The 16th digit j Bit binary value.
Citation Information
Patent Citations
Vector data network transmission local encryption and decryption method based on multistage spatial index
CN113901159A
Mining area environment map data representation and construction method and map management system
CN115905433A