## 3 Development of an Imitation-Resistant Zero-Knowledge Authentication Protocol Based on an MPPC  
Modular codes that are used for computations are of two kinds. These are modular polyalphabetic codes of the reside number system (RNS) [49; 50] and modular polyalphabetic polynomial codes [50; 51; 52]. To organize calculations in the modular polyalphabetic polynomial code, it is necessary to take a set of \(k\) irreducible polynomials \(m_{1}(x),\;\;m_{2}(x),\;\ldots,\;m_{k}(x)\), whose degrees satisfy (1):  
\[\text{deg}m_{1}(x)\leq\text{deg}m_{2}(x)\leq\;\ldots\;\leq\text{deg}m_{k}(x). \tag{1}\]  
These polynomials form a set of informational bases. To obtain the MPPC combination, it is necessary to represent the binary code \(U=u_{n-1}2^{n-1}+u_{n-2}2^{n-2}+\ldots+u_{1}2^{1}+u_{0}2^{0}\) of a number in polynomial form. In this case, the degrees of two are replaced by the corresponding degrees of the variable \(x\). As a result, we obtain the polynomial \(U(x)=u_{n-1}x^{n-1}+u_{n-2}x^{n-2}+\ldots+u_{1}x^{1}+u_{0}x^{0}\). For example, a binary code \(U=110101_{2}\) is \(U(x)=x^{5}+x^{4}+x^{2}+1\) in the polynomial form. In this case, the polynomial \(U(x)\) can be represented with \(k\) residues:  
\[U(x)=(U_{1}(x),\,\ldots,\,U_{k}(x)), \tag{2}\]  
where \(U(x)\equiv U_{i}(x)\text{mod}m_{i}(x)\); and \(i=1,\ldots,k\). It is clear from (2) that each residue of the modular code has its own alphabet, which is given by the corresponding base. Therefore, this code is referred to as the polyalphabetic code. The chosen set of bases determines the operating range of MPPC:  
\[M_{k}(x)=\prod_{i=1}^{k}m_{i}(x). \tag{3}\]  
The following condition must be satisfied in order for the combination \(U(x)=(U_{1}(x),\,\ldots,\,U_{k}(x))\) to be considered allowed:  
\[\text{deg}M_{k}(x)>\text{deg}U(x), \tag{4}\]  
where \(\text{deg}U(x)\) is a degree of \(U(x)\). Since the irreducible polynomials \(m_{1}(x),\ m_{2}(x),\ \ldots,\ m_{k}(x)\) are defined in GF(2), the modular operations of addition (subtraction) modulo two and multiplication [51; 52] are performed in parallel using MPPC. Then, the following equality holds:  
\[C(x)=U(x)\circ Y(x)=(C_{1}(x),\ \ldots,\ C_{k}(x))=(\left|U_{1}(x)\circ Y_{1}(x) \right|_{m_{1}(x)},\ldots,\left|U_{k}(x)\circ Y_{k}(x)\right|_{m_{k}(x)}) \tag{5}\]  
where \(\circ\) is one of modular operations; \(Y(x)\equiv Y_{i}(x)\mathrm{mod}m_{i}(x)\); \(C(x)\equiv C_{i}(x)\mathrm{mod}m_{i}(x)\); \(\mathrm{deg}M_{k}(x)>\mathrm{deg}C(x)\); and \(i=1,\ldots,k\). Expression (5) clearly shows all the advantages of modular codes:  
* the ability to perform parallel computations, which can improve the performance of computing devices;
* the independence of the execution of modular operations over bases, which can be used to correct errors occurring in the process of calculations. The ability to perform parallel computations with low-bit residues has been used to create specialized real-time computing devices, such as special processors for digital signal processing [53; 54], digital filters [55; 56; 57], encryption systems [58], neural networks [59; 60; 61] and cloud data storage [62]. One of the promising directions of the application of modular codes is zero-knowledge authentication protocols. The analysis of the most known protocols such as Fiat-Shamir (FS), Feige-Fiat-Shamir (FFS), Schnorr, Guillou-Quisquater and Okamoto showed that they are based on modular operations. This property of the protocols was the beginning of their implementation based on modular polyalphabetic codes of the residual number system [63; 64]. Obviously, the transition to parallel computing allowed for reducing the time cost of the authentication of the prover, but it could not completely eliminate the disadvantages of these protocols. Thus, FS and FFS protocols require large time expenditures for the prover's authentication. This is due to the fact that they have several rounds of authentication [33]. The Schnorr, Guillou-Quisquater and Okamoto protocols, which perform authentication in one round, are devoid of this drawback.