Abstract
Elliptic curve cryptography (ECC) is one of promising cryptosystems in embedded systems as it provides high security levels with short keys. Scalar multiplication is a dominating and time-consuming process that ensures security in ECC. We implement hardware modules for generic ECC over 256-bit prime fields on field-programmable gate array (FPGA). The key points in our design are (1) secure and exception-free for any scalar with less memory usage, (2) long-bit modular arithmetic modules utilizing today’s advanced and high-performance programmable logic and considering balance between the modules in terms of propagation delay, (3) parallelism extraction inside each elliptic curve point computation as well as between the point computations, and (4) efficient hardware–software co-processing facilitated by application interfaces between a processing core and hardware modules. The evaluation results demonstrate that our design achieves the best performance to existing FPGA designs without using a table for generic ECC.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
Phase Locked Loop (PPL) in the device generates 214.286 MHz by 33.3 MHz \(\times \) 90/14.
- 2.
As ARM processors use relaxed memory models, memory barrier (DMB) instructions must be properly inserted to guarantee access order to the control and status registers.
References
Alrimeih, H., Rakhmatov, D.: Fast and flexible hardware support for ECC over multiple standard prime fields. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 22(12), 2661–2674 (2014)
Bernstein, D.J., Yang, B.-Y.: Fast constant-time GCD computation and modular inversion. IACR Trans. Cryptogr. Hardw. Embedded Syst. 2019(3), 340–398 (2019)
Blake, I., Seroussi, G., Smart, N.: Elliptic Curves in Cryptography. Cambridge University Press, Cambridge (1999)
Dong, X., Zhang, L., Gao, X.: An efficient FPGA implementation of ECC modular inversion over \(F_{256}^{\prime }\). In: Proceedings International Conference on Cryptography, Security and Privacy, pp. 29–33 (2018)
Ghosh, S., Alam, M., Chowdhury, D.R., Guputa, I.S.: Parallel crypto-devices for GF(\(p\)) elliptic curve multiplication resistant against side channel attacks. Comput. Electr. Eng. 35(2), 329–338 (2009)
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. Circ. Syst. 58(8), 1798–1812 (2011)
Guillermin, N.: A high speed coprocessor for elliptic curve scalar multiplications over \(\mathbb{F}_p\). In: Proceedings of International Conference on Cryptographic Hardware and Embedded Systems, pp. 48–64 (2010)
Güneysu, T., Paar, C.: Ultra high performance ECC over NIST primes on commercial FPGAs. In: Oswald, E., Rohatgi, P. (eds.) CHES 2008. LNCS, vol. 5154, pp. 62–78. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-85053-3_5
Hankerson, D., Menezes, A.J., Vanstone, S.: Guide to Elliptic Curve Cryptography. Springer, New York (2004). https://doi.org/10.1007/b97644
Hossain, M.S., Kong, Y.: High-performance FPGA implementation of modular inversion over \(\mathbb{F}_{256}\) for elliptic curve cryptography. In: Proceedings of IEEE International Conference on Data Science and Data Intensive Systems, pp. 169–174 (2015)
Hossain, M.S., Kong, Y., Saeedi, E., Vayalil, N.C.: High-performance elliptic curve cryptography processor over NIST prime fields. IET Comput. Digit. Tech. 11(1), 33–42 (2017)
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 7(7), 13p (2018)
Javeed, K., Wang, X.: FPGA based high speed SPA resistant elliptic curve scalar multiplier architecture. Int. J. Reconfig. Comput. 2016(5), 1–10 (2016)
Javeed, K., Wang, X.: Low latency flexible FPGA implementation of point multiplication on elliptic curves over GF(\(p\)). Int. J. Circuit Theory Appl. 45(2), 214–228 (2016)
Jin, Y., Miyaji, A.: Secure and compact elliptic curve cryptosystems. In: Jang-Jaccard, J., Guo, F. (eds.) ACISP 2019. LNCS, vol. 11547, pp. 639–650. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-21548-4_36
Joye, M.: Highly regular m-Ary powering ladders. In: Jacobson, M.J., Rijmen, V., Safavi-Naini, R. (eds.) SAC 2009. LNCS, vol. 5867, pp. 350–363. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-05445-7_22
Karatsuba, A.A., Ofman, Y.: Multiplication of multidigit numbers on automata. Soviet Phys. Doklady 7(7), 595–596 (1963)
Koblitz, N.: Elliptic curve cryptosystems. Math. Comput. 48, 203–209 (1987)
Kocher, P.C.: Timing attacks on implementations of Diffie-Hellman, RSA, DSS, and other systems. In: Koblitz, N. (ed.) CRYPTO 1996. LNCS, vol. 1109, pp. 104–113. Springer, Heidelberg (1996). https://doi.org/10.1007/3-540-68697-5_9
Kudithi, T., Sakthivel, R.: An efficient hardware implementation of finite field inversion for elliptic curve cryptography. Int. J. Innov. Technol. Explor. Eng. 8(9), 827–932 (2019)
Kudithi, T., Sakthivel, R.: High-performance ECC processor architecture design for IoT security applications. J. Supercomput. 75(1), 447–474 (2019). https://doi.org/10.1007/s11227-018-02740-2
Le, D.-P., Nguyen, B.P.: Fast point quadrupling on elliptic curves. In: Proceedings of Symposium on Information and Communication Technology, pp. 218–222 (2012)
Ma, Y., Liu, Z., Pan, W., Jing, J.: A high-speed elliptic curve cryptographic processor for generic curves over GF(\(p\)). In: Proceedings of International Conference on Selected Areas in Cryptography, pp. 421–437 (2013)
Mamiya, H., Miyaji, A., Morimoto, H.: Secure elliptic curve exponentiation against RPA, ZRA, DPA, and SPA. IEICE Trans. Fundam. Electron. Commun. Comput. Sci. 89-A(8):2207–2215 (2006)
Marzouqi, H., Al-Qutayri, M., Salah, K., Saleh, H.: A 65 nm ASIC based 256 NIST prime field ECC processor. In: Proceedings of IEEE 59th International Midwest Symposium on Circuits and Systems, pp. 1–4 (2016)
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. 24(1), 151–164 (2016)
Menezes, A.J., van Oorschot, P.C., Vanstone, S.A.: Handbook of Applied Cryptography. CRC Press, Boca Raton (1996)
Miller, V.S.: Use of elliptic curves in cryptography. In: Williams, H.C. (ed.) CRYPTO 1985. LNCS, vol. 218, pp. 417–426. Springer, Heidelberg (1986). https://doi.org/10.1007/3-540-39799-X_31
Möller, B.: Parallelizable elliptic curve point multiplication method with resistance against side-channel attacks. In: Chan, A.H., Gligor, V. (eds.) ISC 2002. LNCS, vol. 2433, pp. 402–413. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45811-5_31
Montgomery, P.L.: Modular multiplication without trial division. Math. Comput. 44(170), 519–521 (1985)
Renes, J., Costello, C., Batina, L.: Complete addition formulas for prime order elliptic curves. In: Fischlin, M., Coron, J.-S. (eds.) EUROCRYPT 2016. LNCS, vol. 9665, pp. 403–428. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-49890-3_16
Shylashree, N., Sridhar, V., Patawardhan, D.: FPGA based efficient elliptic curve cryptosystem processor for NIST 256 prime field. In: Proceedings of IEEE Region 10 Conference, pp. 194–199 (2016)
Wu, X., Chouliaras, V., Goodall, R.: An application-specific processor hard macro for real-time control. In: Proceedings of IEEE International SOC Conference, pp. 369–372 (2004)
Xilinx, Inc.: 7 Series FPGAs Data Sheet: Overview, DS180 (v2.6)
Xilinx, Inc.: UltraScale Architecture DSP Slice User Guide, UG579 (v1.10)
Xilinx, Inc.: Vivado Design Suite User Guide, Synthesis UG901 (v2020.1)
Xilinx, Inc.: ZCU104 Evaluation Board User Guide, UG1267 (v1.1)
Xilinx, Inc.: Zynq UltraScale+ MPSoC Data Sheet: Overview, DS891 (v1.8)
Acknowledgments
This work was supported by enPiT (Education Network for Practical Information Technologies) at MEXT, Innovation Platform for Society 5.0 at MEXT, and JSPS KAKENHI Grant Number JP21H03443.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Tanaka, K., Miyaji, A., Jin, Y. (2021). Efficient FPGA Design of Exception-Free Generic Elliptic Curve Cryptosystems. In: Sako, K., Tippenhauer, N.O. (eds) Applied Cryptography and Network Security. ACNS 2021. Lecture Notes in Computer Science(), vol 12726. Springer, Cham. https://doi.org/10.1007/978-3-030-78372-3_15
Download citation
DOI: https://doi.org/10.1007/978-3-030-78372-3_15
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-78371-6
Online ISBN: 978-3-030-78372-3
eBook Packages: Computer ScienceComputer Science (R0)