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((2.sup.8-17).sup.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 2.sup.134 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.