Vector Map Encryption Algorithm Based on Double Random Position Permutation Strategy

: Encryption of vector maps, used for copyright protection, is of importance in the com-munity of geographic information sciences. However, some studies adopt one-to-one mapping to scramble vertices and permutate the coordinates one by one according to the coordinate position in a plain map. An attacker can easily obtain the key values by analyzing the relationship between the cipher vector map and the plain vector map, which will lead to the ineffectiveness of the scrambling operation. To solve the problem, a vector map encryption algorithm based on a double random position permutation strategy is proposed in this paper. First, the secret key sequence is generated using a four-dimensional quadratic autonomous hyperchaotic system. Then, all coordinates of the vector map are encrypted using the strategy of double random position permutation. Lastly, the encrypted coordinates are reorganized according to the vector map structure to obtain the cipher map. Experimental results show that: (1) one-to-one mapping between the plain vector map and cipher vector map is prevented from happening; (2) scrambling encryption between different map objects is achieved; (3) hackers cannot obtain the permutation key value by analyzing the pairs of the plain map and cipher map.


Introduction
Vector maps, the most important part of national basic geographic information [1][2][3], are indispensable resources in economic development and national security [4][5][6], which have been widely applied in many fields [7][8][9], such as resources and environments [10,11], disaster and emergency management [12], economic and social development [13], and health and life health [14]. Vector maps are of great value because collection, processing, and storage of such data rely on expensive surveying instruments, global navigation systems (e.g., Multi-GNSS, GPS, and BeiDou), and a large amount of physical labor resources [15][16][17]; therefore, vector maps generally cannot be freely used without their owners' permission.
However, the rapid development of science and technology in recent years has made it easy to acquire, access, spread, copy, and store vector maps [18], leading addressing copyright issues of vector maps to become increasingly urgent. Some countries and militaries have implemented a series of laws, rules, regulations, and institutions to solve this increasingly urgent issue [19]. For example, in 2005, a guideline was issued by the U.S. advising the use of effective standards and regulations to protect geographic information from piracy. In 2007, a regulation was published by Russia to regulate their geographic information. In 2017, China revised its Surveying and Mapping Law to protect its geographic information [20]. Germany, U.K., Japan, India, and some other countries have also issued laws and regulations on geographic information protection [21]. However, copyright protection for vector maps (one type of the most important geographic information) not only requires laws and regulations but also needs technical support.
Fast advancement of vector map copyright protection techniques has been witnessed in recent decades, which can be divided into two types: accountability and precaution. The accountability includes digital watermarking [22][23][24], digital fingerprinting [25][26][27], and blockchain [28][29][30]. Digital watermarking is used to identify the copyright of the vector map, digital fingerprinting performs well in tracing the original pirate, and blockchain is enabled by integrating several core technologies, such as cryptographic hash, digital signature (based on asymmetric cryptography), and distributed consensus mechanism, which can be applied for protecting data copyright and managing patents [31]. The precaution includes user access control [32][33][34] and vector map encryption. User access control can strictly manage the service period and environment of vector maps through confirming the legitimacy of the users. On vector map encryption, cryptography theory is applied to encrypt vector maps for ensuring the security of the maps in the ciphertext. Once the legal validity of the users is confirmed, the valid vector maps in plaintext state can be provided to the legitimate users. Furthermore, any unauthorized users are not allowed to use, extract, and modify vector maps. This study focuses on vector map encryption.
Vector map encryption is an effective technique to protect vector maps from piracy. The existing encryption algorithms are mainly divided into three categories ( Figure 1): the encryption algorithms based on traditional cryptography, the encryption algorithms based on chaotic systems, and the selective encryption algorithms. (1) The encryption algorithms based on traditional cryptography are applied to encrypt vector map files, which are mainly classified into symmetric encryption and asymmetric encryption. 1 The symmetric encryption chiefly includes data encryption standard (DES) [35] and advanced encryption standard (AES) [36]. 2 The asymmetric encryption includes RSA algorithms [37] and elliptic curve cryptosystems (ECC) [38]. Both algorithms have their own pros and cons. The symmetric has high efficiency, but key management is difficult; the asymmetric encryption key management is easy, but encryption and decryption speed is slow. Thus, Zhang Shanshan [39] used the efficiency advantages of symmetric encryption to encrypt original map files and then combined the key management advantages of asymmetric encryption to encrypt the key in symmetric encryption. The security of the encryption algorithm and the speed of encryption and decryption are improved utilizing the respective advantages of the two types of algorithms. However, this algorithm [39] only encrypts the entire map files, it does not encrypt vector map fine-grained content (e.g., polyline objects, polygon objects, vertices, etc.).
(2) The encryption algorithms based on chaotic systems are able to encrypt map fine-grained content, which includes keystream encryption algorithms and scrambling encryption algorithms. 1 The keystream encryption algorithms mainly include: (a) the vector maps that are encrypted utilizing the keystream, which is mapped from a random sequence generated by logistic mapping [40]; and (b) the binary sequence of non-linear combination that is generated utilizing multiple logistic generators, which is performed by the modular operation to obtain the keystream, and then the vector map is encrypted by the keystream [41]. 2 The scrambling encryption algorithms include: (a) the scrambling encryption algorithm between different objects that is realized based on a two-dimensional chaotic sequence [42]; and (b) a scrambling algorithm that destroys the adjacent coordinate correlation and storage order of the vector maps [9]. Although the above algorithms can encrypt vector maps, there are still some shortcomings. Firstly, the original map is scanned from the first coordinate to the last one and is shuffled by using a key sequence one by one. This sequential one-to-one mapping provides great convenience for cracking the permutation through analyzing the pairs of the original map and cipher map. Furthermore, the limitation of computer word-length leads to the weakening of the dynamic characteristics for low-dimensional chaotic systems, which seriously affects the security of chaotic encryption.
(3) Selective encryption is an algorithm that encrypts feature vertices and encrypts parts of map objects (polylines and polygons). 1 The algorithms for encrypting feature vertices include the geometric objects that are extracted from vector maps. The backbone object is computed from geometric objects. The backbone object is selectively simplified by the multi-scale simplification algorithm to obtain feature vertices of backbone object. The feature vertices are encrypted by the AES algorithm and the key. The remaining vertices and encrypted features vertices are randomly scrambled by a set of random Gaussian numbers [43]. The algorithms for encrypting feature vertices also include the feature vertices that are extracted by using three different simplification algorithms, after which the feature vertices are then encrypted [44]. 2 The encryption algorithms for selecting parts of map objects include: (a) the geometric objects of the vector map selected through geometric transform, which are encrypted in the DCT domain [45]; (b) the polyline data that are selected from vector map, which is performed by perceptual encryption via DCT transformation [46]; and (c) the data in sensitive areas, which are encrypted based on Euclidean average distance [47]. The above algorithms encrypt the partial objects of the vector map. However, some selective encryption algorithms are weak against statistical attacks because they do not scramble vertices. Others are resistant to statistical attacks, but such algorithms adopt one-to-one mapping to encrypt vector maps. Hackers can conveniently obtain permutation index values by analyzing the pairs of the plain map and cipher map.
In a word, the existing research still has the following shortcomings ( Figure 1). (1) The limitation of computer word-length leads to the weakening of the dynamic characteristics for low-dimensional chaotic systems, which seriously affects the complexes of chaotic sequence [40,41]. (2) The single index sequence is used to shuffle one by one, which provides great convenience for cracking permutation [9,42]. (3) Selection encryption causes weak resistance to statistical attacks [44][45][46][47], and there exists great convenience for cracking permutation [43]. To solve the above problems, this paper proposes a vector map encryption algorithm based on a double random position permutation strategy. To begin with, a fourdimensional quadratic autonomous hyperchaotic system (4-D hyperchaotic system) is utilized to generate the key sequence. Then, double random position permutation (DRPP) is used to encrypt global objects from vector maps. Finally, the encrypted objects are reorganized according to the map structure to get the cipher map.
The remainder of this paper is organized as follows. Section 2 describes some principles and encryption schemes in detail. Experimental results and performance of the proposed algorithm are discussed and evaluated in Section 3. Finally, a conclusion is drawn in Section 4.

