Elliptic curve cryptography point multiplication core for hardware security module

Mohamadali Mehrabi*, Christophe Doche, Alireza Jolfaei

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

29 Citations (Scopus)


In today's technology, a sheer number of Internet of things applications use hardware security modules for secure communications. The widely used algorithms in security modules, for example, digital signatures and key-agreement, are based upon elliptic curve cryptography (ECC). A core operation used in ECC is the point multiplication, which is computationally expensive for many Internet of things applications. In many IoT applications, such as intelligent transportation systems and distributed control systems, thousands of safety messages need to bed signed and verified within a very short time-frame. Considerable research has been conducted in the design of a fast elliptic curve arithmetic on finite fields using residue number systems (RNS). In this paper, we propose an RNS-based ECC core hardware for the two families of elliptic curves that are short Weierstra and twisted Edwards curves. Specifically, we present RNS implementations for SECP256K1 and ED25519 standard curves. We propose an RNS hardware architecture supporting fast elliptic curve point-addition, point-doubling, and point-tripling. We implemented different ECC point multiplication algorithms on the Xilinx FPGA platform. The test results confirm that the performance of our fully RNS ECC point multiplication is better than the fastest ECC point multiplication cores in the literature.

Original languageEnglish
Pages (from-to)1707-1718
Number of pages12
JournalIEEE Transactions on Computers
Issue number11
Early online date5 Aug 2020
Publication statusPublished - Nov 2020


  • elliptic curve cryptography
  • hardware security
  • modular reduction
  • Residue number system
  • scalar multiplication


Dive into the research topics of 'Elliptic curve cryptography point multiplication core for hardware security module'. Together they form a unique fingerprint.

Cite this