Hardware/Software Co-design of Elliptic Curve Cryptography on an 8051 Microcontroller

  • Manuel Koschuch
  • Joachim Lechner
  • Andreas Weitzer
  • Johann Großschädl
  • Alexander Szekely
  • Stefan Tillich
  • Johannes Wolkerstorfer
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4249)


8-bit microcontrollers like the 8051 still hold a considerable share of the embedded systems market and dominate in the smart card industry. The performance of 8-bit microcontrollers is often too poor for the implementation of public-key cryptography in software. In this paper we present a minimalist hardware accelerator for enabling elliptic curve cryptography (ECC) on an 8051 microcontroller. We demonstrate the importance of removing system-level performance bottlenecks caused by the transfer of operands between hardware accelerator and external RAM. The integration of a small direct memory access (DMA) unit proves vital to exploit the full potential of the hardware accelerator. Our design allows to perform a scalar multiplication over the binary extension field GF(2191) in 118 msec at a clock frequency of 12 MHz. Considering performance and hardware cost, our system compares favorably with previous work on similar 8-bit platforms.


Elliptic Curve Smart Card Clock Cycle Scalar Multiplication Direct Memory Access 


  1. 1.
    Aigner, H., Bock, H., Hütter, M., Wolkerstorfer, J.: A low-cost ECC coprocessor for smartcards. In: Joye, M., Quisquater, J.-J. (eds.) CHES 2004. LNCS, vol. 3156, pp. 107–118. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  2. 2.
    Batina, L., Hwang, D., Hodjat, A., Preneel, B., Verbauwhede, I.: Hardware/software co-design for hyperelliptic curve cryptography (HECC) on the 8051 μP. In: Rao, J.R., Sunar, B. (eds.) CHES 2005. LNCS, vol. 3659, pp. 106–118. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  3. 3.
    Blake, I.F., Seroussi, G., Smart, N.P.: Elliptic Curves in Cryptography. Cambridge University Press, Cambridge (1999)MATHGoogle Scholar
  4. 4.
    Catsoulis, J.: Designing Embedded Hardware. O’Reilly Media, Sebastopol (2002)Google Scholar
  5. 5.
    De Micheli, G., Gupta, R.K.: Hardware/software co-design. Proceedings of the IEEE 85(3), 349–365 (1997)CrossRefGoogle Scholar
  6. 6.
    Eberle, H., et al.: Architectural extensions for elliptic curve cryptography over GF(2m) on 8-bit microprocessors. In: Proceedings of the 16th IEEE International Conference on Application-Specific Systems, Architectures, and Processors (ASAP 2005), pp. 343–349. IEEE Computer Society Press, Los Alamitos (2005)CrossRefGoogle Scholar
  7. 7.
    Ernst, M., et al.: A reconfigurable system on chip implementation for elliptic curve cryptography over GF(2n). In: Kaliski Jr., B.S., Koç, Ç.K., Paar, C. (eds.) CHES 2002. LNCS, vol. 2523, pp. 381–399. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  8. 8.
    Ernst, R.: Codesign of embedded systems: Status and trends. IEEE Design & Test of Computers 15(2), 45–54 (1998)CrossRefGoogle Scholar
  9. 9.
    Goodman, J.R.: Energy Scalable Reconfigurable Cryptographic Hardware for Portable Applications. Ph.D. Thesis, Massachusetts Institute of Technology (2000)Google Scholar
  10. 10.
    Großschädl, J.: A low-power bit-serial multiplier for finite fields GF(2m). In: Proceedings of the 34th IEEE International Symposium on Circuits and Systems (ISCAS 2001), vol. IV, pp. 37–40. IEEE, Los Alamitos (2001)Google Scholar
  11. 11.
    Großschädl, J., Kamendje, G.-A.: Instruction set extension for fast elliptic curve cryptography over binary finite fields GF(2m). In: Proceedings of the 14th IEEE International Conference on Application-specific Systems, Architectures and Processors (ASAP 2003), pp. 455–468. IEEE Computer Society Press, Los Alamitos (2003)CrossRefGoogle Scholar
  12. 12.
    Gura, N., et al.: 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
  13. 13.
    Hankerson, D.R., Menezes, A.J., Vanstone, S.A.: Guide to Elliptic Curve Cryptography. Springer, Heidelberg (2004)MATHGoogle Scholar
  14. 14.
    Hodjat, A., Hwang, D., Batina, L., Verbauwhede, I.: A hyperelliptic curve crypto coprocessor for an 8051 microcontroller. In: Proceedings of the 19th IEEE Workshop on Signal Processing Systems (SIPS 2005), pp. 93–98. IEEE, Los Alamitos (2005)Google Scholar
  15. 15.
    Janssens, S., et al.: Hardware/software co-design of an elliptic curve public-key cryptosystem. In: Proceedings of 15th IEEE Workshop on Signal Processing Systems (SIPS 2001), pp. 209–216. IEEE, Los Alamitos (2001)Google Scholar
  16. 16.
    Kumar, S.S., et al.: Embedded end-to-end wireless security with ECDH key exchange. In: Proceedings of the 46th IEEE Midwest Symposium on Circuits and Systems (MWSCAS 2003), vol. 2, pp. 786–789. IEEE, Los Alamitos (2003)CrossRefGoogle Scholar
  17. 17.
    Kumar, S.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
  18. 18.
    López, J., Dahab, R.: Fast multiplication on elliptic curves over \(\mathit{GF}(2^m)\) without precomputation. In: Koç, Ç.K., Paar, C. (eds.) CHES 1999. LNCS, vol. 1717, pp. 316–327. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  19. 19.
    Savaş, E., Tenca, A.F., Koç, Ç.K.: A scalable and unified multiplier architecture for finite fields GF(p) and GF(2m). In: Paar, C., Koç, Ç.K. (eds.) CHES 2000. LNCS, vol. 1965, pp. 277–292. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  20. 20.
    Schaumont, P., Verbauwhede, I.: Domain specific tools and methods for application in security processor design. Design Automation for Embedded Systems 7(4), 365–383 (2002)MATHCrossRefGoogle Scholar
  21. 21.
    Schaumont, P., Verbauwhede, I.: Domain-specific codesign for embedded security. Computer 36(4), 68–74 (2003)CrossRefGoogle Scholar
  22. 22.
    University of California at Riverside. Synthesizable VHDL Model of 8051, Available for download at: http://www.cs.ucr.edu/~dalton/i8051/i8051syn/
  23. 23.
    Wolf, W.H.: Hardware-software co-design of embedded systems. Proceedings of the IEEE 28(7), 967–989 (1994)CrossRefGoogle Scholar
  24. 24.
    Woodbury, A.D., Bailey, D.V., Paar, C.: Elliptic curve cryptography on smart cards without coprocessors. In: Smart Card Research and Advanced Applications, pp. 71–92. Kluwer Academic Publishers, Dordrecht (2000)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Manuel Koschuch
    • 1
  • Joachim Lechner
    • 1
  • Andreas Weitzer
    • 1
  • Johann Großschädl
    • 1
  • Alexander Szekely
    • 1
  • Stefan Tillich
    • 1
  • Johannes Wolkerstorfer
    • 1
  1. 1.Institute for Applied Information Processing and CommunicationsGraz University of TechnologyGrazAustria

Personalised recommendations