A method for implementing an elliptic curve or
discrete logarithm cryptosystem on inexpensive microprocessors is disclosed which provides for advantageous finite field computational performance on microprocessors having limited computational capabilities. The method can be employed with a variety of commercial and industrial imbedded
microprocessor applications such as
consumer smart cards, smart cards,
wireless devices, personal digital assistants, and
microprocessor controlled equipment. In one embodiment, a Galois Field (GF) implementation based on the finite field GF((28−17)17) is disclosed for an Intel 8051
microcontroller, a popular commercial
smart card microprocessor. The method is particularly suited for low end 8-bit and 16-bit processors either with or without a
coprocessor. The method provides for fast and efficient finite field multiplication on any microprocessor or
coprocessor device having intrinsic computational characteristics such that a modular reduction has a greater computational cost than double precision, long number additions or accumulations. The disclosed method offers unique computational efficiencies in requiring only infrequent subfield modular reduction and in employing an
adaptation of Itoh and Tsujii's inversion
algorithm for the
group operation. In one embodiment, a core operation for a signature generation, an elliptic curve
scalar multiplication with a fixed point, is performed in a group of order approximately 2134 in less than 2 seconds. In contrast to conventional methods, the method does not utilize or require curves defined over a subfield such as Koblitz curves.