Low-Cost, Low-Power FPGA Implementation of ED25519 and CURVE25519 Point Multiplication
Abstract
:1. Introduction
- ,
- ,
- .
2. Background
3. Hardware Design
3.1. Interleaved Modular Multiplication Algorithm
Algorithm 1: Basic interleaved modular multiplication algorithm [16] |
Algorithm 2: New Radix-8 Interleaved Modular multiplication algorithm |
3.2. Modular Addition and Subtraction
3.3. ED25519 and CURVE25519 Point Multiplication Core
3.4. Modular Inversion
4. Results and Comparison
5. Side-Channel Attacks Considerations
6. Conclusions
Author Contributions
Funding
Conflicts of Interest
Appendix A
References
- Edwards, H. A normal form for elliptic curves. Bull. Am. Math. Soc. 2007, 44, 393–422. [Google Scholar] [CrossRef] [Green Version]
- Bernstein, D.; Lange, T. Faster addition and doubling on elliptic curves. In Proceedings of the International Conference on the Theory and Application of Cryptology and Information Security 2007, Kuching, Malaysia, 2–6 December 2007; pp. 29–50. [Google Scholar]
- Bernstein, D.; Birkner, P.; Joye, M.; Lange, T.; Peters, C. Twisted Edwards Curves. In International Conference on Cryptology in Africa; Springer: Berlin/Heidelberg, Germany, 2008; pp. 389–405. [Google Scholar]
- Montgomery, P.L. Speeding the Pollard and Elliptic Curve Methods of Factorization. Math. Comput. 1987, 48, 243–264. [Google Scholar] [CrossRef]
- Explicit Formulas Database. Available online: www.hyperelliptic.org (accessed on 12 September 2019).
- Bernstein, D.; Lange, T.; Farashahi, R.R. Binary Edwards Curves. In Proceedings of the International Workshop on Cryptographic Hardware and Embedded Systems, Washington, DC, USA, 10–13 August 2008; pp. 244–265. [Google Scholar]
- ED25519: High-Speed High-Security Signatures. Available online: https://ED25519.cr.yp.to/ (accessed on 13 September 2019).
- Bernstein, D. CURVE25519: New Diffie-Hellman speed records. In International Workshop on Public Key Cryptography; Springer: Berlin/Heidelberg, Germany, 2006; pp. 207–228. [Google Scholar]
- Costello, B.; Smith, B. Montgomery Curves and Their Arithmetic. J. Cryptogr. Eng. 2018, 8, 227–240. [Google Scholar] [CrossRef]
- Sasdrich, P.; Güneysu, T. Efficient elliptic-curve cryptography using CURVE25519 on reconfigurable Devices. In International Symposium on Applied Reconfigurable Computing; Springer: Cham, Switzerland, 2014; pp. 25–36. [Google Scholar]
- Koppermann, P.; Santis, F.; Heyszl, J.; Sigl, G. X25519 Hardware Implementation for Low-Latency Applications. In Proceedings of the 2016 Euromicro Conference on Digital System Design (DSD), Limassol, Cyprus, 31 August–2 September 2016; pp. 99–106. [Google Scholar]
- Koppermann, P.; Santis, F.; Heyszl, J.; Sigl, G. Low-latency X25519 hardware implementation: Breaking the 100 microseconds barrier. Microprocess. Microsyst. 2017, 52, 491–497. [Google Scholar] [CrossRef]
- Turan, F.; Verbauwhede, I. Compact and Flexible FPGA Implementation of ED25519 and X25519. ACM Trans. Embed. Comput. Syst. 2019, 18, 1–21. [Google Scholar] [CrossRef]
- Schütze, T. Automotive security: Cryptography for car2x communication. In Proceedings of the 2011 Embedded World Conference, Nürnberg, Germany, 1–3 March 2011; Volume 3, pp. 4–24. [Google Scholar]
- Hankerson, D.; Vanstone, S. Guide to Elliptic Curve Cryptography, 1st ed.; Springer: Berlin, Germany, 2004. [Google Scholar]
- Kornerup, P. High-radix modular multiplication for cryptosystems. In Proceedings of the IEEE Symposium on Computer Arithmetic, Windsor, ON, Canada, 29 June–2 July 1993. [Google Scholar] [CrossRef]
- Bunimov, V.; Schimmler, M. Area and Time Efficient Modular Multiplication of Large Integers. In Proceedings of the IEEE International Conference on Application-Specific Systems, Architectures, and Processors (ASAP 2003), The Hague, The Netherlands, 24–26 June 2003. [Google Scholar]
- Takagi, N. A Radix-4 Modular Multiplication Hardware Algorithm for Modular Exponentiation. IEEE Trans. Comput. 1992, 41, 949–956. [Google Scholar] [CrossRef]
- Nassar, M.A.; El-Sayed, L.A. Efficient Interleaved Modular Multiplication Based on Sign Detection. In Proceedings of the 2015 IEEE/ACS 12th International Conference of Computer Systems and Applications (AICCSA), Marrakech, Morocco, 17–20 November 2015. [Google Scholar]
- Javeed, K.; Wang, X. Radix-4 and radix-8 booth encoded interleaved modular multipliers over general Fp. In Proceedings of the 2014 24th International Conference on Field Programmable Logic and Applications (FPL), Munich, Germany, 2–4 September 2014. [Google Scholar]
- Rahimzadeh, L.; Eshghi, M.; Timarchi, S. Radix-4 implementation of redundant interleaved modular multiplication on FPGA. In Proceedings of the 2014 22nd Iranian Conference on Electrical Engineering (ICEE), Tehran, Iran, 20–22 May 2014; pp. 523–526. [Google Scholar]
- Kaliski, B.S.; Koc, C.K.; Paar, C. The Montgomery Powering Ladder. In International Workshop on Cryptographic Hardware and Embedded Systems; Springer: Berlin/Heidelberg, Germany, 2003. [Google Scholar]
- Okeya, K.; Miyazaki, K.; Sakurai, K. A Fast Scalar Multiplication Method with Randomized Projective Coordinates on a Montgomery-Form Elliptic curve Secure against Side Channel Attacks. In International Conference on Information Security and Cryptology; Springer: Berlin/Heidelberg, Germany, 2001; pp. 428–439. [Google Scholar]
Design | Platform | Area | Latency @Clk Freq | Clock Cycles | Power |
---|---|---|---|---|---|
Slices | ns @ MHz | (Static/Dynamic) mW | |||
Ours | VIRTEX 7 | 983 | 180 @ 550 | 95 | 178/57 |
Ours | ZYNQ7000 | 983 | 180 @ 550 | 95 | 101/51 |
[21] | VIRTEX 5 | 1042 | 303 @ 422 | 128 | 1808/503 1 |
[19] EIMM | VIRTEX 4 | 2559 | 1171.66 @ 437.12 | 512 | 1828/728 1 |
[20] R4 MIM | VIRTEX 6 | 4630 | 1487 @ 86.6 | 129 | 1990/419 1 |
[20] R8 MIM | VIRTEX 6 | 5657 | 930 @ 71 | 66 | 1996/450 1 |
Platform | Area | Latency @Clk Freq | Power |
---|---|---|---|
KLUT/FF/DSP/BRAM | ns @ MHz | Static/Dynamic (mW) | |
ED25519 (Double and add Method) | 8.68/3472/0/0 | 627985 @ 137.5 | 104/172 |
ED25519 (NAF Method) | 8.77/3729/0/0 | 543874 @ 137.5 | 105/180 |
CURVE25519 | 7.38/3141/0/0 | 511780 @ 137.5 | 103/145 |
CURVE25519 (using 2 modular mult.) | 12.95/4194/0/0 | 280640 @ 137.5 | 106/236 |
Reference | Area | Latency @Clk Freq | Power | Equivalent Area 2 |
---|---|---|---|---|
KLUT/FF/DSP/BRAM | µs @ MHz | Static/Dynamic (mW) | KLUT/FF/BRAM | |
[10] Single core | 2.783/3592/20/2 | 397 @ 100 | 105/189 1 | 9.683/3592/2 |
[10] Multi core | 34.009/43875/210/2 | 340 @ 200 | 185/1738 1 | 106.459/43875/2 |
[11] | 21.107/26483/260/0 | 118 @ 115 | 150/789 | 45.442/26483/0 |
[12] | 17.94/21107/175/0 | 97 @ 115 | 134/709 1 | 42.275/21107/0 |
[13] (CURVE25519) | 2.707/962/15/0 | 608 @ 105 | 104/141 1 | 7.875/962/0 |
[13] (ED25519) | 11.15/2656/16/0 | 1467 @ 82 | 107/298 1 | 16.670/2656/0 |
© 2019 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 (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Mehrabi, M.A.; Doche, C. Low-Cost, Low-Power FPGA Implementation of ED25519 and CURVE25519 Point Multiplication. Information 2019, 10, 285. https://doi.org/10.3390/info10090285
Mehrabi MA, Doche C. Low-Cost, Low-Power FPGA Implementation of ED25519 and CURVE25519 Point Multiplication. Information. 2019; 10(9):285. https://doi.org/10.3390/info10090285
Chicago/Turabian StyleMehrabi, Mohamad Ali, and Christophe Doche. 2019. "Low-Cost, Low-Power FPGA Implementation of ED25519 and CURVE25519 Point Multiplication" Information 10, no. 9: 285. https://doi.org/10.3390/info10090285
APA StyleMehrabi, M. A., & Doche, C. (2019). Low-Cost, Low-Power FPGA Implementation of ED25519 and CURVE25519 Point Multiplication. Information, 10(9), 285. https://doi.org/10.3390/info10090285