## 4 The Proposed Certificate-Less Aggregate Signature Scheme  
In this section, we will explain the scheme design for VANETs integrated smart grid system titled Efficient Certificate-less Aggregate Signature Scheme with Conditional Privacy-Preservation for Vehicular Ad Hoc Networks Enhanced Smart Grid System. For easy referencing the scheme will be termed ECLAS. The proposed scheme consists of eight algorithms which are: Set-up, Pseudo-Identity Generation, Partial-Private Key Extraction, Vehicle-Key Generation, Sign, Individual Verify, Aggregate and Aggregate verify, which are explained in details as follows. 1. _Set-up_ In this section, the TA, comprising of two mutually exclusive principle parts, which are the TRA and the KGC, will initialize the system by generating the system parameters. The TA takes as input the security parameter \(1^{k}\) the algorithm outputs two large prime numbers, \(p,\ q\) and a non-singular elliptic curve defined by \(y^{2}=x^{3}+ax+b(mod\ p)\), where \(a,b\in F_{p}\). * The KGC sets a point \(P\) from \(E\) and with this point generates a group \(G\) of order \(q\). Then KGC randomly selects a number \(\alpha\in Z_{q}^{*}\) and sets it as its master secret with its corresponding public key computed as \(P_{pub}=\alpha P\). Figure 1: Two Layered Vehicular Ad hoc networks (VANETs) Architecture. Similarly, the TRA selects a points \(P\) on \(E\) and with it generates a group \(G\) of order \(q\). Further, TRA chooses a random number \(\beta\in Z_{q}^{*}\) and computes its public key \(T_{pub}=\beta P\) while setting \(\beta\) as its master secret key used for traceability which is known to TRA only. * All these principle entities (TA, KGC and TRA), choose three hash functions, \(H_{1}:G\to Z_{q}^{*}\), \(H_{2}:\{0,1\}^{*}\to Z_{q}^{*}\) and \(H_{3}:\{0,1\}^{*}\to Z_{q}^{*}\)
* Then the system public parameters \(params=\{P,p,q,E,G,H_{1},H_{2},H_{3},P_{pub},T_{pub}\}\) are published.These \(params\) are then preloaded in the tamper-proof communicating devices and RSU of the system. 2. _Pseudo-Identity-Generation \(\backslash\)Partial-Private-Key-Extraction_ In this phase, the TRA's responsibility is to generate pseudo-identities for the vehicles while the KGC's responsibility is to create corresponding partial private keys to the pseudo-identities. Thus, finally all vehicles under a TA are registered and preloaded with their pseudo-identities and partial private keys. By use of pseudo-identities that are closed linked to the real identities, the proposed scheme can achieve conditional privacy-preservation when it is necessary to revoke the real identity of an entity the TRA can ably do so. The process of pseudo-identity generation and linkage with partial-private-key is executed by TRA and KGC in a sequential manner as follows: * A vehicle, \(V_{i}\), with its unique real identity denoted as \(RID_{i}\) selects a random number \(k_{i}\in Z_{q}^{*}\) and calculates \(PID_{1}=k_{i}P\). Then the vehicle, \(V_{i}\), sends \((RID_{i},PID_{1})\) to the TRA through a secure channel. * The TRA first checks the \(RID_{i}\), if its acceptable then it calculates, \(PID_{2}=RID_{i}\oplus H_{1}(\beta.PID_{1}||T_{pub})\), where \(T_{i}\) indicates the validity period of the pseudo-identity. The pseudo-identity that is used to identify a vehicle, \(V_{i}\), is \(ID_{i}=(PID_{1}||PID_{2}||T_{i})\) and it is sent to the vehicle and KGC through a secure channel. During revocation TRA obtains the real identity by computing \(RID_{i}=PID_{2}\oplus H_{1}(\beta||T_{i}||T_{pub})\). * Upon receipt of the pseudo-identity, \(ID_{i}\), KGC chooses a random number, \(d_{i}\in Z_{q}^{*}\) and computes \(Q_{ID_{i}}=d_{i}P\) and then computes the partial private key, \(psk_{i}\), for the vehicle, \(V_{i}\), as \(psk_{i}=d_{i}+H_{2}(ID_{i}||Q_{ID_{i}})\times\alpha\ mod\ p\). * The KGC then sends the pseudo-identity and partial private key \((Q_{ID_{i}},psk_{i})\) to the vehicle, \(V_{i}\), through a secure channel.