## 3 The Proposed Protocol
### System Initialization
#### 3.2.2 Dynamic Key Generation  
We assume that all zones in the city share the common bilinear pairing parameters \(\{G_{1},G_{2},\ G_{T},H,e,p\}\) described below:  
* \(G_{1}\), \(G_{2}\)--two cyclic additive groups of prime order p, based on the elliptic curve E over the finite field \(F_{p}\) where \(G_{1}\times G_{2}\)\(\rightarrow\)\(G_{T}\). * \(G_{T}\)--a cyclic multiplicative group containing the bilinear pairing result of the two groups \(G_{1}\), \(G_{2}\). * \(H\)--a cryptographic hash function that maps a message to a point in the group \(G_{1}\). * \(e\)--the bilinear pairing function that maps elements from group \(G_{1}\) and group \(G_{2}\) to group \(G_{T}\), as in Equation (1). * \(p\)--a large prime number representing the group order. Additionally, all zones are configured with individual zone generator parameter \(g_{2 ZID}\). \(g_{2 ZID}\) represents the generator point of the group \(G_{2}\) for each zone. The generator point of a group \(G_{2}\) is different for each zone, in order to provide different public keys per vehicle. Each elliptic curve group has a basic point that is used as a generator for all security parameters generated using this group. In our implementation, we used the elements of group \(G_{2}\) over the elliptic curve, \(E\), to represent the public keys. We configured zones with individual zone \(g_{2 ZID}\) to support different public keys. BS picks different random integers to represent the secret keys and use the corresponding \(g_{2 ZID}\) to generate different public keys. Instead of using a single secret and public key for a long time without updating, our protocol allows vehicles to receive different secret and public key in every zone that makes the system resist different key attacks. In the following lines, we describe the key generation method in every zone and the security properties of bilinear pairing cryptography. Figure 4: Vehicle primary authorization. BS picks a random integer \(sk_{i}\in\) the finite field \(F_{p}\) that represents a finite element in the range \(\{1\text{ and }p-1\}\). * BS picks a random integer \(pid_{i}\in\) the finite field \(F_{p}\) that represents a finite element in the range \(\{1\text{ and }p-1\}\). * BS generates a public key for each vehicle in each zone, using the corresponding zone generator and the vehicle assigned secret key: \(pk_{iZID}\ =sk_{iZID}\cdot g_{2 ZID}\), where \(pk_{iZID}\ \in\ G_{2}\). * After authorization of a vehicle \(v_{i}\) entering a zone, BS sends to \(v_{i}\) a message that contains parameters \((Lpid_{i},Lpk_{i},Lsk_{i})\) for \(v_{i}\), as well as the common parameters \(\{G_{2},\ G_{T},\ g_{1 ZID},g_{2 ZID},H,p,\ e\}\) for the zone. We generate public keys using the group \(G_{2}\), then any transmitter can sign a message using its corresponding secret key, to generate a signature that belongs to the group \(G_{1}\).We called this operation bilinear pairing between two groups over the elliptic curve. Using the bilinear pairing between the two groups over the elliptic curve makes the security more complex than the traditional elliptic curve. At the receiver side, the sender's public key, signature, and the pre-stored zone generator is used to verify the message and accept or reject it. The receiver hash the received message and try to map it to a point in group \(G_{1}\), based on the used bilinear pairing function and the zone common parameters. The bilinear pairing-based cryptography relies on the difficulty of the Elliptic Curve Discrete Logarithm Problem (ECDLP). Before going further to illustrate the bilinear pairing properties, we briefly introduce the ECDLP, and for more information, readers can refer to [30]. Let \(E\) be an elliptic curve that is defined over a finite field \(F_{p}\), of order \(p\). All points on the elliptic curve \(E\) form an additive group usually denoted by \(E(F_{p})\). In [31], [PERSON] proposed a cryptosystem using a group of elliptic curve points defined over a finite field \(F_{p}\).