Four-Dimension Hyperchaotic System
Shannon [48] proposed that different content encryption with unique keys is an excellent encryption strategy. The chaotic system is very sensitive to initial values and parameters, and a slight change in initial values or parameters may lead to completely different chaotic dynamics. The different content encryption with unique keys can be achieved by a random key generated chaotic sequence. However, the limitation of computer word-length leads to the weakening of the dynamic characteristics for low-dimensional chaotic systems, which seriously affects the security of chaotic encryption [49].
To ensure the complexity of the chaotic sequence and to improve the security of the encryption algorithm, a four-dimensional quadratic autonomous hyperchaotic system (4-D hyperchaotic system, as shown in Equation (1)) is utilized to encrypt the vector map, which means that an attacker cannot decrypt the chaotic system by reconstructing the attractor in phase space. In addition, it is also very difficult to obtain initial values and parameters via brute force attacks, and it is given by [50]: where x, y, z, w are state variables, and a, b, c, d, e are system parameters. When a = 10, b = 28, c = 8/3, d = 1, e = 16, this system is hyperchaotic, and its attractor is shown Figure 2.

Generating the Initial Values and System Parameters for the 4-D Hyperchaotic System
Based on the SHA-512 hash value of the original map file and external key, the initial values and system parameters of the 4-D hyperchaotic system are computed, and the steps are as follows.
Step1: Perform SHA-512 hash function on the original map file and the external key to get a 512-bit hash key H k and initial key U k ; next, divide H k and U k into 64 8-bit groups, respectively, and then convert 64 8-bit groups of H k into their decimal values h k1 , h k2 , . . . , h k64 ; convert 64 8-bit groups of U k into 16 decimal values e 1 , e 2 , e 3 , e 4 .
Step2: Add 16 e 1 , e 2 , e 3 , e 4 in Step 1 to get U k_sum , and obtain U k_index via Formula (1), and then choose sequence according to U k_index .

