Abstract
Elliptic Curve Cryptography is gaining popularity, and optimization opportunities exist on several different levels: algorithm, architecture, and/or implementation. To support a wide variety of curves and at the same time resist timing/power-based side-channel attacks, our scalar multiplication is implemented using the Co-Z ladder due to Hutter, Joye, and Sierra. We analyze the parallelism of the Co-Z ladder and show that a 12-core (though inefficient) system can complete a ladder step with the fastest speed. We also combine optimizations at every level in an efficient multi-core FPGA implementation. The size of the prime modulus can also be changed easily, for which we have implemented and tested up to 528-bits used in the NIST P-521 curve. Based on this building block, we have developed a multi-core architecture that supports multiple parallel modular additions, multiplications, and inverses.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Koblitz, N.: Ellptic curve cryptosystems. Math. Comput. 48(177), 203–209 (1987)
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). doi:10.1007/3-540-39799-X_31
Bernstein, D.J., Birkner, P., Joye, M., Lange, T., Peters, C.: Twisted edwards curves. In: Vaudenay, S. (ed.) AFRICACRYPT 2008. LNCS, vol. 5023, pp. 389–405. Springer, Heidelberg (2008). doi:10.1007/978-3-540-68164-9_26
Peter, L.: Montgomery: speeding the pollard and elliptic curve methods of factorization. Math. Comput. 48(177), 243–264 (1987)
Peter, L.: Montgomery: modular multiplication without trial division. Math. Comput. 44(170), 519–521 (1985)
Land, I., Kenny, R., Brown, L., Pelt, R.: Shifting from software to hardware for network security, White Paper. Altera, February 2016. https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/wp/wp-01261-shifting-from-software-to-hardware-for-network-security.pdf
Zynq-7000 All Programmable SoCs Product Tables and Product Selection Guide. Xilinx (2015). http://www.xilinx.com/support/documentation/selection-guides/zynq-7000-product-selection-guide.pdf
Hutter, M., Joye, M., Sierra, Y.: Memory-constrained implementations of elliptic curve cryptography in Co-Z coordinate representation. In: Nitaj, A., Pointcheval, D. (eds.) AFRICACRYPT 2011. LNCS, vol. 6737, pp. 170–187. Springer, Heidelberg (2011). doi:10.1007/978-3-642-21969-6_11
Cohen, H., Miyaji, A., Ono, T.: Efficient elliptic curve exponentiation using mixed coordinates. In: Ohta, K., Pei, D. (eds.) ASIACRYPT 1998. LNCS, vol. 1514, pp. 51–65. Springer, Heidelberg (1998). doi:10.1007/3-540-49649-1_6
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). doi:10.1007/3-540-68697-5_9
Coron, J.-S.: Resistance against differential power analysis for elliptic curve cryptosystems. In: Koç, Ç.K., Paar, C. (eds.) CHES 1999. LNCS, vol. 1717, pp. 292–302. Springer, Heidelberg (1999)
Bernstein, D.J., Lange, T.: Explicit-Formulas Database. https://hyperelliptic.org/EFD/
National Institute of Standards and Technology: Digital Signature Standard. FIPS Publication 186-2, February 2000
Brainpool, E.C.C.: ECC brainpool standard curves and curve generation. http://www.ecc-brainpool.org/download/Domain-parameters.pdf
Research, C.: SEC 2: Recommended Elliptic Curve Domain Parameters (2000)
Kwok, Y.-K., Ahmad, I.: Static scheduling algorithms for allocating directed task graphs to multiprocessors. J. ACM CSUR 31(4), 406–471 (1999)
Pedro, M.C., Massolino, L.B., Chaves, R., Mentens, N.: Low Power Montgomery Modular Multiplication on Reconfigurable Systems, Crypto ePrint 2016/280
LaForest, C.E., Gregory Steffan, J.: Efficient multi-ported memories for FPGAs. In: Proceedings of the ACM(SIGDA) FPGA, pp. 41–50 (2010)
Laforest, C.E., Liu, M.G., Rapati, E.R., Steffan, J.G.: Multi-ported memories for FPGAs via XOR. In: Proceedings of the ACM FPGA, pp. 209–218 (2012)
Laforest, C.E., Li, Z., O’rourke, T., Liu, M.G., Steffan, J.G.: Composing multi-ported memories on FPGAs. J. ACM Trans. Reconfig. Technol. Syst. 7(3) (2014). Article 16
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing AG
About this paper
Cite this paper
Peng, BY., Hsu, YC., Chen, YJ., Chueh, DC., Cheng, CM., Yang, BY. (2016). Multi-core FPGA Implementation of ECC with Homogeneous Co-Z Coordinate Representation. In: Foresti, S., Persiano, G. (eds) Cryptology and Network Security. CANS 2016. Lecture Notes in Computer Science(), vol 10052. Springer, Cham. https://doi.org/10.1007/978-3-319-48965-0_42
Download citation
DOI: https://doi.org/10.1007/978-3-319-48965-0_42
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-48964-3
Online ISBN: 978-3-319-48965-0
eBook Packages: Computer ScienceComputer Science (R0)