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.
Similar content being viewed by others
References
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.
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.
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.
Antão, S., & Sousa, L. (2012). Modular arithmetic implementation with the Residue Number System (RNS). Technical report INESC-ID, Lisbon.
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.
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.
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.
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.
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.
Montgomery, P.L. (1985). Modular multiplication without trial division. Mathematics of Computation, 44(170), 519–521. doi:10.1090/S0025-5718-1985-0777282-X.
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.
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.
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.
Shenoy, A.P., & Kumaresan, R. (1989). Fast base extension using a redundant modulus in RNS. IEEE Transactions on Computers, 38(2), 292–297.
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.
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.
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
Corresponding author
Rights 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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11265-014-0879-y