Double Random Position Permutation
Scrambling encryption is an encryption technology that destroys the correlation and storage order of adjacent data, and vector map is a kind of graphic data organized by map objects one by one, whose vertices in each object have obvious location characteristics and order characteristics. Therefore, scrambling encryption can disrupt its adjacent correlation and spatial order, thus achieving the goal of encrypting vector maps. There are two types of scrambling for vector maps: global object scrambling and scrambling in the same object. Global object scrambling refers to global scrambling between all objects (Figure 3c), while scrambling in the same object refers to scrambling within the same object (Figure 3b). Obviously, global object scrambling has a better effect. Assume the size of the original map is |P i |. In the traditional sequential scrambling process shown in Figure 4, scan the original map from the first coordinate (left) to the last (right) one, and scramble them by use of the index sequence D one by one. This sequence one-to-one mapping provides great convenience for cracking the scrambling operation via analyzing the pairs of the original map and cipher map. To solve this problem, a double random position permutation (DRPP) [51] is illustrated and introduced in Figure 5. Two index sequences are applied. Firstly, index D1 is used to pick up the coordinate to be shuffled from the original map. Secondly, index D2 is utilized to map it to another random location. Finally, the scrambled map is obtained.

Scrambling Encryption
Vector map objects with different lengths and irregular characteristics are regularized into a "one-dimensional matrix" form, the objects of "one-dimensional matrix" form are shuffled via DRPP, and then the objects of the "one-dimensional matrix" form are reconstructed into a vector map form, as shown in Figure 6. First of all, the object information of the original map is obtained, after which the object information is regularly processed. Furthermore, the regularized data are shuffled by use of the key sequence generated via the 4-D hyperchaotic system. Finally, the scrambled data are reconstructed to obtain a cipher map according to the original data format structure. The detailed steps are shown in Step1-Step5. Step1: As decrypted in Section 2.2, parameters u x , u y , u z , u w are obtained by utilizing 512-bit hash value H k of the original map file and external key U k . Consider the obtained u x , u y , u z , u w in Equation (3) as initial values, put them into the 4-D hyperchaotic system, and iterate t 0 +|L| (t 0 ≥ 1000) times. To avoid negative influence, previous t 0 values are removed, and four chaotic sequences X, Y, Z, W sized of 1×|L| are obtained. Subsequently, four sequences Sort_X 1 , Sort_Y 1 , Sort_Z 1 , Sort_W 1 and the corresponding index sequences Sort_D X , Sort_D Y , Sort_D Z , Sort_D W are obtained according to their arrangement in ascending order of chaotic sequences X, Y, Z, W, and these processes can be expressed as where |L| is the sum of the number for vertices of all objects.
Step3: To begin with, three variables H_sum, H x_index , and H y_index need to be defined. The hash value H k of the original map file is obtained according to the SHA-512 hash function, it converts hexadecimal character in the hash value into a decimal number, and then all the decimal numbers converted from the hexadecimal characters are added to gain the H_sum value in order to reduce the correlation between the x coordinate and the y coordinate. Find the H x_index according to Equation (5), and calculate the H y_index according to Equation (6).
Step5: DRPP is operated on coordinates according to group Ai, and the obtained confusing sequences are denoted as S_x i,j and S_y i,j . One example is given to show this process. If group A1 and group A2 are selected, the detailed encryption operation is as For the x-coordinate, using the index sequence of group A1, the index sequence D X (i) is utilized to select the coordinate to be shuffling from x i,j , storing it into C_x i,j . Then, the index sequence D Y (i) is used to map C_x i,j into a random position of S_x i,j , and the DRPP of x i,j is achieved; for the y-coordinate, using the index sequence of group A2, the index sequence D X (i) is utilized to select the coordinate to be shuffling from y i,j , storing it into C_y i,j . Then, the index sequence D z (i) is used to map C_y i,j into a random position of S_y i,j , and the DRPP of y i,j is finished. Therein, i∈[1, |L|].

