{'fraction_non_alphanumeric': 0.013837489943684634, 'fraction_numerical': 0.0016894609814963797, 'mean_word_length': 4.838891498356036, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
IMPLEMENTATION OF NOVEL PGP ALGORITHM FOR ENCRYPTED GPS COMMUNICATION IN SMART CONTAINERS

The ability to check the location of both static and dynamic devices is improving increasingly with each passing day. To track the locations of both static and dynamic machines, Global Positioning System (GPS) is used to exchange the location between the sender and the receiver. However, there are still challenges in the sage and secure transmission and reception of GPS location. The most common challenge is spoofing attack data. This paper proposes the implementation of a Pretty Good Privacy (PGP) encryption algorithm to ensure the safety of GPS packets shared across the communication channels. The GPS location is first encrypted and subsequently sent across a communication channel, which is strong encryption and cannot be decrypted by an unauthorized user.


I. Introduction
In today's modern world, devices and machines are becoming part of the interconnected network at a much faster rate than ever before. The underlying concept of interconnectivity is sharing of data and information across both wired and wireless communication channels. Data packets across the communication channel without encryption are not secure and the data can be modified or routed to a false location. GPS sharing is too subject to these kinds of attacks. The usage of smart containers which are the basis for today's logistics and supply chain management systems [I], [II], and [III] which manage and transport different packages containing basic daily usage commodities to diligent expensive electronic equipment. Additional the location of public transport systems such as buses and trains has also become important to be monitored as explained in [IV], [V], and [VI]. The majority of devices for sharing their locations utilize GPS devices [VII] which is the largest system used by devices for tracking locations and is estimated to be about used by eight billion devices in 2020 [VIII].
GPS devices are vulnerable to spoofing attacks. The contents of the GPS data packets can be changed or removed completely as a result of spoofing attacks to The general representation of how the PGP encryption will take place to encrypt the GPS location of the smart containers is shown in Figure 1. The smart container is carrying a machine that has an android operating system installed on it. A GPS device will be embedded with the machine having an android operating system to extract GPS coordinates of the smart container. When the smart container is requested for the GPS location, it extracts the GPS coordinates, and the coordinates are subsequently encrypted using PGP encryption with a key that will be explained in detail in section 4 of this paper. The encrypted GPS location datagram is shared through cloud sharing services. When the encrypted GPS coordinates are received by the user machine, it will decrypt those encrypted data with another key and it is explained in detail in section 4 as to how these unique keys are generated for each user.

II. Implementation of Proposed Algorithm
The following steps have been followed to implement the proposed algorithm for the encryption of GPS location of smart containers using PGP encryption techniques.

i.
Research And Analysis To implement the PGP algorithm, the process of encryption and decryption has to be carried out thoroughly to effectively perform scrambling and unscrambling of data. The inter-conversion of ciphertext and plain text is also a significant part of effectively designing and implementing encryption and decryption of desired data packets. The analysis part is obtained with the help of different simulation techniques to implement a portion of encryption and decryption steps and subsequently integrate all the steps into a working and functional system.
The design part of this proposed algorithm is done using an android application. The android application is designed in flutter and made to run on any device having an android operating system.
For this purpose, the flutter-based designed operating system has to be installed on both the sender and the receiver machine. The sender will be the user requesting the smart container for GPS location. The device embedded into a smart container will be the receiver of the request.

III. Flutter Based Android Application Android Application Interface
To implement a PGP algorithm to encrypt data for secure communication and decrypt it back at the receiving station, a pair of keys are required for both the sender and the receiver. The sender device which is running the application has two keys for PGP encrypted communication. The first key is the private key, which is used to decrypt any received encrypted data from a sender. The second key is the public key which is used to encrypt the data before sending. Both the public and private keys are unique for each user. Any sender can use the publicly available key of the receiver to make encryption with the public key of the receiver. The receiver on receiving the encrypted data will decrypt the encrypted data with its private key. Without a private key, it is next to impossible to decrypt PGP encrypted data. In this application, the user has to be first registered on the android based application using an email ID and password. The application uses the email ID of the user to generate a public key for the registered users once approved by the administrator. Similarly, the application uses the password of the registered user to generate a private key for the registered user and the private key is user-specific.

III.
Steps for Implementation of the PGP Algorithm i.
Encryption Process When a user is authorized to use the application for encrypted. Exchange of GPS location with the smart containers. A pair of keys is assigned to the authorized user. When an authorized user requests for the encrypted GPS location. The smart container will extract its current GPS location using the GPS device. The location is then encrypted with the public key of the requesting user as shown in the block diagram represented by Figure 2. The encrypted file then sends over a communication channel. The advantage of doing this is, that if the encrypted data packets containing the GPS location of the smart container are captured by the intruders for spoofing attack, it is highly unlikely and close to impossible to decrypt it in the absence of the private key of the user.

Figure 2. Block diagram of the PGP encryption process
ii.
Decryption Process Upon receiving the encrypted packet by the user from the smart container the packet is first decrypted with the private key of the user, then the GPS location is extracted from the GPS datagram as represented by the block diagram in Figure 3.

PGP Steps for Implementation of Encryption Algorithm
The following steps are used for the implementation of the novel PGP algorithm i. Authentication Authentication is the primary and fundamental step in the implementation of the PGP algorithm for encryption and decryption of GPS locations shared by smart containers. This step filters out the unwanted intruders who can potentially harm the system. Authentication is used for safeguarding the data by granting permissions to genuine users and blocking unwanted users. In this android application, the authentication step is implemented by a firebase administrator. The request to use the application for sharing encrypted GPS locations is forwarded to a firebase administrator for approval. The genuine users are granted access to use the application and the application assign a pair of keys including public and private key to genuine users. The private and public keys are assigned to the genuine user for decryption and encryption respectively. In Figure 4 the authentication process is explained. The user has to first sign up to submit the data required in the application, and subsequently, the pending application is forwarded for approval to the firebase administrator. Confidentiality The second step to implement the PGP algorithm is confidentiality. In reaching of data to the intended user is ensured by confidentiality. In this application the confidentiality is implemented by symmetric block encryption is shown in Figure 5. The GPS location is first extracted upon the request of the requesting user, then it is subsequently encrypted with the encryption key to obtain an encrypted GPS location for safeguarding the contents of the GPS location. On the receiver part, once it is received, the decryption process takes place at the receiving end. Integrity Reaching of GPS encrypted data packet to the intended use without changing its encrypted content is integrity conserved. In the implementation of the PGP, algorithm integrity ensures that the contents of the GPS location cannot be changed or modified when sent over a communication channel. The integrity part of the PGP algorithm implementation is carried out using the implementation of digital signature which is a combination of private key encryption and hashing as shown in fig-5. And fig-6 for obtaining a digital signature, hashing process is used to generate hashed GPS location. The private key encryption and hashing are completely obtained when the private key of the user who is sending the request for encrypted GPS location is combined with the hashed GPS coordinates and subsequently digital signature is obtained this way.

Implementation Of Pgp Encryption and decryption process in android application
The android application designed in flutter can be used by requesting the user machine and the machine installed on the smart container. After signing up on the application the requesting user has to wait for the pending approval. Once the approval is received by the requesting user from the firebase administrator. The flowchart of the program is explained by the Figure given below in Figure 6. As shown in Figure 3, the flow chart is representing the program flow that is running on the application installed on the smart container. The program initially starts, and if a user has requested the firebase administrator for approval. It will wait for the administrator to approve the request of the user. Once the request is approved, the user has to send another request to the smart container program to share its GPS location. Once the request is received, the application extracts the GPS location from the GPS device, and the location is encrypted with the public key of the requesting user, which is received by the program during the request from the user. An encrypted message is created and then subsequently shared with the requesting user.

ii. Encryption and decryption process of android application
The android application designed in flutter running on the user machine is used for receiving the encrypted GPS location of the smart containers. This application can receive the encrypted GPS location, and once the location is received, it is subsequently decrypted by the private key of the user as shown in Figure 7. When the program is started, it waits for the encrypted GPS location to be received by the program shared by the GPS device of the smart container. As shown in the flow chart in Figure 6, the received encrypted location is received by the program and subsequently decrypted by the private key of the user, and the location coordinates are then mapped to represent the location of the smart container on the map as shown in Figure 8. The coordinates extracted from the GPS location sent by the device in the smart container are then mapped on the GPS location in the android application. Similarly, on the sender side, which is the smart container, also after receiving the request for the GPS location, extracts the coordinates and the encryption option is given as shown in Figure 8 to encrypt the GPS coordinates and send them back to the requesting user. Figure 9 shows the unique public key of every user is available which is used to encrypt the GPS location of the smart container.

Conclusion
In conclusion, the design of the application has improved the GPS location security shared by the smart containers. The location shared by smart containers can't be obtained or changed or modified or deleted by an unwanted intruder. This has become possible due to PGP encryption, and the GPS location can't be obtained by any user until the private key of the user is available