## 4 Proposed Scheme
### Message Authentication  
To verify whether OLDs have sent false messages or packets have been modified, other entities can verify signatures of received messages. To enhance verification efficiency, the proposed scheme also provides the capability to simultaneously verify messages in a batch. The processes for verifying a single message and verifying messages in a batch are described below, respectively.  
1. **Single Verification** After receiving a message \(\{M_{i},T_{t},PK_{i},R_{i},PID_{i}\}\), to verify its validation, a receiver will perform the following steps in order with the system parameters \(\{P_{pub},p,q,a,b,P,H0,H1,H2,L_{i}\}\). * Check if the timestamp \(T_{t}\) is fresh. If it is not, the received message is abandoned. If it is fresh, keep performing the operation. * The receiver performs \(\sigma\cdot P\) and \(PK_{i}+w_{i}\cdot R_{i}\) and calculates whether they are equal. If they are not, the receiver chooses to abandon them. If they are equal, it admit the validation of this message. Since \(P_{pub}=s\cdot P\), \(w_{i}=H2(M_{i}\|PID_{i}\|T_{t}\|R_{i}\|PK_{i})\), \(R_{i}=r\cdot P\), \(PK_{i}=sk_{i}\cdot P\) and \(PID_{i}=\{PID_{i,1},PID_{i,2}\}\), where \(PID_{i,1}=ID_{i}\oplus H0(sk_{i}\cdot L_{i}\|T_{t})\), \(PID_{i,2}=(sk_{i}\cdot L_{i})\oplus H1(T_{t})\) and \(\sigma=sk_{i}+w_{i}\cdot r_{i}\ mod\ q\), the following equations can be derived.  
\[\begin{split}\sigma\cdot P&=(sk_{i}+w_{i}\cdot r_{i})\cdot P \\ &=sk_{i}\cdot P+w_{i}\cdot r_{i}\cdot P\\ &=PK_{i}+w_{i}\cdot R_{i}\end{split} \tag{3}\]
2. **Batch Verification** Verifying each of the n messages individually consumes a significant amount of time and computing resources when a receiver receives a batch of messages within a short time interval. Therefore, our scheme incorporates batch verification to efficiently utilize resources. Firstly, to guarantee the non-repudiation of signatures using batch verification, we choose a vector comprising small random integers. Let the vector \(\zeta=\{\zeta_{1},\zeta_{2},\zeta_{3},...,\zeta_{n}\}\), where \(\zeta_{i}\in[1,2^{\zeta}]\) and \(\zeta\) is a secure parameter. After receiving a message \(\{M_{1},T_{t,1},PK_{1},R_{1},PID_{1}\}\), \(\{M_{2},T_{t,2},PK_{2},R_{2},PID_{2}\}\),..., \(\{M_{m},T_{t,n},PK_{n},R_{n},PID_{n}\}\), to verify its validation, a receiver will perform the following steps in order with the system parameters \(\{P_{pub},p,q,a,b,P,H0,H1,H2,L_{i}\}\). * Check if the timestamp \(T_{t,1},T_{t,2},...,T_{t,i},...,T_{t,n}(1<i\leq n)\) are fresh. If they are not, the received message is abandoned. If they are fresh, keep performing the operation. * The receiver performs (4) and calculates whether they are equal. If they are not equal, the receiver will find the malicious message via the invalid signature search algorithm and choose to abandon it. If they are equal, it admits the validation of this series of messages. \[\begin{split}\sum_{i=1}^{n}(\zeta_{i}\cdot\sigma_{i})\cdot P& =(\sum_{i=1}^{n}\zeta_{i}\cdot(sk_{i}+w_{i}\cdot r_{i}))\cdot P\\ &=\sum_{i=1}^{n}(\zeta_{i}\cdot(sk_{i}\cdot P+w_{i}\cdot r_{i} \cdot P))\\ &=\sum_{i=1}^{n}(\zeta_{i}\cdot PK_{i}+\zeta_{i}\cdot w_{i}\cdot R _{i})\\ &=\sum_{i=1}^{n}(\zeta\cdot PK_{i})+\sum_{i=1}^{n}(\zeta_{i}\cdot w _{i}\cdot R_{i})\end{split}\] (4)  
By this, the validation of the batch verification of a series of message is proved. The interactions of the above parties are shown in Figure 3.  
Figure 3: The interactions of parties.