Abstract
Implementing public-key cryptography on platforms with limited resources, such as microprocessors, is a challenging task. Hardware/software co-design is often the only answer to implement the computationally intensive operations with limited memory and power at an acceptable speed. This contribution describes such a solution for Hyperelliptic Curve Cryptography (HECC). The proposed hardware/software co-design of the HECC system was implemented and co-simulated using the GEZEL design environment [3]. As a low-cost platform, we chose an 8-bit 8051 microprocessor to which one small hardware co-processor was added for field multiplication. We show that the Jacobian scalar multiplication can be computed in 2.488 sec at 12 MHz on this platform if a minimal hardware module is added i.e. a hardware multiply-add unit. This optimal solution provides a factor of 26 speed-up over a software-only solution.
Chapter PDF
Similar content being viewed by others
References
Dallas semiconductor ds89c420 ultra-high-speed microcontroller, http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2963
Dalton 8051 processor, http://www.cs.ucr.edu/~dalton/8051/
GEZEL design environment, http://www.ee.ucla.edu/~schaum/gezel
Baktır, S., Pelzl, J., Wollinger, T., Sunar, B., Paar, C.: Optimal tower fields for hyperelliptic curve cryptosystems. In: Proceedings of 38th Asilomar Conference on Signals, Systems and Computers, Pacific Grove, USA, November 7-10 (2004)
Bertoni, G., Breveglieri, L., Wollinger, T., Paar, C.: Finding optimum parallel coprocessor design for genus 2 hyperelliptic curve cryptosystems. In: Proceedings of ITCC, Las Vegas, Nevada, USA, April 5-7 (2004)
Bertoni, G., Breveglieri, L., Wollinger, T., Paar, C.: Hyperelliptic Curve Cryptosystem: What is the Best Parallel Hardware Architecture? In: Embedded Cryptographic Hardware: Design and Security. Nova Science, Bombay (2004)
Boston, N., Clancy, T., Liow, Y., Webster, J.: Genus two hyperelliptic curve coprocessor. In: Kaliski Jr., B.S., Koç, Ç.K., Paar, C. (eds.) CHES 2002. LNCS, vol. 2523, pp. 400–414. Springer, Heidelberg (2003)
Byramjee, B., Duquesne, S.: Classification of genus 2 curves over \(F_{2^n}\) and optimization of their arithmetic. Cryptology ePrint Archive: Report 2004/107
Gaudry, P.: An algorithm for solving the discrete log problem on hyperelliptic curves. In: Preneel, B. (ed.) EUROCRYPT 2000. LNCS, vol. 1807, pp. 19–34. Springer, Heidelberg (2000)
Gura, N., Patel, A., Wander, A., Eberle, H., Shantz, S.C.: Comparing Elliptic Curve Cryptography and RSA on 8-bit CPUs. In: Joye, M., Quisquater, J.-J. (eds.) CHES 2004. LNCS, vol. 3156, pp. 119–132. Springer, Heidelberg (2004)
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, pp. 1–24. Springer, Heidelberg (2000)
Itoh, T., Tsujii, S.: Effective recursive algorithm for computing multiplicative inverses in GF(2m). Electronics Letters 24(6), 334–335 (1988)
Kim, H., Wollinger, T., Choi, Y., Chung, K., Paar, C.: Hyperelliptic curve coprocessors on a FPGA. In: Lim, C.H., Yung, M. (eds.) WISA 2004. LNCS, vol. 3325, pp. 360–374. Springer, Heidelberg (2005)
Koblitz, N.: Elliptic curve cryptosystem. Math. Comp. 48, 203–209 (1987)
Koblitz, N.: A family of Jacobians suitable for Discrete Log Cryptosystems. In: Goldwasser, S. (ed.) CRYPTO 1988. LNCS, vol. 403, pp. 94–99. Springer, Heidelberg (1990)
Kumar, S., Paar, C.: Reconfigurable instruction set extension for enabling ECC on an 8-bit processor. In: Becker, J., Platzner, M., Vernalde, S. (eds.) FPL 2004. LNCS, vol. 3203, pp. 586–595. Springer, Heidelberg (2004)
Lange, T.: Formulae for arithmetic on genus 2 hyperelliptic curves. Applicable Algebra in Engineering, Communication and Computing 15(5), 295–328 (2005)
Menezes, A., van Oorschot, P., Vanstone, S.: Handbook of Applied Cryptography. CRC Press, Boca Raton (1997)
Menezes, A., Wu, Y.-H., Zuccherato, R.: Appendix. In: Koblitz, N. (ed.) An elementary introduction to hyperelliptic curves, Algebraic Aspects of Cryptography, pp. 155–178. Springer, Heidelberg (1998)
Miller, V.: Uses of elliptic curves in cryptography. In: Williams, H.C. (ed.) CRYPTO 1985. LNCS, vol. 218, pp. 417–426. Springer, Heidelberg (1986)
Pelzl, J., Wollinger, T., Guajardo, J., Paar, C.: Hyperelliptic curve cryptosystems: Closing the performance gap to elliptic curves. In: Walter, C.D., Koç, Ç.K., Paar, C. (eds.) CHES 2003. LNCS, vol. 2779, pp. 351–365. Springer, Heidelberg (2003)
Pelzl, J., Wollinger, T., Paar, C.: High performance arithmetic for hyperelliptic curve cryptosystems of genus two. In: Proceedings of ITCC, Las Vegas, Nevada, USA, April 5-7 (2004)
Pelzl, J., Wollinger, T., Paar, C.: Special Hyperelliptic Curve Cryptosystems of Genus Two: Efficient Arithmetic and Fast Implementation. In: Embedded Cryptographic Hardware: Design and Security. Nova Science Publishers, Bombay (2004)
Wollinger, T.: Software and Hardware Implementation of Hyperelliptic Curve Cryptosystems. PhD thesis. Ruhr-University Bochum, Germany (2004)
Wollinger, T., Bertoni, G., Breveglieri, L., Paar, C.: Performance of HECC coprocessors using inversionfree formulae. In: International Workshop on Information Security & Hiding (ISH 2005), Singapore (2005)
Wollinger, T., Pelzl, J., Wittelsberger, V., Paar, C., Saldamli, G., Koç, Ç.: Elliptic and hyperelliptic curves on embedded μP. ACM Transactions on Embedded Computing Systems 3(3), 509–533 (2004)
Woodbury, A.D., Bailey, D.V., Paar, C.: Elliptic curve cryptography on smartcards without coprocessors. In: Proceedings of Fourth Smart Card Research and Advanced Applications (CARDIS 2000) Conference (2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Batina, L., Hwang, D., Hodjat, A., Preneel, B., Verbauwhede, I. (2005). Hardware/Software Co-design for Hyperelliptic Curve Cryptography (HECC) on the 8051 μP . In: Rao, J.R., Sunar, B. (eds) Cryptographic Hardware and Embedded Systems – CHES 2005. CHES 2005. Lecture Notes in Computer Science, vol 3659. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11545262_8
Download citation
DOI: https://doi.org/10.1007/11545262_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-28474-1
Online ISBN: 978-3-540-31940-5
eBook Packages: Computer ScienceComputer Science (R0)