Abstract
Security threats affecting electronics communications in the current world make necessary the encryption and authentication of every transaction. The increasing levels of security required are leading to an overload of transaction servers due to cryptographic tasks. In this paper, a hardware-implemented coprocessor for Elliptic Curve Cryptography operations is presented. This coprocessor enables the acceleration of secure services and can be implemented in the last generations FPGA, thus allowing to host in the same chip a software secure web/database server and the cryptographic coprocessor. Obtained results show advantages of the proposed solution when compared to software implementations and classical acceleration using graphics processing units. Moreover, the proposed cryptographic coprocessor presents improvements over other hardware implementations when area, performance and scalability are considered. The developed crypto-processor has been implemented in a xc7z020clg484-1 device from Xilinx, taking advantage of the synergy provided by the ARM microprocessors and the programmable logic for hardware implementations included in the device. This design requires only 9852 LUTs, while providing 8930 scalar-point operations per second when operating at 50 MHz, with a power consumption of 0.42 W.





Similar content being viewed by others
References
Stevens M, Bursztein E, Karpman P, Albertini A, Markov Y (2017) The first collision for full SHA-1. https://shattered.it/static/shattered.pdf
Marzouqi H, Al-Qutayri M, Salah K, Schinianakis D, Stouraitis T (2016) A high-speed FPGA implementation of an RSD-based ECC processor. IEEE Trans Very Large Scale Integr (VLSI) Syst 24(1):151–164
Roy DB, Agrawal S, Rebeiro C, Mukhopadhyay D (2016) Accelerating OpenSSL’s ECC with low cost reconfigurable hardware. In: IEEE 2016 International Symposium on Integrated Circuits (ISIC), pp 1–4
Ay AU, Ozturk E, Henriquez FR, Savas E (2016) Design and implementation of a constant-time FPGA accelerator for fast elliptic curve cryptography. In: 2016 International Conference on IEEE ReConFigurable Computing and FPGAs (ReConFig), pp 1–8
Crockett LH, Elliot RA, Enderwitz MA, Stewart RW (2014) The Zynq book: embedded processing with the ARM cortex-A9 on the Xilinx Zynq-7000 all programmable SoC. Strathclyde Academic Media, Glasgow
Lewis D, Chiu G, Chromczak J, Galloway D, Gamsa B, Manohararajah V, Van Dyken J (2016) The stratix\(^{{\rm TM}}\) 10 highly pipelined fpga architecture. In: Proceedings of the 2016 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, pp 159–168
Dierks T, Rescorla E (2008) The transport layer security (TLS) protocol version 1.2. RFC 5246 (Proposed Standard). Internet Engineering Task Force
Wagner D, Schneier B (1996) Analysis of the SSL 3.0 protocol. In: The Second USENIX Workshop on Electronic Commerce Proceedings, vol 1, no 1, pp 29–40
Varela-Vaca AJ, Gasca RM (2013) Towards the automatic and optimal selection of risk treatments for business processes using a constraint programming approach. Inf Softw Technol 55(11):1948–1973
Eisenbarth T, Kumar S (2007) A survey of lightweight-cryptography implementations. IEEE Des Test Comput 24(6):522–533
IEEE (2000) IEEE standard specifications for public-key cryptography. IEEE Std 1363-2000
IEEE (2004) IEEE standard specifications for public-key cryptography—amendment 1: additional techniques. IEEE Std 1363a-2004
Vanstone SA (2003) Next generation security for wireless: elliptic curve cryptography. Comput Secur 22(5):412–415
Lauter K (2004) The advantages of elliptic curve cryptography for wireless security. IEEE Wirel Commun 11(1):62–67
Koblitz N (1987) Elliptic curve cryptosystems. Math Comput 48(177):109–203
Cohen H et al (eds) (2005) Handbook of elliptic and hyperelliptic curve cryptography. CRC Press, Boca Raton
Miller VS (1986) Use of elliptic curves in cryptography. In: Advances in Cryptology—CRYPTO’85 Proceedings. Springer, Berlin, pp 417–426
Moeller B, Duong T, Kotowicz K (2014) This POODLE bites: exploiting the SSL 3.0 fallback. Security Advisory (Google)
Blake-Wilson S, Moeller B, Gupta V, Hawk C, Bolyard Wheeler N (2006) Elliptic curve cryptography (ECC) cipher suites for transport layer security (TLS). RFC 4492
Huang LS, Adhikarla S, Boneh D, Jackson C (2014) An experimental study of TLS forward secrecy deployments. IEEE Internet Comput 18(6):43–51
Johnson D, Menezes A, Vanstone S (2001) The elliptic curve digital signature algorithm (ECDSA). Int J Inf Secur 1(1):36–63
NIST (2013) FIPS PUB 186-4, Digital signature standard (DSS)
Hankerson D, Menezes AJ, Vanstone S (2006) Guide to elliptic curve cryptography. Springer, Berlin
Sutter G, Deschamps J, Imaña J (2013) Efficient elliptic curve point multiplication using digit serial binary field operations. IEEE Trans Ind Electron 60(1):217–225
Karatsuba A (1995) The complexity of computations. Proc Steklov Inst Math 211:169–183
Fan H, Sun J, Gu M, Lam KY (2010) Overlap-free Karatsuba–Ofman polynomial multiplication algorithms. IET Inf Secur 4(1):8–14
Rodríguez-Henríquez F, Koc CK (2003) On fully parallel karatsuba multipliers for GF\((2^m)\). In: Proceedings of International Conference on Computer Science and Technology (CST 2003), pp 405–410
Parrilla L, Morales DP, López-Villanueva JA, López-Ramos JA, Álvarez-Bermejo JA (2015) Hardware implementation of a new ECC key distribution protocol for securing wireless sensor networks. In: 2015 Conference on Design of Circuits and Integrated Systems (DCIS), pp 1–6
Sutter G, Deschamps J, Imaña J (2013) Efficient elliptic curve point multiplication using digit serial binary field operations (additional material for published paper). http://www.arithmetic-circuits.org/ECC_PointMult/EllipticCurvePointMultiplication.html
Brunner H, Curiger A, Hofstetter M (1993) On computing multiplicative inverses in GF\((2^m)\). IEEE Trans Comput 42(8):1010–1015
Yan Z, Sarwate DV (2003) New systolic architectures for inversion and division in GF\((2^m)\). IEEE Trans Comput 52(11):1514–1519
Itoh T, Tsujii S (1988) A fast algorithm for computing multiplicative inverses in GF\((2^m)\) using normal bases. Inf Comput 78(3):171–177
Parrilla L, Lloris A, Castillo E, Garcia A (2012) Minimum-clock-cycle Itoh-Tsujii algorithm hardware implementation for cryptography applications over GF\((2^m)\) fields. Electron Lett 48(18):1126–1128
Bluhm M, Gueron S (2015) Fast software implementation of binary elliptic curve cryptography. J Cryptogr Eng 5(3):215–226
Taverne J, Faz-Hernández A, Aranha DF, Rodríguez-Henríquez F, Hankerson D, López J (2011) Speeding scalar multiplication over binary elliptic curves using the new carry-less multiplication instruction. J Cryptogr Eng 1(3):187
Seo SC, Taehong K, Hong S (2015) Accelerating elliptic curve scalar multiplication over GF(2m) on graphic hardwares. J Parallel Distrib Comput 75:152–167
Ansari B, Hasan MA (2008) High-performance architecture of elliptic curve scalar multiplication. IEEE Trans Comput 57(11):1443–1453
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Parrilla, L., Álvarez-Bermejo, J.A., Castillo, E. et al. Elliptic Curve Cryptography hardware accelerator for high-performance secure servers. J Supercomput 75, 1107–1122 (2019). https://doi.org/10.1007/s11227-018-2317-6
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-018-2317-6