### Residue systems efficiency for modular products summation: application to elliptic curves cryptography

J. C. Bajard, S. Duquesne, M. Ercegovac, N. Meloni, Franklin T. Luk
2006 Advanced Signal Processing Algorithms, Architectures, and Implementations XVI
Residue systems of representation, like Residue Number Systems (RNS) for primary field(GF (p)) or Trinomial Residue Arithmetic for binary field (GF (2 k )), are characterized by efficient multiplication and costly modular reduction. On the other hand, conventional representations allow in some cases very efficient reductions but require costly multiplications. The main purpose of this paper is to analyze the complexity of those two different approaches in the summations of products. As a matter
more » ... oducts. As a matter of fact, the complexities of the reduction in residue systems and of the multiplication in classical representations are similar. One of the main features of this reduction is that it doesn't depend on the field. Moreover, the cost of multiplication in residue systems is equivalent to the cost of reduction in classical representations for special well-chosen fields. Taking those properties into account, we remark that an expression like A * B + C * D, which requires two products, one addition and one reduction, evaluates faster in a residue system than in a classical one. So we propose to study types of expressions to offer a guide for choosing a most appropriate representation. One of the best domain of application is the Elliptic Curves Cryptography where addition and doubling points formulas are composed of products summation. The different kinds of coordinates like affine, projective, and Jacobean, offer a good choice of expressions for our study. Since we are considering Elliptic Curve Cryptography (ECC), we assume that the operands don't need more than 512 bits. Hence, we analyze only one multiplication algorithm: the Basic (paper-and-pencil) Method. This is based on the GMP recommendations 12 . Toom-Cook method 14 is only applicable for huge numbers not used in the ECC, and Karatsuba method 14 is more appropriate for software implementation (like in GMP) than for dedicated architectures we are considering.