# Practical V2I Secure Communication Schemes for Heterogeneous VANETs
## 4 Four Heterogeneous Signcryption Schemes for V2I Communication Scenarios
### Security Proof
Otherwise, **C** requests a \(H_{1}\) query at first and gets \(\left\{ID_{r},\alpha_{r},Q_{r},sk_{r},\xi_{r}\right\}\) from \(L_{1}\) list. Then, **C** returns \(D_{r}\). Unsigncrypt queries: \(A\) gives the recipient \(V_{r}\)'s identity \(ID_{r}\) and a ciphertext \(\sigma\). If \(ID_{r}=ID_{r}^{*}\), \(C\) returns \(\bot\). Otherwise, \(C\) performs \(\textbf{Unsigncrypt}\left(\sigma,\left\{pk_{i}^{*}\right\}_{i=1}^{n},sk_{ID_{r}}\right)\) and returns the corresponding results. **Challenge:**_A_ produces two equal length plaintexts \((m_{i0},\,m_{i1})\) and a receiver's identity \(ID_{r}^{*}\), which will be challenged. If \(ID_{r}\
eq ID_{r}^{*}\), \(C\) outputs \(\bot\). Otherwise, \(C\) selects a bit \(\beta\in\{0,1\}\) and \(r_{i}^{*}\in Z_{q}^{*}\) randomly, calculates \(R_{i}^{*}=r_{i}^{*}pk_{i}^{*}\), \(c_{i}^{*}=H_{2}(e(r_{i}^{*}pk_{i}^{*},cP))\oplus m_{i\beta}\), \(h_{i}^{*}=H_{3}(pk_{i}^{*},pk_{r},R_{i}^{*},c_{i}^{*})\), and \(S_{i}^{*}=sk_{i}^{*}h_{i}^{*}P_{pub}\). Then, \(C\) computes \(S^{*}=\sum\limits_{i=1}^{n}S_{i}^{*}\), returns \(\sigma^{*}=(R_{1}^{*},\ldots,R_{n}^{*},c_{1}^{*},\ldots,c_{n}^{*},S^{*})\) to \(A\). **Phase 2:**_A_ can make a mass of queries as Phase 1. However, \(A\) cannot submit the key-generation query on \(ID_{r}^{*}\) and the unsigncrypt query on \(\sigma^{*}\) to obtain the plaintexts. **Guess**: \(A\) outputs the bit \(\beta^{\prime}\) after enough inquiries. If \(\beta=\beta^{\prime}\), \(C\) emits 1, which means \((P,\,aP,\,bP,\,cP)\) are DH tuples. Otherwise, it outputs 0, which means the \((P,\,aP,\,bP,\,cP)\) are random tuples. If _A_'s guess is correct, \(A\) should have asked \(H_{2}\) oracle with \(e(r_{i}^{*}pk_{i}^{*},\,abP)\) and \(C\) added \(\left\{e(r_{i}^{*}pk_{i}^{*},\,abP),\,p_{i}^{*}\right\}\) into \(L_{2}\) list. As can be seen from the above, \(abP\) is equal to _cP_. Further, we will analyze the probability of \(C\) success. Define the events \(E_{1}\), \(E_{2}\)\(E_{3}\), and \(E_{4}\) in the following:  
\(E_{1}\): \(A\) does not perform the key-generation query with identity \(ID_{r}^{*}\). \(E_{2}\): \(C\) does not abort the unsigncryption queries. \(E_{3}\): \(A\) selects \(ID_{r}^{*}\) as the recipient's identity during the challenge phase. \(E_{4}\): \(A\) can successfully guess \(\beta=\beta^{\prime}\). C succeeds if the aforementioned events happen. It is easy to get \(\Pr[E_{1}]=(1-\tau)^{\mathfrak{A}_{k}}\), \(\Pr[E_{2}|E_{1}]=(1-\tau)^{\mathfrak{A}_{k}}\), \(\Pr[E_{3}|E_{1}E_{2}]\geq\tau\), and \(\Pr[E_{4}|E_{1}E_{2}E_{3}]\geq\varepsilon\), so \(\Pr[E_{1}\wedge E_{2}\wedge E_{3}\wedge E_{4}]\geq\tau(1-\tau)^{\mathfrak{A}_{k }+\mathfrak{A}_{k}}\varepsilon\). The computation time of \(C\) comes from _A_'s computation time. We can get that 2, 2 scalar multiplications and 1 pairing calculation are needed in the \(H_{1}\) query, key generation query, unsigncrypt query. So, the time of \(C\) solving the DDHP instance is \(t^{\prime}\leq t+O(q_{u})t_{p}+O(2q_{H_{1}}+2q_{k})t_{m}\). **Theorem 2**. : _(Unforgeability of MOHSC-I scheme): \(F\) _is a forger with a non-negligible advantage \(\varepsilon\) to forge an aggregate signcryption of the MOHSC-I scheme within running time \(t\), and \(F\) _requests \(q_{i}\) queries to \(H_{i}\) (\(i=1,\,2\), 3) oracles, \(q_{k}\) queries to key-generation oracle, \(q_{s}\) queries to signcrypt oracle, then the CDHP will be settled by an algorithm \(C\) with probability \(\varepsilon^{\prime}\leq\varepsilon\tau(1-\tau)^{\mathfrak{A}_{k}+n-1}\) in a time \(t^{\prime}\leq t+O(2q_{H_{1}}+q_{k}+2q_{s}+n+1)t_{m}+O(q_{s})t_{p}\)._  
Proof. : Here, we show that how \(C\) uses \(F\) to settle a given CDHP example (\(P,\,aP,\,bP\)). **Initial**: \(C\) executes the **Setup** algorithm to sets \(Ppub=aP\), then transmits **params** and \(s\) to \(F\). \(C\) also executes the PKI-KG algorithm and sends the senders' public keys \(\left\{pk_{i}^{*}\right\}_{i=1}^{n}\) to \(F\).