A method of generating a digital signature includes generating a first
random number from a finite field of numbers, and generating field
elements defining a first point on an elliptic curve defined over the
finite field of numbers by performing elliptic curve arithmetic on the
first random number and an initial public point on the elliptic curve.
The method continues by generating a product from a field element, a
private key, and a second random number received from a challenger
seeking verification of a digital signature, and generating a signature
component by summing the product and the first random number. The
signature component is reduced using one or more modular reduction
operations, using a modulus equal to an order of the elliptic curve, and
then the reduced signature component and the field elements are sent to
the challenger as a digital signature for verification by the challenger.