Design and Implementation of High-Performance ECC Processor with Unified Point Addition on Twisted Edwards Curve
<p>Hierarchy of elliptic curve cryptography.</p> "> Figure 2
<p>Proposed modular multiplier.</p> "> Figure 3
<p>Proposed hardware architecture for modular inversion.</p> "> Figure 4
<p>Proposed hardware architecture for unified PA.</p> "> Figure 5
<p>Simplistic representation of SPA in conventional DAA ECPM.</p> "> Figure 6
<p>Simplistic representation of SPA in proposed unified PA-based ECPM.</p> "> Figure 7
<p>Proposed hardware architecture for ECPM.</p> "> Figure 8
<p>Proposed ECC processor for public-key generation.</p> "> Figure 9
<p>Performance comparison in terms of AT product.</p> "> Figure 10
<p>Performance comparison in terms of throughput per slice.</p> ">
Abstract
:1. Introduction
- An efficient radix-4 interleaved modular multiplier is proposed to perform 256-bit modular multiplication over a prime field.
- A novel hardware architecture for strongly unified PA on the Edwards25519 curve is proposed.
- An efficient ECPM scheme is proposed to perform high-speed point multiplication on the Edwards25519 curve. The same module is used for PA and PD to prevent probable SPA attacks. The area required by the scheme is significantly lower than other available designs for ECPM.
- ECPM is performed in projective coordinates to avoid the most expensive (in terms of computational complexity) modular division operation. In addition, a projective-to-affine (P2A) converter is proposed to transform the projective output into its affine form. This type of transformation reduces the computation time additionally required for the modular division operation performed in affine coordinate-based PA.
- An ECC processor is designed by combining the ECPM scheme and the P2A converter in such a manner as to reduce the number of modular inversion operations required. The area-delay product of the proposed ECC processor is considerably small that ensures a better performance of our processor.
2. Mathematical Background
2.1. Twisted Edwards Curve
2.2. Unified Point-Addition Formula
3. Proposed Hardware Architectures
3.1. Modular Multiplication
Algorithm 1 Proposed Radix-4 Interleaved Modular Multiplication |
|
3.2. Modular Inversion
Algorithm 2 Binary Modular Inversion [2] |
|
3.3. Unified Point Addition
3.4. Elliptic Curve Point Multiplication
Algorithm 3 DAA ECPM without Unified PA [2] |
|
Algorithm 4 Proposed Unified PA-based ECPM |
|
3.5. Proposed ECC Processor
4. Implementation Results
- Platform 1: Virtex-7 (XC7VX690T)
- Platform 2: Virtex-6 (XC6VHX380T)
- Design Goal: Balanced
- Design Strategy: Xilinx Default
- Optimization Goal: Speed
- Optimization Effort: Normal
5. Performance Comparison
6. Conclusions
Author Contributions
Funding
Acknowledgments
Conflicts of Interest
References
- Ding, S.; Li, C.; Li, H. A novel efficient pairing-free CP-ABE based on elliptic curve cryptography for IoT. IEEE Access 2018, 6, 27336–27345. [Google Scholar] [CrossRef]
- Hankerson, D.; Menezes, A.; Vanstone, S. Guide to Elliptic Curve Cryptography; Springe: New York, NY, USA, 2004. [Google Scholar]
- ElGamal, T. A public key cryptosystem and a signature scheme based on discrete logarithms. IEEE Trans. Inf. Theory 1985, 31, 469–472. [Google Scholar] [CrossRef]
- 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]
- Diffie, W.; Hellman, M. New directions in cryptography. IEEE Trans. Inf. Theory 1976, 22, 644–654. [Google Scholar] [CrossRef] [Green Version]
- Liu, Z.; Huang, X.; Hu, Z.; Khan, M.K.; Seo, H.; Zhou, L. On emerging family of elliptic curves to secure internet of things: ECC comes of age. IEEE Trans. Dependable Secur. Comput. 2017, 14, 237–248. [Google Scholar] [CrossRef]
- Challa, S.; Wazid, M.; Das, A.K.; Kumar, N.; Reddy, A.G.; Yoon, E.-J.; Yoo, K.-Y. Secure signature-based authenticated key establishment scheme for future IoT applications. IEEE Access 2017, 5, 3028–3043. [Google Scholar] [CrossRef]
- Lara-Nino, C.A.; Diaz-Perez, A.; Morales-Sandoval, M. Elliptic curve lightweight cryptography: A survey. IEEE Access 2018, 6, 72514–72550. [Google Scholar] [CrossRef]
- Lee, Y.; Sakiyama, K.; Batina, L. Elliptic-curve-based security processor for RFID. IEEE Trans. Comput. 2008, 57, 1514–1527. [Google Scholar] [CrossRef] [Green Version]
- Liao, Y.; Hsiao, C. A secure ECC-based RFID authentication scheme integrated with ID-verifier transfer protocol. Ad Hoc Netw. 2014, 18, 133–146. [Google Scholar] [CrossRef]
- Chou, J. An efficient mutual authentication RFID scheme based on elliptic curve cryptography. J. Supercomput. 2014, 70, 75–94. [Google Scholar] [CrossRef]
- Zhang, Z.; Qi, Q. An efficient RFID authentication protocol to enhance patient medication safety using elliptic curve cryptography. J. Med. Syst. 2014, 38, 5. [Google Scholar] [CrossRef] [PubMed]
- Zhao, Z. A secure RFID authentication protocol for healthcare environments using elliptic curve cryptosystem. J. Med. Syst. 2014, 38, 5. [Google Scholar] [CrossRef] [PubMed]
- He, D.; Zeadally, S. An analysis of RFID authentication schemes for internet of things in healthcare environment using elliptic curve cryptography. IEEE Internet Things J. 2015, 2, 72–83. [Google Scholar] [CrossRef]
- Bernstein, D.J.; Duif, N.; Lange, T.; Schwabe, P.; Yang, B.Y. High-speed high-security signatures. J. Cryptogr. Eng. 2012, 2, 77–89. [Google Scholar] [CrossRef] [Green Version]
- Liusvaara, I.; Josefsson, S. Edwards Curve Digital Signature Algorithm (EdDSA). In Internet-Draft: Draft-irtf-cfrg-eddsa-05, Internet Engineering Task Force. 2017. Available online: https://tools.ietf.org/html/rfc8032 (accessed on 1 January 2017).
- Liu, J.; Zhang, Z.; Chen, X.; Kwak, K. Certificateless remote anonymous authentication schemes for wireless body area networks. IEEE Trans. Parallel Distrib. Syst. 2014, 25, 332–342. [Google Scholar] [CrossRef]
- He, D.; Zeadally, S.; Kumar, N.; Lee, J.-H. Anonymous authentication for wireless body area networks with provable security. IEEE Syst. J. 2017, 11, 2590–2601. [Google Scholar] [CrossRef]
- Saeed, M.E.S.; Liu, Q.-Y.; Tian, G.; Gao, B.; Li, F. Remote authentication schemes for wireless body area networks based on the Internet of Things. IEEE Internet Things J. 2018, 5, 4926–4944. [Google Scholar] [CrossRef]
- Keoh, S.L.; Kumar, S.S.; Tschofenig, H. Securing the Internet of Things: A standardization perspective. IEEE Internet Things J. 2014, 1, 265–275. [Google Scholar] [CrossRef]
- Liu, Z.; Grosschadl, J.; Hu, Z.; Jarvinen, K.; Wang, H.; Verbauwhede, I. Elliptic curve cryptography with efficiently computable endomorphisms and its hardware implementations for the Internet of Things. IEEE Trans. Comput. 2017, 66, 773–785. [Google Scholar] [CrossRef]
- Banerjee, U.; Wright, A.; Juvekar, C.; Waller, M.; Arvind, A.; Chandrakasan, A.P. An Energy-Efficient Reconfigurable DTLS Cryptographic Engine for Securing Internet-of-Things Applications. IEEE J. Comput. 2019, 54, 2339–2352. [Google Scholar] [CrossRef] [Green Version]
- Islam, M.M.; Hossain, M.S.; Hasan, M.K.; Shahjalal, M.; Jang, Y.M. FPGA implementation of high-speed area-efficient processor for elliptic curve point multiplication over prime field. IEEE Access 2019, 7, 178811–178826. [Google Scholar] [CrossRef]
- Brier, E.; Joye, M. Weierstraß elliptic curves and side-channel attacks. In Public Key Cryptography (LNCS); Springer: Heidelberg, Germany, 2002; Volume 2274, pp. 335–345. [Google Scholar]
- Joye, M. Elliptic curves and side-channel analysis. ST J. Syst. Res. 2003, 4, 17–21. [Google Scholar]
- Edward, H.M. A normal form for elliptic curves. Bull. Am. Math. Soc. 2007, 44, 393–422. [Google Scholar] [CrossRef] [Green Version]
- Bernstein, D.J.; Lange, T. Faster addition and doubling on elliptic curves. In Proceedings of the Advances in Cryptology (LNCS); Springer: Heidelberg, Germany, 2007; Volume 4833, pp. 29–50. [Google Scholar]
- Hisil, H.; Wong, K.K.H.; Carter, G.; Dawson, E. Twisted edwards curves revisited. In Proceedings of the Advances in Cryptology (LNCS); Springer: Heidelberg, Germany, 2008; Volume 5350, pp. 326–343. [Google Scholar]
- Bernstein, D.J.; Birkner, P.; Lange, T.; Peters, C. Twisted edwards curves. In Proceedings of the Advances in Cryptology (LNCS); Springer: Heidelberg, Germany, 2008; Volume 5023, pp. 389–405. [Google Scholar]
- Bernstein, D.J. Curve25519: New Diffie-Hellman speed records. In Proceedings of the Public Key Cryptography (LNCS); Springer: Heidelberg, Germany, 2006; Volume 3958, pp. 207–228. [Google Scholar]
- Baldwin, B.; Moloney, R.; Byrne, A.; McGuire, G.; Marnane, W.P. A hardware analysis of twisted Edwards curves for an elliptic curve cryptosystem. In Proceedings of the Reconfigurable Computing: Architectures Tools and Applications (LNCS); Springer: Heidelberg, Germany, 2009; Volume 5453, pp. 355–361. [Google Scholar]
- Abdulrahman, E.A.H.; Masoleh, A.R. New regular radix-8 scheme for elliptic curve scalar multiplication without pre-computation. IEEE Trans. Comput. 2015, 64, 438–451. [Google Scholar] [CrossRef]
- Islam, M.M.; Hossain, M.S.; Shahjalal, M.; Hasan, M.K.; Jang, Y.M. Area-time efficient hardware implementation of modular multiplication for elliptic curve cryptography. IEEE Access 2020, 8, 73898–73906. [Google Scholar] [CrossRef]
- Asif, S.; Hossain, M.S.; Kong, Y. High-throughput multi-key elliptic curve cryptosystem based on residue number system. IET Comput. Digit. Tech. 2017, 11, 165–172. [Google Scholar] [CrossRef]
- Hossain, M.S.; Kong, Y.; Saeedi, E.; Vayalil, N. High-performance elliptic curve cryptography processor over NIST prime fields. IET Comput. Digit. Tech. 2016, 11, 33–42. [Google Scholar] [CrossRef]
- Shah, Y.A.; Javeed, K.; Azmat, S.; Wang, X. Redundant signed digit based high-speed elliptic curve cryptographic processor. J. Circuits Syst. Comput. 2018, 28, 1950081. [Google Scholar] [CrossRef]
- Marzouqi, H.; Al-Qutayri, M.; Salah, K.; Schinianakis, D.; Stouraitis, T. A high-speed FPGA implementation of an RSD-based ECC processor. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 2016, 24, 151–164. [Google Scholar] [CrossRef]
- Marzouqi, H.; Al-Qutayri, M.; Salah, K. An FPGA implementation of NIST 256 prime field ECC processor. In Proceedings of the IEEE International Conference on Electronics, Circuits, and Systems (ICECS), Abu Dhabi, UAE, 8–11 December 2013; pp. 493–496. [Google Scholar]
- Liu, Z.; Liu, D.; Zou, X. An efficient and flexible hardware implementation of the dual-field elliptic curve cryptographic processor. IEEE Trans. Ind. Electron. 2017, 64, 2353–2362. [Google Scholar] [CrossRef]
- Hu, X.; Zheng, X.; Zhang, S.; Cai, S.; Xiong, X. A low hardware consumption elliptic curve cryptographic architecture over GF(p) in embedded application. Electronics 2018, 7, 104. [Google Scholar] [CrossRef] [Green Version]
- Javeed, K.; Wang, X. Low latency flexible FPGA implementation of point multiplication on elliptic curves over GF(p). Int. J. Circuit Theory Appl. 2016, 45, 214–228. [Google Scholar] [CrossRef]
- Javeed, K.; Wang, X. FPGA based high-speed SPA-resistant elliptic curve scalar multiplier architecture. Int. J. Reconfigurable Comput. 2016, 2016, 1–10. [Google Scholar] [CrossRef] [Green Version]
- Javeed, K.; Wang, X.; Scott, M. High performance hardware support for elliptic curve cryptography over general prime field. Microprocess. Microsyst. 2017, 51, 331–342. [Google Scholar] [CrossRef]
- Ghosh, S.; Alam, M.; Chowdhury, D.R.; Gupta, I.S. Parallel crypto-devices for GF(p) elliptic curve multiplication resistant against side-channel attacks. Comput. Electr. Eng. 2009, 35, 329–338. [Google Scholar] [CrossRef]
- Ananyi, K.; Alrimeih, H.; Rakhmatov, D. Flexible hardware processor for elliptic curve cryptography over NIST prime fields. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 2009, 17, 1099–1112. [Google Scholar] [CrossRef]
- Loi, K.C.C.; Ko, S.B. Scalable elliptic curve cryptosystem FPGA processor for NIST prime curves. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 2015, 23, 2753–2756. [Google Scholar] [CrossRef]
- Sakiyama, K.; Mentas, N.; Batina, L.; Preneel, B.; Verbauwhede, I. Reconfigurable modular arithmetic logic unit for high-performance public-key cryptosystems. In Proceedings of the Reconfigurable Computing: Architectures and Applications (LNCS); Springer: Heidelberg, Germany, 2006; Volume 3985, pp. 347–357. [Google Scholar]
- Ghosh, S.; Mukhopadhyay, D.; Roychowdhury, D. Petrel: Power and timing attack resistant elliptic curve scalar multiplier based on programmable GF(p) arithmetic unit. IEEE Trans. Circuits Syst. I-Regul. Pap. 2011, 58, 1798–1812. [Google Scholar] [CrossRef]
- Lee, J.-W.; Chung, S.C.; Chang, H.C.; Lee, C.Y. Efficient power-analysis-resistant dual-field elliptic curve cryptographic processor using heterogeneous dual-processing-element architecture. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 2014, 22, 49–61. [Google Scholar] [CrossRef]
- Mcivor, C.J.; Mcloone, M.; Mccanny, J.V. Hardware elliptic curve cryptographic processor over GF(p). IEEE Trans. Circuits Syst. I-Fundam. Theor. Appl. 2006, 53, 1946–1957. [Google Scholar] [CrossRef]
- Lai, J.Y.; Huang, C.-T. High-throughput cost-effective dual-field processors and the design framework for elliptic curve cryptography. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 2008, 16, 1567–1580. [Google Scholar]
- Schinianakis, D.M.; Fournaris, A.P.L.; Michail, H.E.; Kakarountas, A.P.; Stouraitis, T. An RNS implementation of an Fp elliptic curve point multiplier. IEEE Tran. Circuits Syst. I-Regul. Pap. 2009, 56, 1202–1213. [Google Scholar] [CrossRef]
- Esmaeildoust, M.; Schinianakis, D.; Javashi, H.; Stouraitis, T.; Navi, K. Efficient RNS implementation of elliptic curve point multiplication over GF(p). IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 2013, 21, 1545–1549. [Google Scholar] [CrossRef]
Operation | Platform | CCs | Area (Slices) | Area (LUTs) | Maximum Frequency (MHz) | Time (s) | Throughput (Mbps) |
---|---|---|---|---|---|---|---|
Modular multiplication | Virtex-7 | 129 | 416 | 1451 | 104.39 | 1.24 | 207.2 |
Virtex-6 | 129 | 420 | 1460 | 93.23 | 1.38 | 185 | |
Modular inversion | Virtex-7 | 320 | 1197 | 4155 | 110.65 | 2.89 | 83.5 |
Virtex-6 | 320 | 1209 | 4156 | 97.94 | 3.27 | 74.6 | |
Unified PA | Virtex-7 | 517 | 4159 | 15,594 | 104.39 | 4.95 | 51.7 |
Virtex-6 | 517 | 4292 | 15,593 | 93.23 | 5.55 | 46.2 | |
ECPM (projective) | Virtex-7 | 198,266 | 5457 | 21,194 | 104.39 | 1899 | |
Virtex-6 | 198,266 | 5541 | 21,224 | 93.23 | 2126 | ||
Public-key generation | Virtex-7 | 198,715 | 6543 | 25,898 | 104.39 | 1903 | |
Virtex-6 | 198,715 | 6579 | 25,968 | 93.23 | 2131 |
Design | Platform | Area (Slices) | CCs | Frequency (MHz) | Time (ms) | Throughput (kbps) | Area × Time |
---|---|---|---|---|---|---|---|
Ours (a) | Virtex-7 | 6.5k | 198.7 | 104.39 | 1.9 | 134.49 | 12.35 |
Ours (b) | Virtex-6 | 6.6k | 198.7 | 93.23 | 2.13 | 120.12 | 14.05 |
[34] | Virtex-7 | 24.2k, 2.8k DSPs | 215.9 | 72.9 | 2.96 | 1816.2 | 71.63 |
[35] | Kintex-7 | 11.3k | 397.3 | 121.5 | 3.27 | 78.28 | 36.95 |
[36] | Virtex-6 | 65.6k | 153.2 | 327 | 0.47 | 546.42 | 30.83 |
[37] | Virtex-5 | 8.7k | 361.6 | 160 | 2.26 | 113.27 | 19.66 |
[38] | Virtex-5 | 10.2k | 442.2 | 66.7 | 6.63 | 38.61 | 67.63 |
[39] | Virtex-4 | 12k | 459.9 | 36.5 | 12.6 | 20.32 | 151.20 |
[40] | Virtex-4 | 9.4k, 14 DSPs | 610 | 20.44 | 29.84 | 8.58 | 280.50 |
[41] | Virtex-4 | 35.7k | 207.1 | 70 | 2.96 | 86.53 | 105.67 |
[42] | Virtex-4 | 13.2k | 200 | 40 | 5 | 51 | 66.00 |
[43] | Virtex-4 | 20.6k | 191.6 | 49 | 3.91 | 65.47 | 80.55 |
[44] | Virtex-4 | 20.1k | 331.1 | 43 | 7.7 | 33.25 | 154.77 |
[45] | Virtex-4 | 20.8k, 32 DSPs | 414 | 60 | 6.9 | 37.10 | 143.52 |
[46] | Virtex-4 | 7k, 8 DSPs | 993.7 | 182 | 5.46 | 46.88 | 38.22 |
[47] | Spartan-3 | 27.6k | 708 | 40 | 17.7 | 14.46 | 488.52 |
[48] | Virtex-II Pro | 12k | 337.7 | 36 | 9.38 | 27.29 | 112.56 |
[49] | Virtex-II Pro | 8.3k | 163.2 | 37 | 4.41 | 58.04 | 36.60 |
[50] | Virtex-II Pro | 15.8k, 256 DSPs | 151.4 | 39.5 | 3.86 | 66.74 | 60.98 |
[51] | Virtex-II Pro | 41.6k | 252.1 | 94.7 | 2.66 | 96.17 | 110.66 |
[52] | Virtex-E | 16.4k | 156.8 | 39.7 | 3.95 | 64.82 | 64.78 |
[53] | Virtex-E | 14.2k | 118.3 | 34.7 | 3.41 | 75.09 | 48.42 |
© 2020 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
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 2020, 20, 5148. https://doi.org/10.3390/s20185148
Islam MM, Hossain MS, Hasan MK, Shahjalal M, Jang YM. Design and Implementation of High-Performance ECC Processor with Unified Point Addition on Twisted Edwards Curve. Sensors. 2020; 20(18):5148. https://doi.org/10.3390/s20185148
Chicago/Turabian StyleIslam, Md. Mainul, Md. Selim Hossain, Moh. Khalid Hasan, Md. Shahjalal, and Yeong Min Jang. 2020. "Design and Implementation of High-Performance ECC Processor with Unified Point Addition on Twisted Edwards Curve" Sensors 20, no. 18: 5148. https://doi.org/10.3390/s20185148
APA StyleIslam, M. M., Hossain, M. S., Hasan, M. K., Shahjalal, M., & Jang, Y. M. (2020). Design and Implementation of High-Performance ECC Processor with Unified Point Addition on Twisted Edwards Curve. Sensors, 20(18), 5148. https://doi.org/10.3390/s20185148