Abstract
This paper describes the acceleration of calculations for public-key cryptography on hyperelliptic curves on very small FPGAs. This is achieved by using a Hardware/Software Codesign Approach starting with an all-software implementation on an embedded Microprocessor and migrating very time-consuming calculations from software to hardware. Basic GF(2n)-hardware extensions are connected to work in conjunction with the Microprocessor and possible alternatives for connecting external hardware to the Microprocessor are investigated. The performance of the hardware implementations compared to their counterparts as a software approach are evaluated. Based on these results, a coprocessor is devised and optimized for performance. The system utilizes minimal resources and fits easily on a small FPGA. It allows for fast Hyperelliptic Curve Cryptography (HECC) operations while running at a very low clock speed of 33 MHz, thus making it suitable for usage in embedded systems.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Sakai, Y., Sakurai, K.: On the practical performance of hyperelliptic curve cryptosystems in software implementation(special section on discrete mathematics and its applications). IEICE transactions on fundamentals of electronics, communications and computer sciences 83(4), 692–703 (2000)
Wollinger, T., Paar, C.: Hardware architectures proposed for cryptosystems based on hyperelliptic curves
Batina, L., et al.: Hardware/software co-design for hyperelliptic curve cryptography (hecc) on the 8051μp. In: CHES, pp. 106–118 (2005)
Hankerson, D., Menezes, A., Vanstone, S.: Guide to elliptic curve cryptography. Springer, New York (2004)
Wollinger, T.: Computer architectures for cryptosystems based on hyperelliptic curves. Masterthesis, Worcester Polytechnic Institute MA (April 2001)
Menezes, A.J., van Oorschot, P.C., Vanstone, S.A.: Handbook of Applied Cryptography. CRC Press, Boca Raton (2001)
Pelzl, J., Wollinger, T., Paar, C.: Special Hyperelliptic Curve Cryptosystems of Genus Two: Efficient Arithmetic and Fast Implementation. In: Nedjah, N. (ed.) Embedded Cryptographic Hardware: Design and Security, Nova Science Publishers, New York (2004)
Itoh, T., Tsujii, S.: Effective recursive algorithm for computing multiplicative inverses in gf(2m). IEEE Electronic Letters 24(6), 334–335 (1988)
Xilinx: Microblaze(tm) hardware reference guide. Document UG081 (2002)
Xilinx: Microblaze(tm) software reference guide (2002)
Hankerson, D., Hernandez, J.L., Menezes, A.: Software implementation of elliptic curve cryptography over binary fields. In: Paar, C., Koç, Ç.K. (eds.) CHES 2000. LNCS, vol. 1965, p. 1. Springer, Heidelberg (2000)
Batina, L.: Arithmetic and Architectures for Secure Hardware Implementations of Public-Key Cryptography. PhD thesis, Katholieke Universiteit COSIC (December 2005)
Beth, T., Gollmann, D.: Algorithm engineering for public key algorithms. IEEE Journal on Selected Areas in Communications 7(4), 458–466 (1989)
IBM: 64-Bit On-Chip Peripheral Bus, Architecture Specifications Version 2.1; SA-14-2528-02 (April 2001)
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)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Klimm, A., Sander, O., Becker, J., Subileau, S. (2008). A Hardware/Software Codesign of a Co-processor for Real-Time Hyperelliptic Curve Cryptography on a Spartan3 FPGA. In: Brinkschulte, U., Ungerer, T., Hochberger, C., Spallek, R.G. (eds) Architecture of Computing Systems – ARCS 2008. ARCS 2008. Lecture Notes in Computer Science, vol 4934. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-78153-0_15
Download citation
DOI: https://doi.org/10.1007/978-3-540-78153-0_15
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-78152-3
Online ISBN: 978-3-540-78153-0
eBook Packages: Computer ScienceComputer Science (R0)