## 3 Development of an Imitation-Resistant Zero-Knowledge Authentication Protocol Based on an MPPC
For this purpose, the redundant bases are chosen from the following condition:  
\[\text{deg}(m_{k+1}(x)m_{k+2}(x))\geq\text{deg}(m_{k-1}(x)m_{k}(x)). \tag{17}\]  
In this case, there is an increase in the length of the combination:  
\[U(x)=(U_{1}(x),\,\ldots,\,U_{k}(x),\,U_{k+1}(x),\,U_{k+2}(x)). \tag{18}\]  
There is also an expansion of the code range:  
\[M_{k+2}(x)=\prod_{i=1}^{k+2}m_{i}(x)=M_{k}(x)m_{k+1}(x)m_{k+2}(x). \tag{19}\]  
For a redundant combination \(U(x)=(U_{1}(x),\,\ldots,\,U_{k+2}(x)).\) to be considered allowed, the following condition must be satisfied:  
\[\text{deg}U(x)<\text{deg}M_{k}(x). \tag{20}\]If condition (20) is violated, it means that the combination of MPPC has an erroneous residue. This is proved by the Chinese Remainder Theorem for polynomials (CRTP). This theorem is used to perform conversion from a modular code to a positional code:  
\[U(x)=\left|\sum_{i=1}^{k+2}U_{i}(x)B_{i}(x)\right|_{M_{k+2}(x)}=\left|U_{1}(x)B _{1}(x)+\ldots+U_{k+2}(x)B_{k+2}(x)\right|_{M_{k+2}(x)}, \tag{21}\]  
where \(B_{i}(x)=\left|P_{i}^{-1}(x)\right|_{m_{i}(x)}P_{i}(x)\) is the \(i\)-th orthogonal basis; \(P_{i}(x)=\frac{M_{k+2}(x)}{m_{i}(x)}\). Let us suppose an error occurred in the first residue. Its value is equal to \(\Delta U_{1}(x)\), where \(\text{deg}\Delta U_{1}(x)<\text{deg}m_{1}(x)\). Then, the distorted residue will take the following form:  
\[\widetilde{U}_{1}(x)=\left|U_{1}(x)+\Delta U_{1}(x)\right|_{m_{1}(x)}. \tag{22}\]  
In this case, the distorted combination is of the following form:  
\[U(x)=(\widetilde{U}_{1}(x),\,U_{2}(x),\ldots,\,\,U_{k+2}(x)). \tag{23}\]  
Let us use (22):  
\[ \begin{array}{l}\widetilde{U}(x)=\left|\widetilde{U}_{1}(x)B_{1}(x)+U_{2}(x) B_{2}(x)+\ldots+\left.U_{k+2}(x)B_{k+2}(x)\right|_{M_{k+2}(x)}\right.\\ =\left|(U_{1}(x)+\Delta U_{1}(x))B_{1}(x)+U_{2}(x)B_{2}(x)+\ldots+\left.U_{k+2 }(x)B_{k+2}(x)\right|_{M_{k+2}(x)}\\ =\left|U_{1}(x)B_{1}(x)+U_{2}(x)B_{2}(x)+\ldots+\left.U_{k+2}(x)B_{k+2}(x)+ \Delta U_{1}(x)B_{1}(x)\right|_{M_{k+2}(x)}\\ =\left.U(x)+\left|\Delta U_{1}(x)B_{1}(x)\right|_{M_{k+2}(x)}.\end{array}  \tag{24}\]  
The second summand has a greater degree than the range of allowed combinations \(M_{k}(x)\) since \(\text{deg}M_{k}(x)<\text{deg}B_{1}(x)\). This means that condition (20) is violated for the polynomial \(\widetilde{U}(x)\). All error detection and correction algorithms in modular codes are based on this property. Since the failure flow is the simplest, redundant modular codes containing two control bases have been mainly used to improve the fault tolerance of computing devices [63; 67; 68; 69; 70]. However, modular codes have the ability to correct errors of a higher multiplicity as well. If we introduce \(2r\) bases into the tuple of bases, where \(r\) is the multiplicity of the error, \(r=1,2,\ldots\), then a redundant modular code can correct up to \(r\) distorted residues in the combination. This property can be used as a basis for noise-resistant MPPC. Obviously, the speed of the satellite RSU authentication process depends on the choice of the algorithm for detecting and correcting error bursts. At the same time, this algorithm should provide a simple enough procedure for calculating additional control residues of the modular code. In [50], it is proposed to use the method of projections to find an erroneous residue. Thus, the projection \(U^{1}(x)=(\,U_{2}(x),\,\ldots,\,U_{k+r}(x))\) on the first base is obtained from the original combination as a result of removing the first residue. Then, all projections are converted into a positional code to check condition (20). The disadvantage of this method is significant hardware and time costs, since \(k+r\) CRTP-based reverse conversion operations must be performed to find and correct the error. In [70], an algorithm for calculating the senior coefficients of the mixed radix system (MRS) is presented. If these coefficients are equal to zero, then the MPPC combination is error-free. However, it is rather difficult to compute additional redundant residues using MRS.