Decryption Processing
The decryption process could be obtained by manipulating the encryption process inversely, as shown in Figure 6. First, the key sequences must be generated over a key generator before decrypting the encrypted map. Then, the map objects obtained from the cipher map are a regularized "one-dimensional matrix", after which they are restored according to DRPP. Lastly, according to the arrangement and organization of vector map, the objects in the form of a "one-dimensional matrix" are reorganized into the form of a vector map, the decrypted map is obtained, and then decryption is achieved.

Encryption and Decryption Visualization
This algorithm was implemented using the Python language, and the experiments were achieved on a PC with Intel ® Core™ i7-10750H CPU @ 2.60 GHZ, 16.00GB of RAM, and Windows 10 64-bit. The experimental results are shown in Figures 7-9. Figure 7a is the original map with only one layer, Figure 7b is the cipher map with only one layer, and Figure 7c is the decrypted map with only one layer; Figure 8a-c is the original map, the cipher map, and the decrypted map with two layers, respectively; and Figure 9a-c is the original map, the cipher map, and the decrypted map with three layers, respectively. A polygon is a set of connected polylines used to represent objects such as lakes, boundaries, and buildings. Thus, the original district data in polygon format can be converted to polyline format for encryption. After decryption, the decrypted district data in polyline format are converted to polygon format for restoration.   Science a vector map contains many layers, each layer contains many objects (polylines and polygons), and each object is composed of a large number of vertices. The scrambling effect is shown in Figures 7b, 8b and 9b, where the cipher map is completely shuffled and distorted. Human vision cannot distinguish the cipher map, and quantitative values are required for evaluation. Therefore, the correlation between adjacent coordinates is applied for quantitative evaluation in Section 3.2.

Correlation of the Adjacent Coordinates
A vector map is a kind of graphic data organized one by one according to objects (polylines and polygons), and the vertices in each object have obvious location order. Thus, it is necessary to analyze the correlation between the original map, the cipher map, and the decrypted map. The calculation of the correlation between adjacent coordinates is shown in Equation (9).
The correlation statistics of the original map, cipher map, and decrypted map are shown in Table 1. It can be found that the correlation of the original map is high, while the correlation of the cipher map is close to zero, and the correlation coefficient of the decrypted map is the same as the original map. This shows that the algorithm in this paper can disrupt the correlation between all objects, and that the decrypted map is the same as the original map.

Key Space
For a perfect vector map encryption algorithm, the key space should be as large as possible to resist all kinds of violent attacks. In this paper, the keys include the following: (1) 512-bit hash value H k of the map file; (2) the initial keys e 1 , e 2 , e 3 , e 4 ; and (3) the initial values and parameters of 4-D hyperchaotic system (it is mainly generated by calculating the hash value and the given initial keys e 1 , e 2 , e 3 , e 4 ). Supposing that the computation accuracy of the computer is 10 −14 , the size of key space will be much greater than 10 56 > 2 168 , which is larger than 2 100 . If the 512-bit hash value H k and other parameters are considered, the key space may be even larger to resist any brute force attack.

