Abstract
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.
Keywords
- Elliptic Curve
- Smart Card
- Clock Cycle
- Scalar Multiplication
- Direct Memory Access
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Chapter PDF
References
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)
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)
Blake, I.F., Seroussi, G., Smart, N.P.: Elliptic Curves in Cryptography. Cambridge University Press, Cambridge (1999)
Catsoulis, J.: Designing Embedded Hardware. O’Reilly Media, Sebastopol (2002)
De Micheli, G., Gupta, R.K.: Hardware/software co-design. Proceedings of the IEEE 85(3), 349–365 (1997)
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)
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)
Ernst, R.: Codesign of embedded systems: Status and trends. IEEE Design & Test of Computers 15(2), 45–54 (1998)
Goodman, J.R.: Energy Scalable Reconfigurable Cryptographic Hardware for Portable Applications. Ph.D. Thesis, Massachusetts Institute of Technology (2000)
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)
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)
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)
Hankerson, D.R., Menezes, A.J., Vanstone, S.A.: Guide to Elliptic Curve Cryptography. Springer, Heidelberg (2004)
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)
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)
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)
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)
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)
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)
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)
Schaumont, P., Verbauwhede, I.: Domain-specific codesign for embedded security. Computer 36(4), 68–74 (2003)
University of California at Riverside. Synthesizable VHDL Model of 8051, Available for download at: http://www.cs.ucr.edu/~dalton/i8051/i8051syn/
Wolf, W.H.: Hardware-software co-design of embedded systems. Proceedings of the IEEE 28(7), 967–989 (1994)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Koschuch, M. et al. (2006). Hardware/Software Co-design of Elliptic Curve Cryptography on an 8051 Microcontroller. In: Goubin, L., Matsui, M. (eds) Cryptographic Hardware and Embedded Systems - CHES 2006. CHES 2006. Lecture Notes in Computer Science, vol 4249. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11894063_34
Download citation
DOI: https://doi.org/10.1007/11894063_34
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-46559-1
Online ISBN: 978-3-540-46561-4
eBook Packages: Computer ScienceComputer Science (R0)
