Skip to main content
Log in

A Flexible Architecture for Modular Arithmetic Hardware Accelerators based on RNS

  • Published:
Journal of Signal Processing Systems Aims and scope Submit manuscript

Abstract

Modular arithmetic is a building block for a variety of applications potentially supported on embedded systems. An approach to turn modular arithmetic more efficient is to identify algorithmic modifications that would enhance the parallelization of the target arithmetic in order to exploit the properties of parallel devices and platforms. The Residue Number System (RNS) introduces data-level parallelism, enabling the parallelization even for algorithms based on modular arithmetic with several data dependencies. However, the mapping of generic algorithms to full RNS-based implementations can be complex and the utilization of suitable hardware architectures that are scalable and adaptable to different demands is required. This paper proposes and discusses an architecture with scalability features for the parallel implementation of algorithms relying on modular arithmetic fully supported by the Residue Number System (RNS). The systematic mapping of a generic modular arithmetic algorithm to the architecture is presented. It can be applied as a high level synthesis step for an Application Specific Integrated Circuit (ASIC) or Field Programmable Gate Array (FPGA) design flow targeting modular arithmetic algorithms. An implementation with the Xilinx Virtex 4 and Altera Stratix II Field Programmable Gate Array (FPGA) technologies of the modular exponentiation and Elliptic Curve (EC) point multiplication, used in the Rivest-Shamir-Adleman (RSA) and (EC) cryptographic algorithms, suggests latency results in the same order of magnitude of the fastest hardware implementations of these operations known to date.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7

Similar content being viewed by others

References

  1. Antão, S., Bajard, J.C., Sousa, L. (2010). Elliptic curve point multiplication on GPUs. In IEEE international conference on application-specific systems architectures and processors - ASAP (pp. 192–199). Rennes: IEEE. doi:10.1109/ASAP.2010.5541000.

  2. Antão, S., Bajard, J.C., Sousa, L. (2011). RNS based elliptic curve point multiplication for massive parallel architectures. The Computer Journal 2011 - Oxford Journals, 55(5), 629–647. doi:10.1093/comjnl/BXR119.

    Google Scholar 

  3. Antão, S., Chaves, R., Sousa, L. (2009). Compact and flexible microcoded elliptic curve processor for reconfigurable devices. In IEEE symposium on field programmable custom computing machines - FCCM (pp. 193–200). Napa: IEEE. doi:10.1109/FCCM.2009.18.

  4. Antão, S., & Sousa, L. (2012). Modular arithmetic implementation with the Residue Number System (RNS). Technical report INESC-ID, Lisbon.

  5. Antão, S., & Sousa, L. (2013). The CRNS framework and its application to programmable and reconfigurable cryptography. ACM Transactions on Architecture and Code Optimization, 9(4), 33:1–33:25. doi:10.1145/24006822400692.

    Article  Google Scholar 

  6. Bajard, J.C., Didier, L.S., Kornerup, P. (2001). Modular multiplication and base extensions in residue number systems. In IEEE symposium on computer arithmetic - ARITH (pp. 59–65). Vail: IEEE. doi:10.1109/ARITH.2001.930104.

  7. Guillermin, N. (2010). A high speed coprocessor for elliptic curve scalar multiplications over Fp. In S. Mangard, F.X. Standaert (Eds.), Lecture notes in computer science: advances in cryptology - cryptographic hardware and embedded systems - CHES 2010 (pp. 48-64). Berlin/Heidelberg: Springer.

  8. Güneysu, T., & Paar, C. (2008). Ultra high performance ECC over NIST primes on commercial FPGAs. In E. Oswald, P. Rohatgi (Eds.), Lecture notes in computer science: advances in cryptology - cryptographic hardware and embedded systems - CHES 2008 (pp. 62–78). Berlin/Heidelberg: Springer. doi:10.1007/978-3-540-85053-3_5.

  9. Kawamura, S., Koike, M., Sano, F., Shimbo, A. (2000). Cox-rower architecture for fast parallel montgomery multiplication. In B. Preneel (Ed.),Lecture notes in computer science: advances in cryptology - EUROCRYPT 2000 (pp. 523–538). Berlin/ Heidelberg: Springer. doi:10.1007/3-540-45539-6_37.

  10. Montgomery, P.L. (1985). Modular multiplication without trial division. Mathematics of Computation, 44(170), 519–521. doi:10.1090/S0025-5718-1985-0777282-X.

    Article  MATH  MathSciNet  Google Scholar 

  11. Nozaki, H., Motoyama, M., Shimbo, A., Kawamura, S. (2001). Implementation of RSA algorithm based on RNS montgomery multiplication. In Ç.K. Koç, D. Naccache, C. Paar (Eds.), Lecture notes in computer science: advances in cryptology - cryptographic hardware and embedded systems - CHES 2001 (pp. 364–376). Berlin/Heidelberg: Springer. doi:10.1007/3-540-44709-1_30.

  12. Rivest, R.L., Shamir, A., Adleman, L. (1978). A method for obtaining digital signatures and public- key cryptosystems. Communications of the ACM, 21(2), 120–126. doi:10.1145/359340.359342.

    Article  MATH  MathSciNet  Google Scholar 

  13. Schinianakis, D.M., Fournaris, A.P., Michail, H.E., Kakarountas, A.P., Stouraitis, T. (2009). An RNS implementation of an F p elliptic curve point multiplier. IEEE Transactions on Circuits and Systems I: Regular Papers, 56(6), 1202–1213. doi:10.1109/TCSI.2008.2008507.

    Article  MathSciNet  Google Scholar 

  14. Shenoy, A.P., & Kumaresan, R. (1989). Fast base extension using a redundant modulus in RNS. IEEE Transactions on Computers, 38(2), 292–297.

    Article  MATH  Google Scholar 

  15. Suzuki, D. (2007). How to maximize the potential of FPGA resources for modular exponentiation. In P. Paillier, I. Verbauwhede (Eds.), Lecture notes in computer science: advances in cryptology - cryptographic hardware and embedded systems - CHES 2007 (pp. 272–288). Berlin/Heidelberg: Springer. doi:10.1007/978-3-540-74735-2_19.

  16. Szerwinski, R., & Güneysu, T. (2008). Exploiting the power of GPUs for asymmetric cryptography. In E. Oswald, P. Rohatgi (Eds.), Lecture notes in computer science: advances in cryptology - cryptographic hardware and embedded systems - CHES 2008 (pp. 79–99). Berlin/Heidelberg: Springer. doi:10.1007/978-3-540-85053-3_6.

Download references

Acknowledgments

This work was supported by national funds through FCT - Fundação para a Ciência e Tecnologia, under the project PEst-OE/EEI/LA0021/2013.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Samuel Antão.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Antão, S., Sousa, L. A Flexible Architecture for Modular Arithmetic Hardware Accelerators based on RNS. J Sign Process Syst 76, 249–259 (2014). https://doi.org/10.1007/s11265-014-0879-y

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11265-014-0879-y

Keywords

Navigation