Key Sensitivity
A security vector map encryption algorithm must be sensitive to the key. To guarantee the security of the encryption scheme, the key sensitivity has to be analyzed. The key sensitivity refers to a minor change in the key that will lead to a completely different decryption. Of course, when the key sensitivity is higher, the security of the encryption algorithm is better. To test the key sensitivity, the correct keys were utilized to encrypt the original map, and then the cipher map attempted to decrypt using the slightly modified key; the results are illustrated in Figure 10.
The original key is (10, 28, 8/3, 1, 16, u x , u y , u z , u w ), and the changed key is (10 + 10 −14 , 28, 8/3, 1, 16, u x , u y , u z , u w ). The original maps are shown in Figure 10a,e, the corresponding maps are shown in Figure 10b,f. The decrypted maps for the modified key are shown in Figure 10c,g, while the decrypted maps for the correct key are shown in Figure 10d,h.

Comparison of Different Scrambling Times
To test whether the scrambling algorithm needed only one scrambling to achieve a better scrambling effect, the "Railways" data were used, different scrambling times to test the proposed algorithm were set, and the results are shown in Figure 11 and Table 2.   Figure 11 shows that the vector map was scrambled once, and the effect reached a good state. As the scrambling times increased, the scrambling effect change was not obvious. It can be seen in Table 2 that the correlation coefficients of scrambling one time and multiple scrambling are close to zero. Hence, the vector map only needed to be scrambled one time, which would achieve the goal of scrambling encryption, and computational costs would be saved.

Comparison with Existing Studies
To evaluate the effectiveness of the proposed encryption algorithm, Table 3 lists the results of comparison with other algorithms. As shown in Table 3, (1) compared with References [40,46,47], the proposed algorithm has the ability to resist statistical attacks; (2) compared with References [40,43,47], the scrambling of global objects was completely achieved; (3) compared with References [9,42,43,47], the proposed algorithm used double random position permutation, which completely avoided the one-to-one mapping relationship and improved security; (4) compared with References [9,40,42], the proposed algorithm uses a 4-D hyperchaotic system to generate the key sequence, which makes up for the shortcomings of low-dimensional chaotic systems limited by computer word-length.

Conclusions
This paper proposed an encryption algorithm for encrypting vector maps. The algorithm is based on a double random position permutation strategy to improve the security on vector map scrambling encryption. It utilizes the SHA-512 hash function and a 4-D hyperchaotic system to generate the key sequences. The key sequences are used for encrypting vector maps based on a double random position permutation strategy. Vector map objects first are processed in "one-dimensional matrix" form. Then the "one-dimensional matrix" is encrypted by the mapping relationship of two different key sequences. Finally, the encrypted map objects are reorganized according to the vector map structure to get the cipher map. The algorithm can increase the security of scrambling encryption compared with existing scrambling encryption algorithms.
The contributions of this paper are as follows: (1) one-to-one mapping during vector map scrambling is completely avoided; (2) it is difficult for attackers to obtain the permutation key value by analyzing the pairs of the plain map and cipher map; (3) compared with some existing algorithms, the proposed algorithm uses a 4-D hyperchaotic system to generate the key sequence, which makes up for the shortcomings of low-dimensional chaotic systems that are limited by computer word-length; and (4) this algorithm has the ability to resist statistical attacks. In sum, one-to-one mapping during vector map scrambling is completely avoided, and security of scrambling encryption has been improved. Meanwhile, the cipher map is completely shuffled and distorted, the algorithm in this paper can disrupt the correlation between all map objects, and the correlation of the decrypted map is the same as the original map. Moreover, a vector map only needs to be scrambled one time to achieve the goal of scrambling encryption, thus saving computational costs. Moreover, the key space is large enough to resist any brute force attack. The key sensitivity is so high that a minor change in the key cannot decrypt the encrypted vector map.
Although the proposed algorithm can encrypt the vector map, for point objects, the encryption effect is weak. Consequently, encryption and decryption algorithms for point objects will be our work in near future, as they are of interest not only to cartographers but also to researchers in the field of information security. In addition, transforming the algorithm into software that is available for public use is also a project that the authors are working on.

Conflicts of Interest:
The authors declare no conflict of interest.