## 2 Preliminaries  
In this section, we give the definitions of cryptographic primitives, which are used in our propositions. The registration of the drones applies the physical unclonable function (PUF), which determines a unique PUF value for every drone, and these values are stored on a private blockchain. The registration between the drones and the base station is based \begin{table}
\begin{tabular}{c c c c c c c} \hline \hline
**Comparison** & **D2D \& D2 BS** & **Lightweight** & **PUF** & **Blockchain** & **Sec. Analys.** & **Impl.** \\ \hline [PERSON] et al. ([14]) & & & ✓ & ✓ & & ✓ & ✓ \\ \hline [PERSON] et al. ([15]) & ✓ & ✓ & ✓ & & ✓ & ✓ \\ \hline [PERSON] et al. ([17]) & ✓ & & & ✓ & ✓ & ✓ \\ \hline [PERSON] et al. ([16]) & ✓ & & & ✓ & ✓ & ✓ \\ \hline Our scheme & ✓ & ✓ & ✓ & ✓ & ✓ & ✓ \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Summary table of IoD solutions. D2D: drone-to-drone, D2 BS: drone-to-base station. on symmetric cryptographic primitives (e.g., message authentication code, symmetric encryption scheme). This section discusses the concepts of elliptic curves over finite fields. For more comprehensive information, we refer the reader to [22]. Let \(E\) denote an elliptic curve defined over a finite field \(\mathbb{F}_{q}\), where \(q\) is a large prime and \(P\in E(\mathbb{F}_{q})\) is a point of order \(\mathbf{n}\). Elliptic curve parameters are chosen in such a way that the system resists all known attacks on the elliptic curve discrete logarithm problem in \(<P>\). Let \(\sigma\) denote the length of an elliptic curve point's binary representation. Elliptic curve cryptography (ECC) relies on the infeasibility of the elliptic curve discrete logarithm problem, which can be defined as follows:  
**Definition 1**. : _Let \(P\in E(\mathbb{F}_{q})\) be a point of order \(\mathbf{n}\), and let \(<P>\) be the subgroup of \(E(\mathbb{F}_{q})\) generated by \(P\). The elliptic curve discrete logarithm problem is to determine the value of \(a\in\mathbb{Z}_{\mathbf{n}}\) in the equation \(A=aP\), for a given point \(A\in<P>\)._  
This is considered computationally infeasible; hence, it is the fundamental building block for elliptic curve cryptography. We review the definition of the computational Diffie-Hellman problem as well. **Definition 2**. : _Given \(P,aP,bP\in P\) for some \(a,b\in\mathbb{Z}_{\mathbf{n}}\), compute \(abP\)._  
The Diffie-Hellman protocol ([23]) is the most often used key agreement protocol for securely exchanging a session key between two parties. This key can be used to encrypt and authenticate messages. The elliptic curve Diffie-Hellman protocol is based on the infeasibility of computing elliptic curve discrete logarithms, where if CDHP is hard, then ECDLP is also hard. **Definition 3**. : _A message authentication code (MAC) is a set of polynomial-time algorithms that include functions \(Key_{M}\), Mac, and Ver._  
1. \(Key_{M}\) _is a probabilistic algorithm and requires the security parameter_ \(\kappa\)_, which determines the length of the key as an input to generate a key. The output key_ \(K\) _is_ \(|K|\geq\kappa\) _._
2. _To generate a tag for a message, the algorithm Mac inputs a key_ \(K\) _and the message_ \(m\in\{0,1\}^{*}\)_. The output tag_ \(t\) _is denoted by_ \(t:=Mac_{K}(m)\)_. Mac must be a deterministic algorithm._
3. _To verify the authenticity of a message, the verification algorithm Ver inputs a key_ \(K\)_, a message_ \(m\)_, and a tag_ \(t\)_. The algorithm's output is a bit_ \(b\)_, where_ \(b=1\) _indicates validity and_ \(b=0\) _indicates invalidity. It is assumed that Ver is deterministic, and we express this as_ \(b:=Ver(m,t)\)_._  
**Definition 4**. : _A symmetric encryption scheme is a tuple of polynomial-time algorithms that include functions \((Key_{E},Enc,Dec)\):_  
1. \(Key_{E}\) _is a probabilistic algorithm and inputs the security parameter_ \(1^{\kappa}\) _to generate a key. The output of the algorithm is a random key_ \(K\in\{0,1\}^{*}\)_._
2.