# Adaptive Authentication Protocol Based on Zero-Knowledge Proof
## 5 Development of a Scheme for Adapting the Authentication Protocol to the Road Traffic Intensity  
There is no exchange of information between \(RSU\) and \(OBU\) during the execution of the two-way authentication. As a result, the transmitted data traffic between \(OBU\) and \(RSU\) is reduced. At the same time, as the traffic flow increases, the time spent on authenticating all \(OBU\)s greatly increases. This has a negative impact on traffic safety, as the amount of information that \(OBU\)s receive from the \(RSU\) about the situation on the road and accidents on the highway is reduced. Therefore, the development of a scheme to adapt authentication protocol parameters to traffic intensity is an urgent task. Analysis of the developed protocol shows that it has the potential to increase the authentication speed by reducing the level of confidentiality. This result is achieved by reducing the secret parameters in the authentication protocol. A maximal level of confidentiality is achieved by simultaneous use of secret and session keys for \(OBU\) and \(RSU\). The implementation of authentication protocols was discussed earlier. A reduction in the confidentiality to a minimal level by rejecting session keys allows us to reduce the needed time to perform an authentication operation. This will increase the traffic of the messages transmitted between _OBUs_ and _RSUs_. Consider ZKAP, which provides a minimal level of confidentiality. Assume that _OBU_ is the prover and _RSU_ is the verifier. Authentication protocol \(OBU(Prover)\to RSU(Verifer)\). \[1.\ OBU:\ \ X(i)=u^{O_{private}}\mbox{mod}D \tag{20}\]  
where \(X(i)\) is the true index of _OBU_; \(i\) is authentication session number. \[2.\ OBU:\ \ \Big{\{}\Delta O_{private}(i)\Big{\}}<D-1 \tag{21}\]  
where \(\Delta O_{private}(i)\) is random number for \"noisy\" _OBU_'s secret key. \[3.\ OBU:\ \ O_{private}^{*}(i)=\Big{(}O_{private}+\ \Delta O_{private}(i) \Big{)}\mbox{mod}\varphi(D), \tag{22}\]  
where \(O_{private}^{*}(i)\) is the \"noisy\" value of _OBU_'s secret key; \(\varphi(D)\) is Euler's totient function of the prime number \(D\). \[4.\ OBU:\ \ X^{*}(i)=u^{O_{private}^{*}(i)}\mbox{mod}D \tag{23}\]  
where \(X^{*}(i)\) is the \"noisy\" index of _OBU_. When _OBU_ appears in the range of _RSU_, the latter generates a random number and passes it to the _OBU_  
\[5.\ RSU:\ \ K(i)<D-1 \tag{24}\]  
\[6.\ RSU\to OBU:\ \ K(i)\]  
\[7.\ G_{1}(i)=(O_{private}^{*}(i)-K(i)O_{private})\mbox{mod}\varphi(D). \tag{25}\]  
where \(G_{1}(i)\) is the answer to the posed question _K(i)_.  
\[8.\ OBU:\ \ S_{OBU}(i)=(X(i)\big{|}\big{|}X^{*}(i)\big{|}\big{|}G_{1}(i)).\]  
\[9.\ OBU\to RSU:\ \ S_{OBU}(i).\]  
\[10.\ RSU:\ \ S(i)=X^{K(i)}(i)u^{G_{1}(i)}\mbox{mod}D \tag{26}\]  
If the answers to the question-number given by _OBU_ are correct, then \(S(i)=X^{*}(i)\). This means that _OBU_ is authenticated. Authentication protocol \(RSU(Prover)\to OBU(Verifer)\). \[2.\ OBU:\ \ \Big{\{}\Delta O_{private}(i)\Big{\}}<D-1 \tag{21}\]0  
where _F(i)_ is the true index of _RSU_; \(i\) is authentication session number. \[2.\ OBU:\ \ \Big{\{}\Delta O_{private}(i)\Big{\}}<D-1 \tag{21}\]1  
where \(\Delta R_{private}(i)\) is random number for \"noisy\" _RSU_'s secret key. \[2.\ OBU:\ \ \Big{\{}\Delta O_{private}(i)\Big{\}}<D-1 \tag{21}\]2  
where \(R_{private}^{*}(i)\) is the \"noisy\" value of _RSU_'s secret key. \[2.\ OBU:\ \ \Big{\{}\Delta O_{private}(i)\Big{\}}<D-1 \tag{21}\]3where \(F^{*}(i)\) is the \"noisy\" index of \(RSU\). \[2.\ OBU:\ \ \Big{\{}\Delta O_{private}(i)\Big{\}}<D-1 \tag{21}\]4  
where \(Q(i)\) is a random question-number for the authentication of \(RSU\). \[2.\ OBU:\ \ \Big{\{}\Delta O_{private}(i)\Big{\}}<D-1 \tag{21}\]5  
where \(T_{1}(i)\) is the answer to the posed question \(Q(i)\). \[2.\ OBU:\ \ \Big{\{}\Delta O_{private}(i)\Big{\}}<D-1 \tag{21}\]6 \[2.\ OBU:\ \ \Big{\{}\Delta O_{private}(i)\Big{\}}<D-1 \tag{21}\]7  
\[2.\ OBU:\ \ \Big{\{}\Delta O_{private}(i)\Big{\}}<D-1 \tag{21}\]8  
If \(H(i)=F^{*}(i)\), then \(RSU\) is authenticated.