Pipelined FPGA coprocessor for elliptic curve cryptography based on residue number system

In this paper a novel pipelined FPGA coprocessor for ECC is proposed, exploiting the parallelism capabilities of RNS to the computation of large operand algorithms. This intrinsic characteristic of representing large integer numbers as a set of smaller and independent values allows for the parallelization of the computationally heavy large operand multiplications, required in asymmetrical cryptographic algorithms. Towards a compact and performance efficient design, the RNS coprocessor supports a single highly pipelined multi-modulo arithmetic unit. Implementation results, on FPGA of this RNS based ECC coprocessor, suggest one of the smallest programmable designs with a proportional performance when compared with related state of the art. Additionally, the resulting architecture allows for the computation of varying key sizes without changing the design or its implementation.

[1]  Paulo Martins,et al.  Combining Residue Arithmetic to Design Efficient Cryptographic Circuits and Systems , 2016, IEEE Circuits and Systems Magazine.

[2]  Leonel Sousa,et al.  RNS-Based Elliptic Curve Point Multiplication for Massive Parallel Architectures , 2012, Comput. J..

[3]  J. Bajard,et al.  RNS bases and conversions , 2004, SPIE Optics + Photonics.

[4]  J. Voloch,et al.  Weierstrass Points and Curves Over Finite Fields , 1986 .

[5]  Harvey L. Garner,et al.  RESIDUE NUMBER SYSTEM ENHANCEMENTS FOR PROGRAMMABLE PROCESSORS , 2008 .

[6]  D. Chudnovsky,et al.  Sequences of numbers generated by addition in formal groups and new primality and factorization tests , 1986 .

[7]  Leonel Sousa,et al.  An Efficient Scalable RNS Architecture for Large Dynamic Ranges , 2014, J. Signal Process. Syst..

[8]  Jean-Claude Bajard,et al.  An RNS Montgomery Modular Multiplication Algorithm , 1998, IEEE Trans. Computers.

[9]  Jean-Claude Bajard,et al.  Modular multiplication and base extensions in residue number systems , 2001, Proceedings 15th IEEE Symposium on Computer Arithmetic. ARITH-15 2001.

[10]  Thanos Stouraitis,et al.  An RNS Implementation of an $F_{p}$ Elliptic Curve Point Multiplier , 2009, IEEE Transactions on Circuits and Systems I: Regular Papers.

[11]  Atsushi Shimbo,et al.  Cox-Rower Architecture for Fast Parallel Montgomery Multiplication , 2000, EUROCRYPT.

[12]  A. S. Molahosseini,et al.  Embedded Systems Design with Special Arithmetic and Number Systems , 2017 .

[13]  Patrick Longa,et al.  Efficient Techniques for High-Speed Elliptic Curve Cryptography , 2010, CHES.

[14]  Marc Joye,et al.  Weierstraß Elliptic Curves and Side-Channel Attacks , 2002, Public Key Cryptography.

[15]  Arnaud Tisserand,et al.  Single Base Modular Multiplication for Efficient Hardware RNS Implementations of ECC , 2015, CHES.

[16]  Faculteit Ingenieurswetenschappen,et al.  Secure and Efficient Coprocessor Design for Cryptographic Applications on FPGAs , 2007 .

[17]  Zhe Liu,et al.  Efficient Elliptic Curve Cryptography for Embedded Devices , 2016, ACM Trans. Embed. Comput. Syst..

[18]  Ramdas Kumaresan,et al.  Fast Base Extension Using a Redundant Modulus in RNS , 1989, IEEE Trans. Computers.

[19]  Piotr Patronik,et al.  Hardware/Software Approach to Designing Low-Power RNS-Enhanced Arithmetic Units , 2017, IEEE Transactions on Circuits and Systems I: Regular Papers.

[20]  Jizeng Wei,et al.  A Unified Cryptographic Processor for RSA and ECC in RNS , 2013, NCCET.

[21]  Nicolas Guillermin A High Speed Coprocessor for Elliptic Curve Scalar Multiplications over \mathbbFp\mathbb{F}_p , 2010, CHES.

[22]  Laurent Imbert,et al.  Leak Resistant Arithmetic , 2004, CHES.

[23]  Michael Liebelt,et al.  Elliptic curve digital signature algorithm over GF(p) on a residue number system enabled microprocessor , 2009, TENCON 2009 - 2009 IEEE Region 10 Conference.

[24]  Apostolos P. Fournaris,et al.  Residue Number System as a side channel and fault injection attack countermeasure in elliptic curve cryptography , 2016, 2016 International Conference on Design and Technology of Integrated Systems in Nanoscale Era (DTIS).

[25]  Atsushi Shimbo,et al.  Implementation of RSA Algorithm Based on RNS Montgomery Multiplication , 2001, CHES.

[26]  Ricardo Chaves,et al.  RDSP: a RISC DSP based on residue number system , 2003, Euromicro Symposium on Digital System Design, 2003. Proceedings..

[27]  Reinhard Posch,et al.  Modulo Reduction in Residue Number Systems , 1995, IEEE Trans. Parallel Distributed Syst..