An Optimized Flexible Accelerator for Elliptic Curve Point Multiplication over NIST Binary Fields
Abstract
:1. Introduction
1.1. Pm Hardware Accelerators and Limitations
1.2. Objective, Contributions and Significance
- Proposed PM architecture: we have proposed an optimized hardware accelerator that improves throughput and minimizes area for PM computation in ECC over , where m can take values of 163, 233, 283, 409, and 571.
- gProposed digit-parallel multiplier architecture: to improve the throughput and reduce clock cycles for polynomial multiplications, we have proposed a multiplier circuit. The proposed circuit works on the digit-parallel principles such that the size of the digit is 41.
- Re-using the hardware resources: to implement the inversion operation, we have re-utilized the allocated area of the square unit and the digit-parallel multiplier unit, which reduces overall hardware area utilization.
- Flexibility: we have utilized two 571-bit input/output buffers on top of the proposed PM architecture to load different input parameters. Similarly, one 3-bit buffer is also used to provide read/write addresses. Using these three buffers, we have encountered flexibility in our accelerator architecture, which means different input parameters can be used for computations.
- Dedicated-controller: we have designed a controller circuit for efficient handling of control signals. The behavior of the controller circuit is described through a state machine.
2. Lopez-Dahab Projective Form of ECC over
Algorithm 1: Montgomery PM Algorithm [17]. |
3. Proposed Hardware Accelerator Architecture
3.1. Loading I/O Parameters to Our Accelerator
- Data read and write: we use = 000, which specify the bit-by-bit output data read from 571- using one-bit - signal. Similarly, we have encoded = 001 for input data write on a 571- using one-bit - signal.
- Loading the coordinates of starting point: we set = 010 and = 011 to input the x and y components of the starting point P on a 571- using one-bit - signal.
- Loading the values of constant and a scalar multiplier: we use = 100 and = 101 to load the curve constant parameter and a scalar multiplier on a 571- using one-bit - signal.
- Collecting bits of final point: we use = 110 and = 111 to collect the bits of x and y components of the final point Q, respectively.
3.2. PM-Core
3.2.1. Memory Unit (MU)
3.2.2. Arithmetic Unit (AU)
Adder, Square and Routing Multiplexers
Proposed Digit-Parallel Multiplier Architecture
Reduction
Inversion
3.2.3. Controller Circuit and Formulation for Clock Cycles
4. Achieved Results and Performance Comparison
4.1. Achieved Results
4.2. Comparisons
4.3. Throughput and Throughput/Area Comparison
5. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
References
- Miller, V.S. Use of Elliptic Curves in Cryptography. In Proceedings of the Advances in Cryptology—CRYPTO ’85 Proceedings, Santa Barbara, CA, USA, 18–22 August 1985; Williams, H.C., Ed.; Springer: Berlin/Heidelberg, Germany, 1986; pp. 417–426. Available online: https://link.springer.com/chapter/10.1007/3-540-39799-x_31 (accessed on 27 July 2023).
- Rivest, R.L.; Shamir, A.; Adleman, L. A method for obtaining digital signatures and public-key cryptosystems. Commun. ACM 1978, 21, 120–126. [Google Scholar] [CrossRef]
- Hankerson, D.; Menezes, A.J.; Vanstone, S. Guide to Elliptic Curve Cryptography; Springer: Berlin/Heidelberg, Germany, 2004; pp. 1–311. Available online: https://link.springer.com/book/10.1007/b97644 (accessed on 27 July 2023).
- Peter, S.; Stecklina, O.; Portilla, J.; de la Torre, E.; Langendoerfer, P.; Riesgo, T. Reconfiguring Crypto Hardware Accelerators on Wireless Sensor Nodes. In Proceedings of the 2009 6th IEEE Annual Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks Workshops, Rome, Italy, 22–26 June 2009; pp. 1–3. [Google Scholar] [CrossRef]
- Oladipupo, E.T.; Abikoye, O.C.; Imoize, A.L.; Awotunde, J.B.; Chang, T.Y.; Lee, C.C.; Do, D.T. An Efficient Authenticated Elliptic Curve Cryptography Scheme for Multicore Wireless Sensor Networks. IEEE Access 2023, 11, 1306–1323. [Google Scholar] [CrossRef]
- Dan, Y.p.; He, H.l. Tradeoff Design of Low-Cost and Low-Energy Elliptic Curve Crypto-Processor for Wireless Sensor Networks. In Proceedings of the 2012 8th International Conference on Wireless Communications, Networking and Mobile Computing, Shanghai, China, 21–23 September 2012; pp. 1–5. [Google Scholar] [CrossRef]
- Gabsi, S.; Kortli, Y.; Beroulle, V.; Kieffer, Y.; Alasiry, A.; Hamdi, B. Novel ECC-Based RFID Mutual Authentication Protocol for Emerging IoT Applications. IEEE Access 2021, 9, 130895–130913. [Google Scholar] [CrossRef]
- Gabsi, S.; Beroulle, V.; Kieffer, Y.; Dao, H.M.; Kortli, Y.; Hamdi, B. Survey: Vulnerability Analysis of Low-Cost ECC-Based RFID Protocols against Wireless and Side-Channel Attacks. Sensors 2021, 21, 5824. [Google Scholar] [CrossRef] [PubMed]
- Hu, S.; Chen, Y.; Zheng, Y.; Xing, B.; Li, Y.; Zhang, L.; Chen, L. Provably Secure ECC-Based Authentication and Key Agreement Scheme for Advanced Metering Infrastructure in the Smart Grid. IEEE Trans. Ind. Inform. 2023, 19, 5985–5994. [Google Scholar] [CrossRef]
- NIST. Recommended Elliptic Curves for Federal Government Use (1999). Available online: https://csrc.nist.gov/csrc/media/publications/fips/186/2/archive/2000-01-27/documents/fips186-2.pdf (accessed on 11 August 2023).
- Rashid, M.; Imran, M.; Jafri, A.R.; Al-Somani, T.F. Flexible Architectures for Cryptographic Algorithms—A Systematic Literature Review. J. Circuits Syst. Comput. 2019, 28, 1930003. [Google Scholar] [CrossRef]
- Khan, Z.U.A.; Benaissa, M. Low Area ECC Implementation on FPGA. In Proceedings of the 2013 IEEE 20th International Conference on Electronics, Circuits, and Systems (ICECS), Abu Dhabi, United Arab Emirates, 8–11 December 2013; pp. 581–584. [Google Scholar] [CrossRef]
- Imran, M.; Shafi, I.; Jafri, A.R.; Rashid, M. Hardware design and implementation of ECC based crypto processor for low-area-applications on FPGA. In Proceedings of the 2017 International Conference on Open Source Systems & Technologies (ICOSST), Lahore, Pakistan, 18–20 December 2017; pp. 54–59. [Google Scholar] [CrossRef]
- Sutter, G.D.; Deschamps, J.P.; Imana, J.L. Efficient Elliptic Curve Point Multiplication Using Digit-Serial Binary Field Operations. IEEE Trans. Ind. Electron. 2013, 60, 217–225. [Google Scholar] [CrossRef]
- Morales-Sandoval, M.; Flores, L.A.R.; Cumplido, R.; Garcia-Hernandez, J.J.; Feregrino, C.; Algredo, I. A Compact FPGA-Based Accelerator for Curve-Based Cryptography in Wireless Sensor Networks. J. Sens. 2021, 2021, 8860413. [Google Scholar] [CrossRef]
- Toubal, A.; Bengherbia, B.; Zmirli, M.O.; Guessoum, A. FPGA implementation of a wireless sensor node with built-in security coprocessors for secured key exchange and data transfer. Measurement 2020, 153, 107429. [Google Scholar] [CrossRef]
- Imran, M.; Rashid, M.; Jafri, A.R.; Kashif, M. Throughput/area optimised pipelined architecture for elliptic curve crypto processor. IET Comput. Digit. Tech. 2019, 13, 361–368. [Google Scholar] [CrossRef]
- Imran, M.; Pagliarini, S.; Rashid, M. An Area Aware Accelerator for Elliptic Curve Point Multiplication. In Proceedings of the 2020 27th IEEE International Conference on Electronics, Circuits and Systems (ICECS), Glasgow, UK, 23–25 November 2020; pp. 1–4. [Google Scholar] [CrossRef]
- Rahman, M.S.; Hossain, M.S.; Rahat, E.H.; Dipta, D.R.; Faruque, H.M.R.; Fattah, F.K. Efficient Hardware Implementation of 256-bit ECC Processor Over Prime Field. In Proceedings of the 2019 International Conference on Electrical, Computer and Communication Engineering (ECCE), Cox’s Bazar, Bangladesh, 7–9 February 2019; pp. 1–6. [Google Scholar] [CrossRef]
- Basu Roy, D.; Mukhopadhyay, D. High-Speed Implementation of ECC Scalar Multiplication in GF(p) for Generic Montgomery Curves. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 2019, 27, 1587–1600. [Google Scholar] [CrossRef]
- Hu, X.; Li, X.; Zheng, X.; Liu, Y.; Xiong, X. A high speed processor for elliptic curve cryptography over NIST prime field. IET Circuits Devices Syst. 2022, 16, 350–359. [Google Scholar] [CrossRef]
- Islam, M.M.; Hossain, M.S.; Hasan, M.K.; Shahjalal, M.; Jang, Y.M. Design and Implementation of High-Performance ECC Processor with Unified Point Addition on Twisted Edwards Curve. Sensors 2022, 20, 5148. [Google Scholar] [CrossRef] [PubMed]
- Awaludin, A.M.; Larasati, H.T.; Kim, H. High-Speed and Unified ECC Processor for Generic Weierstrass Curves over GF(p) on FPGA. Sensors 2021, 21, 1451. [Google Scholar] [CrossRef] [PubMed]
- Imran, M.; Abideen, Z.U.; Pagliarini, S. An Open-source Library of Large Integer Polynomial Multipliers. In Proceedings of the 2021 24th International Symposium on Design and Diagnostics of Electronic Circuits & Systems (DDECS), Vienna, Austria, 7–9 April 2021; pp. 145–150. [Google Scholar] [CrossRef]
- Imran, M.; ul Abideen, Z.; Pagliarini, S. A Versatile and Flexible Multiplier Generator for Large Integer Polynomials. J. Hardw. Syst. Secur. 2023. [Google Scholar] [CrossRef]
- Itoh, T.; Tsujii, S. A fast algorithm for computing multiplicative inverses in GF (2m) using normal bases. Inf. Comput. 1988, 78, 171–177. [Google Scholar] [CrossRef]
- XILINX. 7 Series FPGAs Data Sheet: Overview. Available online: https://docs.xilinx.com/v/u/en-US/ds180_7Series_Overview (accessed on 3 August 2023).
m | Area Utilization | Results for Time | PM Algorithm | ||||
---|---|---|---|---|---|---|---|
Slices | LUTs | FFs | TCC | Freq (MHz) | Latency (μs) | ||
163 | 1479 | 3862 | 1749 | 2653 | 371 | 7.15 | Montgomery (Algorithm 1) |
233 | 1998 | 6079 | 2431 | 3775 | 356 | 10.60 | |
283 | 2573 | 6341 | 2925 | 4575 | 345 | 13.26 | |
409 | 3271 | 9583 | 3981 | 6773 | 323 | 20.96 | |
571 | 4469 | 11871 | 5692 | 9187 | 302 | 30.42 |
Ref. # | Algorithm (or) PM Method | Device | Slices | LUTs Cycles | Clock | Freq MHz | Latency (μs) | Thrpt (Kbps) | T/Area | m |
---|---|---|---|---|---|---|---|---|---|---|
Area-optimized PM accelerators | ||||||||||
[12] | Montgomery Ladder | Virtex-5 | 473 | – | – | 359 | 110 | 9.09 | 19.21 | 163 |
[12] | Binary | Virtex-5 | 420 | – | – | 362 | 830 | 1.20 | 2.85 | 163 |
[12] | Frobenius Map | Virtex-5 | 710 | – | – | 165 | 300 | 3.33 | 4.69 | 163 |
[13] | Lopez-Dahab | Virtex-7 | 3657 | 10,128 | 3426 | 135 | 25 | 40 | 10.93 | 163 |
[15] | Montgomery Ladder | Artix-7 | 442 | – | 1,553,782 | 190 | 8177 | 0.12 | 0.27 | 233 |
[16] | Frobenius Map | Artix-7 | – | 8577 | 55,068 | 150 | 367 | 2.72 | 0.31 | 163 |
Throughput and area-optimized PM architectures | ||||||||||
[17] | Montgomery Ladder | Virtex-7 | 2207 | 9965 | 3960 | 369 | 10 | 100 | 45.31 | 163 |
[17] | Montgomery Ladder | Virtex-7 | 5120 | 18,953 | 5634 | 357 | 15 | 66.66 | 13.01 | 233 |
[17] | Montgomery Ladder | Virtex-7 | 5207 | 20,202 | 6850 | 337 | 20 | 50 | 9.60 | 283 |
[18] | Montgomery Ladder | Virtex-7 | 1529 | 4162 | 3798 | 383 | 9 | 111.11 | 72.66 | 163 |
[18] | Montgomery Ladder | Virtex-7 | 2048 | 6407 | 5402 | 379 | 14 | 71.42 | 34.87 | 233 |
[18] | Montgomery Ladder | Virtex-7 | 2623 | 6753 | 6568 | 377 | 17 | 58.82 | 22.42 | 283 |
[18] | Montgomery Ladder | Virtex-7 | 3373 | 10,083 | 9454 | 342 | 27 | 37.03 | 10.97 | 409 |
[18] | Montgomery Ladder | Virtex-7 | 4560 | 12,691 | 12,329 | 340 | 36 | 27.77 | 6.08 | 571 |
Throughput/speed-optimized PM designs | ||||||||||
[14] | Montgomery Ladder | Virtex-5 | 6150 | 22,936 | 1371 | 250 | 5 | 200 | 32.52 | 163 |
[14] | Montgomery Ladder | Virtex-5 | 8134 | 28,683 | 2889 | 145 | 20 | 50 | 6.14 | 233 |
[14] | Montgomery Ladder | Virtex-5 | 7069 | 25,030 | 6347 | 189 | 33 | 30.30 | 4.28 | 283 |
[14] | Montgomery Ladder | Virtex-5 | 10,236 | 28,503 | 16,541 | 161 | 102 | 9.80 | 0.95 | 409 |
[14] | Montgomery Ladder | Virtex-5 | 11,640 | 32,432 | 44,047 | 127 | 348 | 2.87 | 0.24 | 571 |
[19] | Double and Add | Virtex-7 | – | 50,789 | 65,783 | 91 | 722 | 1.38 | 0.02 | 256 |
[20] | Montgomery Ladder | Virtex-7 | 2234 | 5478 | – | 170 | 352 | 2.84 | 1.27 | E25519 |
[21] | NAF | Virtex-7 | – | 46.63k | 7.955k | 40 | 200 | 5 | 0.10 | 256 |
[22] | Double and Add | Virtex-7 | 6543 | 25,898 | 198,715 | 104 | 1903 | 0.52 | 0.07 | 256 |
[23] | Montgomery Ladder | Virtex-7 | 6909 | – | 32.3k | 232 | 139 | 7.19 | 1.04 | 256 |
TW | Montgomery Ladder | Virtex-5 | 1773 | 4359 | 2653 | 339 | 7.82 | 127.87 | 72.12 | 163 |
2291 | 6581 | 3775 | 321 | 11.76 | 85.03 | 37.11 | 233 | |||
2869 | 6896 | 4575 | 303 | 15.09 | 66.26 | 23.09 | 283 | |||
3543 | 10,081 | 6773 | 287 | 23.59 | 42.39 | 11.96 | 409 | |||
4758 | 12,269 | 9187 | 269 | 34.15 | 29.82 | 4.31 | 571 | |||
Virtex-7 | 1479 | 3862 | 2653 | 371 | 7.15 | 139.86 | 94.56 | 163 | ||
1998 | 6079 | 3775 | 356 | 10.60 | 94.33 | 47.21 | 233 | |||
2573 | 6341 | 4575 | 345 | 13.26 | 75.41 | 29.30 | 283 | |||
3271 | 9583 | 6773 | 323 | 20.96 | 47.70 | 14.58 | 409 | |||
4469 | 11,871 | 9187 | 302 | 30.42 | 32.87 | 7.35 | 571 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Aljaedi, A.; Rashid, M.; Jamal, S.S.; Alharbi, A.R.; Alotaibi, M. An Optimized Flexible Accelerator for Elliptic Curve Point Multiplication over NIST Binary Fields. Appl. Sci. 2023, 13, 10882. https://doi.org/10.3390/app131910882
Aljaedi A, Rashid M, Jamal SS, Alharbi AR, Alotaibi M. An Optimized Flexible Accelerator for Elliptic Curve Point Multiplication over NIST Binary Fields. Applied Sciences. 2023; 13(19):10882. https://doi.org/10.3390/app131910882
Chicago/Turabian StyleAljaedi, Amer, Muhammad Rashid, Sajjad Shaukat Jamal, Adel R. Alharbi, and Mohammed Alotaibi. 2023. "An Optimized Flexible Accelerator for Elliptic Curve Point Multiplication over NIST Binary Fields" Applied Sciences 13, no. 19: 10882. https://doi.org/10.3390/app131910882
APA StyleAljaedi, A., Rashid, M., Jamal, S. S., Alharbi, A. R., & Alotaibi, M. (2023). An Optimized Flexible Accelerator for Elliptic Curve Point Multiplication over NIST Binary Fields. Applied Sciences, 13(19), 10882. https://doi.org/10.3390/app131910882