Efficient Algorithms for Elliptic Curve Cryptosystems on Embedded Systems

This thesis describes how an elliptic curve cryptosystem can be implemented on low cost microprocessors without coprocessors with reasonable performance. We focus in this paper on the Intel 8051 family of microcontrollers popular in smart cards and other cost-sensitive devices, and on the Motorola Dragonball, found in the Palm Computing Platform. The implementation is based on the use of the Optimal Extension Fields GF ((2 − 17)) for low end 8-bit processors, and GF ((2 − 1)) for 16-bit processors. Two advantages of our method are that subfield modular reduction can be performed infrequently, and that an adaption of Itoh and Tsujii’s inversion algorithm may be used for the group operation. We show that an elliptic curve scalar multiplication with a fixed point, which is the core operation for a signature generation, can be performed in a group of order approximately 2 in less than 2 seconds on an 8-bit smart card. On a 16-bit microcontroller, signature generation in a group of order approximately 2 can be performed in under 700 milliseconds. Unlike other implementations, we do not make use of curve parameters defined over a subfield such as Koblitz curves.

[1]  P ? ? ? ? ? ? ? % ? ? ? ? , 1991 .

[2]  P. L. Montgomery Modular multiplication without trial division , 1985 .

[3]  Anatolij A. Karatsuba,et al.  Multiplication of Multidigit Numbers on Automata , 1963 .

[4]  Deborah Estrin,et al.  Embedding the Internet: introduction , 2000, Commun. ACM.

[5]  Alfred Menezes,et al.  Elliptic curve public key cryptosystems , 1993, The Kluwer international series in engineering and computer science.

[6]  Victor S. Miller,et al.  Use of Elliptic Curves in Cryptography , 1985, CRYPTO.

[7]  Christof Paar,et al.  Optimal Extension Fields for Fast Arithmetic in Public-Key Algorithms , 1998, CRYPTO.

[8]  Sencer Yeralan,et al.  Programming and Interfacing the 8051 Microcontroller , 1995 .

[9]  Arjen K. Lenstra,et al.  Selecting Cryptographic Key Sizes , 2000, Journal of Cryptology.

[10]  Servaas Vandenberghe,et al.  A Fast Software Implementation for Arithmetic Operations in GF(2n) , 1996, ASIACRYPT.

[11]  David M'Raïhi,et al.  Cryptographic smart cards , 1996, IEEE Micro.

[12]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[13]  Arjen K. Lenstra,et al.  The XTR Public Key System , 2000, CRYPTO.

[14]  Nigel P. Smart,et al.  Constructive and destructive facets of Weil descent on elliptic curves , 2002, Journal of Cryptology.

[15]  Christof Paar,et al.  Efficient Algorithms for Elliptic Curve Cryptosystems , 1997, CRYPTO.

[16]  T. Itoh,et al.  A Fast Algorithm for Computing Multiplicative Inverses in GF(2^m) Using Normal Bases , 1988, Inf. Comput..

[17]  Hilarie K. Orman,et al.  Fast Key Exchange with Elliptic Curve Systems , 1995, CRYPTO.

[18]  Kouichi Itoh,et al.  Fast Implementation of Public-Key Cryptography ona DSP TMS320C6201 , 1999, CHES.

[19]  Kunio Kobayashi,et al.  Fast Elliptic Curve Algorithm Combining Frobenius Map and Table Reference to Adapt to Higher Characteristic , 1999, EUROCRYPT.

[20]  Corporate Motorola M68000 8-/16-/32-BIT microprocessors user's manual , 1991 .

[21]  Peter de Rooij,et al.  Efficient Exponentiation using Procomputation and Vector Addition Chains , 1994, EUROCRYPT.

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

[23]  Christof Paar,et al.  Itoh-Tsujii Inversion in Standard Basis and Its Application in Cryptography and Codes , 2002, Des. Codes Cryptogr..

[24]  N. Koblitz Elliptic curve cryptosystems , 1987 .

[25]  Bart Preneel,et al.  On the Performance of Signature Schemes Based on Elliptic Curves , 1998, ANTS.

[26]  Donald Ervin Knuth,et al.  The Art of Computer Programming, Volume II: Seminumerical Algorithms , 1970 .

[27]  Alfred Menezes,et al.  Handbook of Applied Cryptography , 2018 .