Flexible hardware/software co-design for scalable elliptic curve cryptography for low-resource applications

In this paper, we investigate the potential of the hardware/software co-design to realize a flexible-low resources elliptic curve cryptography (ECC) processor over binary finite fields GF(2m) on FPGA platforms. A design is proposed that is capable to work over different curves recommended by the ECC standards, namely, m = 163, 283, 571 without reconfiguring either the software or the hardware. The proposed hardware-software co-design is hosted on a free-so ft-core processor from Xilinx FPGA, namely the PicoBlaze. Two novel arithmetic circuits that represent the hardware environment are introduced to perform multi-precision arithmetic and scalable reduction over GF(2m). Furthermore, the proposed architecture is parameterized for different data widths (8, 16, 32 bits) to evaluate the optimal resource utilization versus performance trade-off to be made for the low resource-end application while still maintaining flexibility (scalability) across the chosen curves. The implementation of the flexible ECC processor consumes only 392 (51%) and 534 (62%) slices of the lowest cost chips from Xilinx Spartan III namely XC3S50 for 8 and 16-bits data paths, and 1278 (66%) slices for 32-bit data path on Spartan III XC3S200.

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

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

[3]  Patrick Schaumont,et al.  Optimizing the HW/SW boundary of an ECC SoC design using control hierarchy and distributed storage , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[4]  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.

[5]  Jerome A. Solinas,et al.  Efficient Arithmetic on Koblitz Curves , 2000, Des. Codes Cryptogr..

[6]  Manuel Koschuch,et al.  Hardware/Software Co-design of Elliptic Curve Cryptography on an 8051 Microcontroller , 2006, CHES.

[7]  Jonathan Lutz,et al.  High Performance Elliptic Curve Cryptographic Co-processor , 2007 .

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

[9]  Mohammed Benaissa,et al.  Embedded Software Design of Scalable Low-Area Elliptic-Curve Cryptography , 2009, IEEE Embedded Systems Letters.

[10]  Ricardo Dahab,et al.  NanoECC: Testing the Limits of Elliptic Curve Cryptography in Sensor Networks , 2008, EWSN.

[11]  Paul G. Comba,et al.  Exponentiation Cryptosystems on the IBM PC , 1990, IBM Syst. J..

[12]  Ingrid Verbauwhede,et al.  Reconfigurable Architectures for Curve-Based Cryptography on Embedded Micro-Controllers , 2006, 2006 International Conference on Field Programmable Logic and Applications.

[13]  Neal Koblitz,et al.  CM-Curves with Good Cryptographic Properties , 1991, CRYPTO.

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

[15]  Seokhie Hong,et al.  TinyECCK: Efficient Elliptic Curve Cryptography Implementation over GF(2m) on 8-Bit Micaz Mote , 2008, IEICE Trans. Inf. Syst..