## 4 The Proposed Certificate-Less Aggregate Signature Scheme
The vehicle is able to check the authenticity of the pseudo-identity and the partial private key received from the KGC by verifying whether \(psk_{i}.P=Q_{ID_{i}}+H_{2}(ID_{i}||Q_{ID_{i}}).P_{pub}\). The conditional privacy-preservation is enhanced in the design by combining the secret contribution from the vehicle, \(V_{i}\), itself and the TRA on the other hand. It is designed in such a way that the TRA is able to revoke the real identity of the vehicle when needed to do so. At the end of it all, the pseudo-identity and the partial private key are stored in the tamper-proof devices in the vehicle. 3. _Vehicle-Key-Generation_ The vehicle, \(V_{i}\), randomly selects a secret value \(x_{i}\in Z_{q}^{*}\) as its secret key noted as \(vsk_{i}\) and then calculates its corresponding public key \(vpk_{i}=x_{i}.P\). Then \(V_{i}\) set the full private key as \(sk_{i}=x_{i}+psk_{i}\). 4. _Sign_ The message signature is necessary for the sake of upholding the authentication and integrity of the message to the receiver of the message who rightly does verification. The vehicle, \(V_{i}\), selects one of its stored pseudo-identity, \(ID_{i}\), and picks the latest timestamp, \(t_{i}\). With the signing Keys \((psk_{i},sk_{i})\) and the traffic related message \(M_{i}\), the vehicle \(V_{i}\) carries out the following steps to produce a signature. * Selects a random number \(r_{i}\in Z_{q}^{*}\) and computes \(R_{i}=r_{i}P\). * Computes, \[h_{i}=H_{3}(M_{i}||ID_{i}||Q_{ID_{i}}||vpk_{i}||R_{i}||t_{i})\] (1)and \[S_{i}=h_{i}.r_{i}+sk_{i}\text{{mod}}p,\] (2) then, \(V_{i}\) computes, \[\sigma_{i}=(R_{i},S_{i})\] (3) Here \(\sigma_{i}\), is the computed certificate-less signature on the traffic related data \(M_{i}\) for latest timestamp \(t_{i}\) and identification \(ID_{i}\). * Then the final message that, \(V_{i}\) sends to nearby RSU and vehicles for verification is \((ID_{i},Q_{ID_{i}},\text{{\em v}pk_{i}},M_{i},t_{i},\sigma_{i})\). These steps are routinely carried out every time, \(V_{i}\) sends a message to RSU. * _Individual Verify_ On receipt of the certificate-less signature \(\sigma_{i}=(R_{i},S_{i})\) on the traffic related data \(M_{i}\) and timestamped at \(t_{i}\) signed by the vehicle along with its public key \(\text{{\em v}pk_{i}}\), if the received \(T_{i}\) in \(ID_{i}\) and \(t_{i}\) are both valid, then the RSU performs the following procedures. * Computes \[h_{i,0}=H_{2}(ID_{i}||Q_{ID_{i}})\] (4) and \[h_{i}=H_{3}(M_{i}||ID_{i}||Q_{ID_{i}}||\text{{\em v}pk_{i}}||R_{i}||t_{i})\] (5)
* Verifies whether \[S_{i}.P=h_{i}.R_{i}+\text{{\em v}pk_{i}}+Q_{ID_{i}}+h_{i,0}.P_{pub},\] (6) holds or not. The RSU accepts the certificate-less signature if the verification holds. Correctness checking works, since \(P_{pub}=\alpha.P\). \(Q_{ID_{i}}=d_{i}.P\), \(\text{{\em p}sk}_{i}=d_{i}+H_{2}(ID_{i}||Q_{ID_{i}})\times\alpha\text{{\em n }ndp}\), \(R_{i}=r_{i}.P\), \(sk_{i}=x_{i}+\text{{\em p}sk}_{i}\), \(h_{i,0}=H_{2}(ID_{i}||Q_{ID_{i}})\) and \(S_{i}=h_{i}.r_{i}+sk_{i}\text{{\em n}ndp}\). Thus the computation proceeds as follows: \[S_{i}.P =(h_{i}.r_{i}+sk_{i}).P\] \[=h_{i}.r_{i}.P+(x_{i}+\text{{\em p}sk}_{i})P\] \[=h_{i}.R_{i}+\text{{\em v}pk_{i}}+[d_{i}+H_{2}(ID_{i}||Q_{ID_{i}}) \alpha]\] \[h_{i}=H_{3}(M_{i}||ID_{i}||Q_{ID_{i}}||vpk_{i}||R_{i}||t_{i})\]0 \[h_{i}=H_{3}(M_{i}||ID_{i}||Q_{ID_{i}}||vpk_{i}||R_{i}||t_{i})\]1 However, for purposes of saving computation cost, it is recommended to do data aggregation and batch verification on the signatures from the network environment of a particular RSU. * _Aggregate_ Each RSU is an out-posted aggregate signature generator that collects individual certificate-less signatures into a single verifiable one.