Residue arithmetic systems in cryptography: a survey on modern security applications

Abstract

In the last few years, the ancient residue number system has gained renewed scientific interest and has emerged as an interesting alternative in the field of secure hardware implementations. In this survey, however, we investigate some modern and non-typical applications of RNS in the areas of post-quantum cryptography, cloud infrastructures, and homomorphic encryption. We examine the techniques to incorporate residue arithmetic in these schemes as well as the means to mechanize secure and robust RNS cloud solutions. This survey serves, hopefully, as a soft introduction to residue arithmetic and provides insights for future research and open problems that could be addressed by RNS efficiently.

This is a preview of subscription content, log in to check access.

Fig. 1
Fig. 2
Fig. 3

Adopted from [36]

Fig. 4

Adopted from [62]

Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

References

  1. 1.

    Ajtai, M.: Generating hard instances of lattice problems (extended abstract). In: Proceedings of the Twenty-eighth Annual ACM Symposium on Theory of Computing, STOC ’96, pp. 99–108. ACM, New York (1996). https://doi.org/10.1145/237814.237838

  2. 2.

    Archer, D.W., Rohloff, K.: Computing with data privacy: steps toward realization. IEEE Secur. Privacy 13(1), 22–29 (2015)

    Article  Google Scholar 

  3. 3.

    Armknecht, F., Boyd, C., Carr, C., Gjøsteen, K., Jäschke, A., Reuter, C.A., Strand, M.: A guide to fully homomorphic encryption. Cryptology ePrint Archive, Report 2015/1192. http://eprint.iacr.org/2015/1192 (2015)

  4. 4.

    Babai, L.: On Lovász’ lattice reduction and the nearest lattice point problem. Combinatorica 6(1), 1–13 (1986). https://doi.org/10.1007/BF02579403

    MathSciNet  MATH  Article  Google Scholar 

  5. 5.

    Bajard, J., Didier, L.S., Kornerup, P.: An RNS Montgomery modular multiplication algorithm. IEEE Trans. Comput. 47(7), 766–776 (1998)

    MathSciNet  MATH  Article  Google Scholar 

  6. 6.

    Bajard, J., Eynard, J., Gandino, F.: Fault detection in RNS Montgomery modular multiplication. In: 2013 21st IEEE Symposium on Computer Arithmetic (ARITH), pp. 119–126 (2013)

  7. 7.

    Bajard, J., Kaihara, M., Plantard, T.: Selected RNS bases for modular multiplication. In: 19th IEEE International Symposium on Computer Arithmetic, pp. 25–32 (2009)

  8. 8.

    Bajard, J.C., Eynard, J., Hasan, A., Zucca, V.: A full RNS variant of FV like somewhat homomorphic encryption schemes. Cryptology ePrint Archive, Report 2016/510. http://eprint.iacr.org/2016/510 (2016)

  9. 9.

    Bajard, J.C., Eynard, J., Merkiche, N., Plantard, T.: RNS arithmetic approach in lattice-based cryptography: Accelerating the rounding-off core procedure. In: 2015 IEEE 22nd Symposium on Computer Arithmetic (ARITH), pp. 113–120 (2015). https://doi.org/10.1109/ARITH.2015.30

  10. 10.

    Bajard, J.C., Imbert, L.: A full RNS implementation of RSA. IEEE Trans. Comput. 53, 769–774 (2004)

    Article  Google Scholar 

  11. 11.

    Bajard, J.C., Imbert, L., Jullien, G.A.: Parallel Montgomery multiplication in \(GF(2^k)\) using trinomial residue arithmetic. In: IEEE Symposium on Computer Arithmetic, pp. 164–171 (2005). https://doi.org/10.1109/ARITH.2005.34

  12. 12.

    Blake, I., Seroussi, G., Smart, N.: Elliptic Curves in Cryptography. Cambridge University Press, Cambridge (2002)

    Google Scholar 

  13. 13.

    Brakerski, Z., Gentry, C., Vaikuntanathan, V.: (Leveled) Fully homomorphic encryption without bootstrapping. In: Proceedings of the 3rd Innovations in Theoretical Computer Science Conference, ITCS ’12, pp. 309–325. ACM, New York (2012). https://doi.org/10.1145/2090236.2090262

  14. 14.

    Campobello, G., Leonardi, A., Palazzo, S.: Improving energy saving and reliability in wireless sensor networks using a simple CRT-based packet-forwarding solution. IEEE/ACM Trans. Netw. 20(1), 191–205 (2012)

    Article  Google Scholar 

  15. 15.

    Celesti, A., Fazio, M., Villari, M., Puliafito, A.: Adding long-term availability, obfuscation, and encryption to multi-cloud storage systems. J. Netw. Comput. Appl. 59(C), 208–218 (2016)

    Article  Google Scholar 

  16. 16.

    Chang, C.H., Molahosseini, A.S., Zarandi, A.A.E., Tay, T.F.: Residue number systems: a new paradigm to datapath optimization for low-power and high-performance digital signal processing applications. IEEE Circuits Syst. Mag. 15(4), 26–44 (2015)

    Article  Google Scholar 

  17. 17.

    Chu, J., Benaissa, M.: Error detecting AES using polynomial residue number systems. Microprocess. Microsyst. 37(2), 228–234 (2013)

    Article  Google Scholar 

  18. 18.

    Coppersmith, D., Shamir, A.: Lattice Attacks on NTRU, pp. 52–61. Springer, Berlin (1997). https://doi.org/10.1007/3-540-69053-0_5

    Google Scholar 

  19. 19.

    Coron, J.S., Naccache, D., Tibouchi, M.: Public key compression and modulus switching for fully homomorphic encryption over the integers. Cryptology ePrint Archive, Report 2011/440. http://eprint.iacr.org/2011/440 (2011)

  20. 20.

    Di Claudio, E.D., Piazza, F., Orlandi, G.: Fast combinatorial RNS processors for DSP applications. IEEE Trans. Comput. 44(5), 624–633 (1995)

    MATH  Article  Google Scholar 

  21. 21.

    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)

    Article  Google Scholar 

  22. 22.

    Gandino, F., Lamberti, F., Montuschi, P., Bajard, J.: A general approach for improving RNS Montgomery exponentiation using pre-processing. In: 2011 20th IEEE Symposium on Computer Arithmetic (ARITH), pp. 195–204 (2011)

  23. 23.

    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)

    MathSciNet  MATH  Article  Google Scholar 

  24. 24.

    Gentry, C.: A fully homomorphic encryption scheme. Ph.D. thesis, University of Stanford (2009)

  25. 25.

    Gentry, C., Halevi, S.: Implementing Gentry’s Fully-Homomorphic Encryption Scheme, pp. 129–148. Springer, Berlin (2011). https://doi.org/10.1007/978-3-642-20465-4_9

    Google Scholar 

  26. 26.

    Gentry, C., Halevi, S., Smart, N.P.: Homomorphic evaluation of the AES circuit. Cryptology ePrint Archive, Report 2012/099. http://eprint.iacr.org/2012/099 (2012)

  27. 27.

    Goldreich, O., Goldwasser, S., Halevi, S.: Public-key cryptosystems from lattice reduction problems. In: Proceedings of the 17th Annual International Cryptology Conference on Advances in Cryptology, CRYPTO ’97, pp. 112–131. Springer, London. http://dl.acm.org/citation.cfm?id=646762.706185 (1997)

  28. 28.

    Gomathisankaran, M., Tyagi, A., Namuduri, K.: HORNS: a homomorphic encryption scheme for cloud computing using residue number system. In: 2011 45th Annual Conference on Information Sciences and Systems (CISS), pp. 1–5 (2011)

  29. 29.

    Halevi, S., Shoup, V.: Bootstrapping for HElib, pp. 641–670. Springer, Berlin (2015). https://doi.org/10.1007/978-3-662-46800-5_25

    Google Scholar 

  30. 30.

    Hoffstein, J., Howgrave-Graham, N.: Hybrid lattice-reduction and meet-in-the-middle resistant parameter selection for NTRUEncrypt. IACR Cryptology ePrint Archive p. 620. http://grouper.ieee.org/groups/1363/lattPK/submissions.html#2007-02 (2007)

  31. 31.

    Hoffstein, J., Pipher, J., Silverman, J.H.: NTRU: A Ring-Based Public Key Cryptosystem, pp. 267–288. Springer, Berlin (1998). https://doi.org/10.1007/BFb0054868

    Google Scholar 

  32. 32.

    Howgrave-Graham, N.: A hybrid lattice-reduction and meet-in-the-middle attack against NTRU. IACR Cryptology ePrint Archive p. 620. https://www.iacr.org/archive/crypto2007/46220150/46220150.pdf (2007)

  33. 33.

    Huang, C.H., Taylor, F.J.: A memory compression scheme for modular arithmetic. IEEE Trans. Acoust. Speech Signal Process. ASSP–27, 608–611 (1979)

    MathSciNet  Article  Google Scholar 

  34. 34.

    IEEE P1363: Standard specifications for public-key cryptography. http://grouper.ieee.org/groups/1363/. Accessed 11 Oct 2016

  35. 35.

    Jullien, G.A.: Residue number scaling and other operations using ROM arrays. IEEE Trans. Comput. C–27(4), 325–336 (1978)

    MathSciNet  MATH  Article  Google Scholar 

  36. 36.

    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 (2000)

  37. 37.

    Koc, C.K., Acar, T.: Montgomery multiplication in \(GF(2^k)\). Des. Codes Cryptogr. 14(1), 57–69 (1998). https://doi.org/10.1023/A:1008208521515

    MathSciNet  MATH  Article  Google Scholar 

  38. 38.

    Mahapatra, C., Sheng, Z., Leung, V.C.M., Stouraitis, T.: A reliable and energy efficient IoT data transmission scheme for smart cities based on redundant residue based error correction coding. In: 2015 12th Annual IEEE International Conference on Sensing, Communication, and Networking—Workshops (SECON Workshops), pp. 1–6 (2015)

  39. 39.

    Mandyam, S., Stouraitis, T.: Efficient analog-to-residue conversion schemes. In: IEEE International Symposium on Circuits and Systems, pp. 2885–2888. IEEE (1990)

  40. 40.

    Martinello, M., Ribeiro, M.R.N., de Oliveira, R.E.Z., de Angelis Vitoi, R.: Keyflow: a prototype for evolving SDN toward core network fabrics. IEEE Netw. 28(2), 12–19 (2014)

    Article  Google Scholar 

  41. 41.

    Martins, P., Sousa, L., Eynard, J., Bajard, J.C.: Programmable RNS lattice-based parallel cryptographic decryption. In: 2015 IEEE 26th International Conference on Application-Specific Systems, Architectures and Processors (ASAP), pp. 149–153 (2015). https://doi.org/10.1109/ASAP.2015.7245723

  42. 42.

    Meyer-Base, U., Stouraitis, T.: New power-of-2 RNS scaling scheme for cell-based IC design. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 11(2), 280–283 (2003)

    Article  Google Scholar 

  43. 43.

    Micciancio, D., Goldwasser, S.: Complexity of Lattice Problems. Kluwer Academic Publishers, Norwell (2002)

    Google Scholar 

  44. 44.

    Micciancio, D., Regev, O.: Lattice-Based Cryptography, pp. 147–191. Springer, Berlin (2009). https://doi.org/10.1007/978-3-540-88702-7_5

    Google Scholar 

  45. 45.

    Montgomery, P.L.: Modular multiplication without trial division. Math. Comput. 44, 519–521 (1985)

    MathSciNet  MATH  Article  Google Scholar 

  46. 46.

    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)

    Article  Google Scholar 

  47. 47.

    Nguyen, P.: Cryptanalysis of the Goldreich–Goldwasser–Halevi Cryptosystem from Crypto ’97, pp. 288–304. Springer, Berlin (1999). https://doi.org/10.1007/3-540-48405-1_18

    Google Scholar 

  48. 48.

    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)

  49. 49.

    Ozturk, E., Doroz, Y., Savas, E., Sunar, B.: A custom accelerator for homomorphic encryption applications. IEEE Trans. Comput. PP(99), 1–1 (2016)

    MATH  Google Scholar 

  50. 50.

    Paliouras, V., Stouraitis, T.: Novel high-radix residue number system multipliers and adders. In: Proceedings of the 1999 IEEE International Symposium on Circuits and Systems, 1999. ISCAS’99, vol. 1, pp. 451–454. IEEE (1999)

  51. 51.

    Paliouras, V., Stouraitis, T.: Novel high-radix residue number system architectures. IEEE Trans. Circuits Syst. II Analog Digital Signal Process. 47(10), 1059–1073 (2000)

    MATH  Article  Google Scholar 

  52. 52.

    Perin, G., Imbert, L., Torres, L., Maurine, P.: Electromagnetic analysis on RSA algorithm based on RNS. In: Proceedings of the 2013 Euromicro Conference on Digital System Design, DSD ’13, pp. 345–352. IEEE Computer Society (2013)

  53. 53.

    Posch, K., Posch, R.: Base extension using a convolution sum in residue number systems. Computing 50, 93–104 (1993)

    MathSciNet  MATH  Article  Google Scholar 

  54. 54.

    Posch, K., Posch, R.: Modulo reduction in residue number systems. Trans. Parallel Distrib. Syst. 6(5), 449–454 (1995)

    Article  Google Scholar 

  55. 55.

    Ramirez, J., Fernandez, P., Meyer-Base, U., Taylor, F., Garcia, A., Lloris, A.: Index-based RNS DWT architectures for custom IC designs. In: 2001 IEEE Workshop on Signal Processing Systems, pp. 70–79 (2001)

  56. 56.

    Regev, O.: Lattice-based cryptography. In: Advances in Cryptology CRYPTO ’06. Lecture Notes in Computer Science, pp. 131–141. Springer, Berlin (2006)

  57. 57.

    Regev, O.: On lattices, learning with errors, random linear codes, and cryptography. J. ACM 56(6), 34:1–34:40 (2009). https://doi.org/10.1145/1568318.1568324

    MathSciNet  MATH  Article  Google Scholar 

  58. 58.

    Rivest, R., Shamir, A., Adleman, L.: A method for obtaining digital signatures and public-key cryptosystems. Commun. ACM 21, 120–126 (1978)

    MathSciNet  MATH  Article  Google Scholar 

  59. 59.

    Schinianakis, D., Skavantzos, A., Stouraitis, T.: \(GF(2^n)\) Montgomery multiplication using polynomial residue arithmetic. In: 2012 IEEE International Symposium on Circuits and Systems, pp. 3033–3036 (2012). https://doi.org/10.1109/ISCAS.2012.6271958

  60. 60.

    Schinianakis, D., Stouraitis, T.: Hardware-fault attack handling in RNS-based Montgomery multipliers. In: 2013 IEEE International Symposium on Circuits and Systems (ISCAS), pp. 3042–3045 (2013)

  61. 61.

    Schinianakis, D., Stouraitis, T.: Multifunction residue architectures for cryptography. IEEE Trans. Circuits Syst. I Regul. Pap. 61(4), 1156–1169 (2014)

    Article  Google Scholar 

  62. 62.

    Schinianakis, D.M., Fournaris, A.P., Michail, H.E., Kakarountas, A.P., Stouraitis, T.: An RNS implementation of an \(F_{p}\) elliptic curve point multiplier. IEEE Trans. Circuits Syst. I Regul. Pap. 56(6), 1202–1213 (2009)

    MathSciNet  Article  Google Scholar 

  63. 63.

    Schwemmlein, J., Posch, K.C., Posch, R.: RNS-modulo reduction upon a restricted base value set and its applicability to RSA cryptography. Comput. Secur. 17(7), 637–650 (1998)

    Article  Google Scholar 

  64. 64.

    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)

    Article  Google Scholar 

  65. 65.

    Shor, P.W.: Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer. SIAM J. Comput. 26(5), 1484–1509 (1997)

    MathSciNet  MATH  Article  Google Scholar 

  66. 66.

    Skavantzos, A., Abdallah, M., Stouraitis, T., Schinianakis, D.: Design of a balanced 8-modulus RNS. In: 16th IEEE International Conference on Electronics, Circuits, and Systems, 2009. ICECS 2009, pp. 61–64 (2009)

  67. 67.

    Skavantzos, A., Stouraitis, T.: Grouped-moduli residue number systems for fast signal processing. In: Proceedings of the 1999 IEEE International Symposium on Circuits and Systems, 1999. ISCAS’99, vol. 3, pp. 478–483. IEEE (1999)

  68. 68.

    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, 1999., vol. 2, pp. 1345–1350 (1999)

  69. 69.

    Smith, W.: Swift. In: Symp. Very High Speed Computing Technology (held with IEEE ICASSD Conf.) (1980)

  70. 70.

    Stehlé, D., Steinfeld, R.: Making NTRUEncrypt and NTRUSign as secure as standard worst-case problems over ideal lattices. Cryptology ePrint Archive, Report 2013/004. http://eprint.iacr.org/2013/004 (2013)

  71. 71.

    Szabo, N., Tanaka, R.: Residue Arithmetic and Its Applications to Computer Technology. McGraw-Hill, New York (1967)

    Google Scholar 

  72. 72.

    Taylor, F., Zelniker, G., Smith, J., Mellott, J.: The Gauss machine-a DSP processor with a high RNS content. In: 1991 International Conference on Acoustics, Speech, and Signal Processing, 1991. ICASSP-91, vol.2, pp. 1081–1084 (1991)

  73. 73.

    Taylor, F.J.: A VLSI residue arithmetic multiplier. IEEE Trans. Comput. C–31(6), 540–546 (1982)

    Article  Google Scholar 

  74. 74.

    Taylor, F.J.: Residue arithmetic: a tutorial with examples. IEEE Comput. 17, 50–62 (1988)

    Article  Google Scholar 

  75. 75.

    van Dijk, M., Gentry, C., Halevi, S., Vaikuntanathan, V.: Fully homomorphic encryption over the integers. Cryptology ePrint Archive, Report 2009/616. http://eprint.iacr.org/2009/616 (2009)

  76. 76.

    Wang, W., Chen, Z., Huang, X.: Accelerating leveled fully homomorphic encryption using GPU. In: 2014 IEEE International Symposium on Circuits and Systems (ISCAS), pp. 2800–2803 (2014)

  77. 77.

    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)

  78. 78.

    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)

    MATH  Article  Google Scholar 

Download references

Author information

Affiliations

Authors

Corresponding author

Correspondence to Dimitrios Schoinianakis.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Schoinianakis, D. Residue arithmetic systems in cryptography: a survey on modern security applications. J Cryptogr Eng (2020). https://doi.org/10.1007/s13389-020-00231-w

Download citation

Keywords

  • Computer arithmetic
  • Residue arithmetic
  • Cryptography
  • Homomorphic encryption
  • Post-quantum cryptography
  • Cloud computing