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

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.

[1]  Holger Bock,et al.  A Low-Cost ECC Coprocessor for Smartcards , 2004, CHES.

[2]  Patrick Schaumont,et al.  Domain Specific Tools and Methods for Application in Security Processor Design , 2002, Des. Autom. Embed. Syst..

[3]  Rob Williams Hardware/software co-design , 2006 .

[4]  Rolf Ernst,et al.  Codesign of Embedded Systems: Status and Trends , 1998, IEEE Des. Test Comput..

[5]  L. Batina,et al.  A hyperelliptic curve crypto coprocessor for an 8051 microcontroller , 2005, IEEE Workshop on Signal Processing Systems Design and Implementation, 2005..

[6]  Alfred Menezes,et al.  Guide to Elliptic Curve Cryptography , 2004, Springer Professional Computing.

[7]  Rajesh Gupta,et al.  Hardware Software Co-Design of Embedded Systems , 1996, VLSI Design.

[8]  Christof Paar,et al.  Reconfigurable Instruction Set Extension for Enabling ECC on an 8-Bit Processor , 2004, FPL.

[9]  Hans Eberle,et al.  Comparing Elliptic Curve Cryptography and RSA on 8-bit CPUs , 2004, CHES.

[10]  Sandeep Kumar,et al.  Embedded end-to-end wireless security with ECDH key exchange , 2003, 2003 46th Midwest Symposium on Circuits and Systems.

[11]  Nigel P. Smart,et al.  Elliptic Curves in Cryptography: Preface , 1999 .

[12]  Sorin A. Huss,et al.  A Reconfigurable System on Chip Implementation for Elliptic Curve Cryptography over GF(2n) , 2002, CHES.

[13]  Ricardo Dahab,et al.  Fast Multiplication on Elliptic Curves over GF(2m) without Precomputation , 1999, CHES.

[14]  Erkay Savas,et al.  A Scalable and Unified Multiplier Architecture for Finite Fields GF(p) and GF(2m) , 2000, CHES.

[15]  Joos Vandewalle,et al.  Hardware/software co-design of an elliptic curve public-key cryptosystem , 2001, 2001 IEEE Workshop on Signal Processing Systems. SiPS 2001. Design and Implementation (Cat. No.01TH8578).

[16]  James Ross Goodman,et al.  Energy scalable reconfigurable cryptographic hardware for portable applications , 2000 .

[17]  Ian F. Blake,et al.  Elliptic curves in cryptography , 1999 .

[18]  Ingrid Verbauwhede,et al.  Hardware/Software Co-design for Hyperelliptic Curve Cryptography (HECC) on the 8051µP , 2005, CHES.

[19]  Patrick Schaumont,et al.  Domain-Specific Codesign for Embedded Security , 2003, Computer.

[20]  Jon Orwant,et al.  Designing Embedded Hardware , 2002 .

[21]  Johann Großschädl,et al.  A low-power bit-serial multiplier for finite fields GF(2m) , 2001, ISCAS.

[22]  Johann Großschädl,et al.  Instruction set extension for fast elliptic curve cryptography over binary finite fields GF(2/sup m/) , 2003, Proceedings IEEE International Conference on Application-Specific Systems, Architectures, and Processors. ASAP 2003.

[23]  Vipul Gupta,et al.  Architectural extensions for elliptic curve cryptography over GF(2/sup m/) on 8-bit microprocessors , 2005, 2005 IEEE International Conference on Application-Specific Systems, Architecture Processors (ASAP'05).

[24]  Christof Paar,et al.  Elliptic Curve Cryptography on Smart Cards without Coprocessors , 2001, CARDIS.