# Error-Correction Coding Using Polynomial Residue Number System
## 1 Introduction  
Modular codes occupy a special place among arithmetical codes that allow for the maximal possible performance of computing devices. There are two types of modular codes:  
* codes of residue number system (RNS);
* codes of polynomial residue number system (PRNS). The basic principles for constructing modular codes of residue number system were first described in several books [1; 2; 3; 4]. It was shown in these works that codes of RNS can increase the speed with which arithmetical operations (addition, subtraction and multiplication) can be performed. This is due to the fact that multi-digit integers are replaced by the corresponding tuple of residues in codes of RNS, which are obtained by dividing these operands by \(n\) bases of the code, which are relatively prime numbers. At the same time, residues are processed in parallel and independently of each other on bases of the code. The works [5; 6; 7] show methods for performing modular addition operation as well as their circuit solutions. Basic principles of circuit implementations of high-speed modular multipliers are presented in [8; 9; 10]. Codes of RNS have found application in digital signal processing (DSP) systems due to their high speed. The works [11; 12; 13; 14] present mathematical models of special DSP as well as their circuit solutions, use of which allows for orthogonal signal transformations in real time. Mathematical models of adaptive and classical digital filters implemented in the code of RNS were developed in order to improve the quality of signal processing. The works [15; 16] present algorithms for performing signal filtering, in which the use of a code of RNS makes it possible to increase the speed of the calculating filter's response. The work [17] shows methods for constructing a fault-tolerant digital filter functioning in codes of RNS. Implementation of adaptive filters using codes of residue number system is presented in [18; 19; 20]. An algorithm for choosing coefficients of a digital filter using integral arithmetic of codes of residue number system was developed in [21] and provides zero error in the response of the filter. Codes of RNS have found application in neural systems. Neural networks using a finite ring neural network model were developed using the parallel functioning principle of neural networks and combining it with parallel principles of computation in a code of RNS [22; 23; 24]. Use of this model allowed for an increase in the speed and accuracy of neural networks. One of the areas of effective application of codes of RNS is cryptography. As a rule, the residue number system is used in cryptographic systems with a public key. The expediency of using codes of RNS in RSA encryption algorithm is proved in the works [25; 26; 27; 28; 29]. Use of codes of RNS aims to create a method for fast and efficient encryption based on elliptical cryptography while ensuring high cryptographic strength of the cipher and the integrity of the transmitted information. However, modular codes of RNS are able to increase both the speed of calculations and to detect and correct errors that occur during calculations due to failures in the operation of the computing device. The theory of constructing redundant codes of RNS is considered in detail in [2; 3; 4]. These works show fundamental differences between redundant codes of RNS and error-correction codes; \(r\) additional control bases are introduced to detect and correct errors in the code of RNS, which is specified by \(k\) informational bases. As a result, the code combination is expanded by \(r\) residues. At the same time, control bases are equal in relation to informational bases. This is due to the fact that all residues contain information about the original integer. Therefore, control bases are involved in performing arithmetical operations as well as informational ones. As a rule, control symbols are obtained in error-correction codes by summing modulo two of corresponding informational bits.