Paper 2022/050

High-Speed and Unified ECC Processor for Generic Weierstrass Curves over GF(p) on FPGA

Asep Muhamad Awaludin, Harashta Tatimma Larasati, and Howon Kim


In this paper, we present a high-speed, unified elliptic curve cryptography (ECC) processor for arbitrary Weierstrass curves over GF(p), which to the best of our knowledge, outperforms other similar works in terms of execution time. Our approach employs the combination of the schoolbook long and Karatsuba multiplication algorithm for the elliptic curve point multiplication (ECPM) to achieve better parallelization while retaining low complexity. In the hardware implementation, the substantial gain in speed is also contributed by our n-bit pipelined Montgomery Modular Multiplier (pMMM), which is constructed from our n-bit pipelined multiplier-accumulators that utilizes digital signal processor (DSP) primitives as digit multipliers. Additionally, we also introduce our unified, pipelined modular adder-subtractor (pMAS) for the underlying field arithmetic, and leverage a more efficient yet compact scheduling of the Montgomery ladder algorithm. The implementation for 256-bit modulus size on the 7-series FPGA: Virtex-7, Kintex-7, and XC7Z020 yields 0.139, 0.138, and 0.206 ms of execution time, respectively. Furthermore, since our pMMM module is generic for any curve in Weierstrass form, we support multi-curve parameters, resulting in a unified ECC architecture. Lastly, our method also works in constant time, making it suitable for applications requiring high speed and SCA-resistant characteristics.

Available format(s)
Publication info
Published elsewhere. Minor revision. MDPI Sensors
Elliptic Curves Cryptographyhigh speed implementationMontgomery multiplicationFPGA
Contact author(s)
asep muhamad11 @ pusan ac kr
2022-01-18: received
Short URL
Creative Commons Attribution


      author = {Asep Muhamad Awaludin and Harashta Tatimma Larasati and Howon Kim},
      title = {High-Speed and Unified ECC Processor for Generic Weierstrass Curves over GF(p) on FPGA},
      howpublished = {Cryptology ePrint Archive, Paper 2022/050},
      year = {2022},
      doi = {10.3390/s21041451},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.