Abstract
As conventional arithmetic solutions have improved at a fine-grain level, researchers have turned their attention to alternative number system representations in an effort to further boost up cryptosystem performance. The ancient Residue Number System (RNS) has emerged as a key-player in this endeavor. This chapter attempts to highlight important concepts of residue arithmetic and new RNS applications in modern cryptography are presented in a systematic and holistic manner. Progressing from algorithm and complexity analysis to state-of-the-art hardware implementations and useful cryptanalytic properties, the prospective reader is acquainted with most of the implications and challenges of this emerging field, while open research points are also highlighted.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Aumüller, C., Bier, P., Fischer, W., Hofreiter, P., Seifert, J.P.: Fault attacks on RSA with CRT: concrete results and practical counter-measures. In: Proceedings of International Workshop Cryptographic Hardware and Embedded Systems (CHES ’02), pp. 260–275, 2002
Bajard, J., Eynard, J., Gandino, F.: Fault detection in rns montgomery modular multiplication. In: 21st IEEE Symposium on Computer Arithmetic, ARITH, pp. 119–126, 2013
Bajard, J., Kaihara, M., Plantard, T.: Selected RNS Bases for Modular Multiplication. In: 19th IEEE International Symposium on Computer Arithmetic, pp. 25–32, 2009
Bajard, J.C., Didier, L.S., Kornerup, P.: Modular multiplication and base extensions in residue number systems. In: Proceedings of the 15th Symposium on Computer Arithmetic, ARITH ’01, pp. 59–65, 2001
Bajard, J.C., Imbert, L.: A full RNS implementation of RSA. IEEE Trans. Comput. 53, 769–774 (2004)
Bajard, J.C., Imbert, L., Jullien, G.A.: Parallel Montgomery multiplication in GF(2k) using trinomial residue arithmetic. IEEE Symp. Comput. Arith. 0, 164–171 (2005). doi:10.1109/ARITH.2005.34
Blake, I., Seroussi, G., Smart, N.: Elliptic Curves in Cryptography. Cambridge University Press, Cambridge (2002)
Blömer, J., Otto, M., Seifert, J.P.: A new CRT-RSA algorithm secure against bellcore attacks. In: Proceedings of the 10th ACM Conference on Computer and Communications Security, CCS ’03, pp. 311–320, 2003
Boneh, D., DeMillo, R., Lipton, R.: On the importance of eliminating errors in cryptographic computations. J. Cryptol. 14, 101–119 (2001)
Deschamps, J.P., Bioul, G.J.A., Sutter, G.D.: Synthesis of Arithmetic Circuits: FPGA, ASIC and Embedded Systems. Wiley, Hoboken, New Jersey (2006)
Di Claudio, E.D., Piazza, F., Orlandi, G.: Fast combinatorial rns processors for dsp applications. IEEE Trans. Comput. 44(5), 624–633 (1995)
Ercegovac, M., Lang, T.: Digital Arithmetic. Morgan Kaufmann, San Francisco (2004)
Esmaeildoust, M., Schinianakis, D., Javashi, H., Stouraitis, T., Navi, K.: Efficient RNS Implementation of Elliptic Curve Point Multiplication Over GF(p). IEEE Trans. Very Large Scale Integr. VLSI Syst. 8(21), 1545–1549 (2013)
Gandino, F., Lamberti, F., Montuschi, P., Bajard, J.: A General Approach for Improving RNS Montgomery Exponentiation Using Pre-processing. In: 20th IEEE Symposium on Computer Arithmetic, ARITH, pp. 195–204, 2011
Gandino, F., Lamberti, F., Paravati, G., Bajard, J.C., Montuschi, P.: An algorithmic and architectural study on Montgomery exponentiation in RNS. IEEE Trans. Comput. 61(8), 1071–1083 (2012)
Giraud, C.: An RSA implementation resistant to fault attacks and to simple power analysis. IEEE Trans. Comput. 55(9), 1116–1120 (2006)
Goldreich, O., Goldwasser, S., Halevi, S.: Public-key cryptosystems from lattice reduction problems. In: Kaliski, B.J. (ed.) Advances in Cryptology CRYPTO ’97. Lecture Notes in Computer Science, vol. 1294, pp. 112–131. Springer Berlin/Heidelberg (1997). doi:10.1007/BFb0052231. http://dx.doi.org/10.1007/BFb0052231
Hankerson, D., Menezes, A., Vanstone, S.: Guide to Elliptic Curves Cryptography. Springer and Hall/CRC, New York (2004)
Hiasat, A., Abdel-Aty-Zohdy, H.: A high-speed division algorithm for residue number system. In: IEEE International Symposium on Circuits and Systems, 1995. ISCAS ’95, vol. 3, pp. 1996–1999, 1995
Huang, C.H., Taylor, F.J.: A memory compression scheme for modular arithmetic. IEEE Trans. Acoust. Speech Signal Process. ASSP-27, 608–611 (1979)
Joye, M., Yen, S.M.: The Montgomery powering ladder. In: Proceedings of Workshop on Cryptographic Hardware and Embedded Systems (CHES’02) LNCS, pp. 291–302, 2002
Jullien, G.A.: Residue number scaling and other operations using rom arrays. IEEE Trans. Comput. C-27(4), 325–336 (1978)
Kaliski, B.: TWIRL and RSA key size. http://www.rsasecurity.com/rsalabs/node.asp?id=2004
Kawamura, S., Koike, M., Sano, F., Shimbo, A.: Cox-Rower architecture for fast parallel Montgomery multiplication. In: EUROCRYPT’00: Proceedings of the 19th international conference on Theory and application of cryptographic techniques, pp. 523–538. Springer, Berlin/Heidelberg (2000)
Knuth, D.E.: The Art of Computer Programming: Seminumerical Algorithms, 3rd edn. vol. 2. Addison-Wesley Longman Publishing, Boston, MA (1997)
Koblitz, N.: Elliptic curve cryptosystems. Math. Comput. 48, 203–209 (1987)
Koren, I.: Computer Arithmetic Algorithms. A K Peters, Natick, Massachusetts (2002)
Lab, R.: High-speed RSA implementation (2011). ftp://ftp.rsasecurity.com/pub/pdfs/tr201.pdf
Lab, R.: RSA hardware implementation (2011). ftp://ftp.rsasecurity.com/pub/pdfs/tr801.pdf
Lidl, R., Niederreiter, H.: Introduction to Finite Fields and their Applications. Cambridge University Press, New York (1986)
Ma, K., Liang, H., Wu, K.: Homomorphic property-based concurrent error detection of RSA: a countermeasure to fault attack. IEEE Trans. Comput. 61(7), 1040–1049 (2012)
McEliece, R.J.: Finite Field for Scientists and Engineers. Kluwer Academic, Norwell (1987)
Miller, V.: Use of elliptic curves in cryptography. In: Advances in Cryptology (CRYPTO’85) LNCS, vol. 218, pp. 47–426, 1986
Mohan, P.: RNS-to-binary converter for a new three-moduli Set \(\{2^{n+1} - 1,2^{n},2^{n} - 1\}\). IEEE Trans. Circuits Syst. Express Briefs 54(9), 775–779 (2007)
Montgomery, P.L.: Modular multiplication without trial division. Math. Comput. 16, 519–521 (1985)
Navi, K., Molahosseini, A., Esmaeildoust, M.: How to teach residue number system to computer scientists and engineers. IEEE Trans. Educ. 54(1), 156–163 (2011)
Nozaki, H., Motoyama, M., Shimbo, A., Kawamura, S.: Implementation of RSA algorithm Based on RNS Montgomery multiplication. In: Proceedings of Workshop on Cryptographic Hardware and Embedded Systems (CHES’01) LNCS, vol. 2162, pp. 364–376, 2001
Posch, K., Posch, R.: Base extension using a convolution sum in residue number systems. Computing 50(2), 93–104 (1993)
Posch, K., Posch, R.: Modulo reduction in residue number systems. Trans. Parallel Distrib. Syst. 6(5), 449–454 (1995)
Ramirez, J., Fernandez, P., Meyer-Base, U., Taylor, F., Garcia, A., Lloris, A.: Index-based rns dwt architectures for custom ic designs. In: IEEE Workshop on Signal Processing Systems, pp. 70–79, 2001
Regev, O.: Lattice-based cryptography. In: Advances in Cryptology CRYPTO ’06. Lecture Notes in Computer Science, pp. 131–141. Springer, Berlin/Heidelberg (2006)
Rivest, R., Shamir, A., Adleman, L.: A method for obtaining digital signatures and public-key cryptosystems. Commum. ACM 21, 120–126 (1978)
Savaş, E., Tenca, A., Koç, Çetin.: A scalable and unified multiplier architecture for finite fields GF(p) and GF(2m). In: Cryptographic Hardware and Embedded Systems (CHES 2000). Lecture Notes in Computer Science, vol. 1965, pp. 277–292. Springer, Berlin (2000)
Schinianakis, D.: Versatile architectures for cryptographic systems, Ph.D. dissertation. University of Patras, Patras, Greece, 2013
Schinianakis, D., Fournaris, A., Michail, H., Kakarountas, A., Stouraitis, T.: An RNS implementation of an F p elliptic curve point multiplier. IEEE Trans. Circuits Syst. I 56(6), 1202–1213 (2009)
Schinianakis, D., Stouraitis, T.: A RNS Montgomery multiplication architecture. In: IEEE International Symposium on Circuits and Systems (ISCAS), pp. 1167–1170, 2011
Schinianakis, D., Stouraitis, T.: Hardware-fault attack handling in RNS-based Montgomery multipliers. In: IEEE International Symposium on Circuits and Systems (ISCAS), pp. 3042–3045, 2013
Schinianakis, D., Stouraitis, T.: Multifunction residue architectures for cryptography. IEEE Trans. Circuits Syst. I: Reg. pap. 61(4), 1156–1169 (2014)
Shamir, A.: Improved method and apparatus for protecting public key schemes from timing and fault attacks. U.S Patent, 1999
Shenoy, M., Kumaresan, R.: A fast and accurate RNS scaling technique for high speed signal processing. IEEE Trans. Acoust. Speech Signal Process. 37(6), 929–937 (1989)
Skavantzos, A., Wang, Y.: New efficient rns-to-weighted decoders for conjugate-pair-moduli residue number systems. In: Conference Record of the Thirty-Third Asilomar Conference on Signals, Systems, and Computers, vol. 2, pp. 1345–1350, 1999
Smith, W.: Swift. In: Symposium on Very High Speed Computing Technology (held with IEEE ICASSD Conference) 1980
Sousa, L.: Efficient method for magnitude comparison in RNS based on two pairs of conjugate moduli. In: 18th IEEE Symposium on Computer Arithmetic, 2007. ARITH ’07, pp. 240–250, 2007
Szabo, N., Tanaka, R.: Residue Arithmetic and its Applications to Computer Technology. McGraw-Hill, New York (1967)
Taylor, F., Zelniker, G., Smith, J., Mellott, J.: The gauss machine-a dsp processor with a high rns content. In: International Conference on Acoustics, Speech, and Signal Processing, 1991. ICASSP-91, vol. 2, pp. 1081–1084, 1991
Taylor, F.J.: A vlsi residue arithmetic multiplier. IEEE Trans. Comput. C-31(6), 540–546 (1982)
Taylor, F.J.: Residue arithmetic: a tutorial with examples. IEEE Comput. 17, 50–62 (1988)
Tomczak, T.: Fast sign detection for RNS \((2^{n} - 1,2^{n},2^{n} + 1)\). IEEE Trans. Circuits Syst. Regul. Pap. 55(6), 1502–1511 (2008)
Vigilant, D.: RSA with CRT: a new cost-effective solution to Thwart fault attacks. In: Proceedings of International Workshop on Cryptographic Hardware and Embedded Systems (CHES 08), pp. 130–145, 2008
Wang, W., Swamy, M., Ahmad, O., Wang, Y.: New Chinese Remainder Theorems applications to special moduli sets. In: CCECE99, vol. 2, pp. 1345–1350, 1999
Wang, Y.: Residue-to-binary converters based on new chinese remainder theorems. IEEE Trans. Circuits Syst. II: Analog Digit. Signal Process. 47(3), 197–205 (2000)
Yang, J.H., Chang, C.C., Chen, C.Y.: A high-speed division algorithm in residue number system using parity-checking technique. Int. J. Comput. Math. 81(6), 775–780 (2004)
Yassine, H.M., Moore, W.: Improved mixed-radix conversion for residue number system architectures. IEE Proc. G Circuits Devices Syst. 138(1), 120–124 (1991)
Yen, S., Joye, M.: Checking before output may not be enough against fault-based cryptanalysis. IEEE Trans. Comput. 49(9), 967–970 (2000)
Yen, S., Kim, S., Lim, S., Moon, S.: RSA speedup with Chinese remainder theorem immune against hardware fault cryptanalysis. IEEE Trans. Comput. 52(4), 461–472 (2003)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this chapter
Cite this chapter
Schinianakis, D., Stouraitis, T. (2016). Residue Number Systems in Cryptography: Design, Challenges, Robustness. In: Chang, CH., Potkonjak, M. (eds) Secure System Design and Trustable Computing. Springer, Cham. https://doi.org/10.1007/978-3-319-14971-4_4
Download citation
DOI: https://doi.org/10.1007/978-3-319-14971-4_4
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-14970-7
Online ISBN: 978-3-319-14971-4
eBook Packages: EngineeringEngineering (R0)