## 5 Discussion
### Data Confidentiality  
As mentioned in the previous Section, the key generation process is robust to attacks. Moreover, each key is used to encrypt only one transaction. In addition, the keys are not stored directly in the UAV's memory. However, the keys are needed by the Control Center in order to decrypt the transactions' data. Therefore, they are stored in a secure way using asymmetric encryption. They are first encrypted using the Control Center's public key, and then this encrypted version is stored in the UAV. The only way to recover each initial key is to decrypt this stored value using the Control Center's private key, which is only known to the Control Center.  
It should be noted that asymmetric encryption could have been used alone to encrypt all of the data. However, due to being slower and requiring more computational power, a tradeoff was adopted by resorting to a hybrid symmetric/asymmetric method. The bulk of the data is encrypted efficiently and swiftly using symmetric keys, while only the keys themselves are protected using asymmetric encryption. This provides a reasonable tradeoff between security, encryption speed, and computational power consumption.  
To get an estimate of the computational time required, we experimented with the implementation of an symmetric encryption algorithm, Advanced Encryption Standard (AES) [26; 27], using a Raspberry Pi 4 Model B with a 1.8 GHz processor. To mimic the encryption of the transaction logs, we performed encryption of text data, which was completed using AES with an average time of around 0.4 ms. The encryption of image data (e.g., to mimic a scenario where the drone might take a picture confirming goods delivery) was completed in an average time of 1.5 ms, using a 650 \(\times\) 375 jpeg image, of size 70 kbytes. To cater to the scenario of implementing the proposed approach with lightweight and computing-limited UAVs, it is reasonable to assume that if the drone can carry some weight over long distances (for multiple deliveries), it can carry a small Raspberry PI attached to it. Thus, the Raspberry PI used for this experiment was powered by a separate battery and was attached to a commercial off-the-shelf drone (Parrot Anafi), which was flown successfully with the Raspberry Pi attached to it. In this way, we decoupled the burden of encryption and communication, handled by the Raspberry PI (with its separate power source), from the navigation and drone control activities, handled by the drone's processor.  
In [28], asymmetric encryption using RSA was shown to be around 100 times faster than RSA decryption, which in turn is around 10 times faster than RSA key generation. The results of the experiment performed in [28] showed that for a 2048 bit RSA key, 5 s are needed for key generation, 500 ms for decryption (with the private key), and around 5 ms only for encryption (using the public key). Thus, by having the asymmetric key generation and decryption tasks performed at the Control Center, our proposed approach requires the drone to only perform RSA encryption for the symmetric AES keys, which is much faster and computationally efficient.  
Consequently, the total time required for encrypting each transaction at the drone does not exceed a few milliseconds.