Hardware/Software Co-design for Hyperelliptic Curve Cryptography (HECC) on the 8051 μP

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3659)


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.


HECC GF(2mgenus 2 curves hardware/software co- design embedded implementation 


  1. 1.
    Dallas semiconductor ds89c420 ultra-high-speed microcontroller,
  2. 2.
    Dalton 8051 processor,
  3. 3.
    GEZEL design environment,
  4. 4.
    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)Google Scholar
  5. 5.
    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)Google Scholar
  6. 6.
    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)Google Scholar
  7. 7.
    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)CrossRefGoogle Scholar
  8. 8.
    Byramjee, B., Duquesne, S.: Classification of genus 2 curves over \(F_{2^n}\) and optimization of their arithmetic. Cryptology ePrint Archive: Report 2004/107Google Scholar
  9. 9.
    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)CrossRefGoogle Scholar
  10. 10.
    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)CrossRefGoogle Scholar
  11. 11.
    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)CrossRefGoogle Scholar
  12. 12.
    Itoh, T., Tsujii, S.: Effective recursive algorithm for computing multiplicative inverses in GF(2m). Electronics Letters 24(6), 334–335 (1988)Google Scholar
  13. 13.
    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)CrossRefGoogle Scholar
  14. 14.
    Koblitz, N.: Elliptic curve cryptosystem. Math. Comp. 48, 203–209 (1987)zbMATHCrossRefMathSciNetGoogle Scholar
  15. 15.
    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)Google Scholar
  16. 16.
    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)CrossRefGoogle Scholar
  17. 17.
    Lange, T.: Formulae for arithmetic on genus 2 hyperelliptic curves. Applicable Algebra in Engineering, Communication and Computing 15(5), 295–328 (2005)zbMATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    Menezes, A., van Oorschot, P., Vanstone, S.: Handbook of Applied Cryptography. CRC Press, Boca Raton (1997)zbMATHGoogle Scholar
  19. 19.
    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)Google Scholar
  20. 20.
    Miller, V.: Uses of elliptic curves in cryptography. In: Williams, H.C. (ed.) CRYPTO 1985. LNCS, vol. 218, pp. 417–426. Springer, Heidelberg (1986)Google Scholar
  21. 21.
    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)CrossRefGoogle Scholar
  22. 22.
    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)Google Scholar
  23. 23.
    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)Google Scholar
  24. 24.
    Wollinger, T.: Software and Hardware Implementation of Hyperelliptic Curve Cryptosystems. PhD thesis. Ruhr-University Bochum, Germany (2004)Google Scholar
  25. 25.
    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)Google Scholar
  26. 26.
    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)CrossRefGoogle Scholar
  27. 27.
    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)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  1. 1.El. Engineering Dept.University of CaliforniaLos AngelesUSA
  2. 2.ESAT/COSICKatholieke Universiteit LeuvenLeuven-HeverleeBelgium

Personalised recommendations