Cryptography Overview

Elliptic Curve Signature Schemes (ECDSA)

Elliptic Curve Authenticated Encryption Scheme (ECAES)

Elliptic Curve Diffie-Hellman key agreement (ECDH)

Crypto-C also allows you to generate precomputed acceleration tables to speed up certain elliptic curve operations. For more information, see the example “Generating a Public-Key Acceleration Table” on page 277.

Elliptic Curve Parameters

A number of parameters are necessary for elliptic curve cryptosystems. These parameters must be generated before you generate a key pair, create an acceleration table, initiate encryption, or perform key agreement with these systems. You can use the same parameters to generate more than one key. These parameters include:

The finite field, Fq, over which the elliptic curve is defined.

Two elements of Fq, a and b, which define the elliptic curve; a and b are also called the coefficients of the curve.

A point P of prime order on the elliptic curve E .

The order, n, of P .

The cofactor h = #E(Fq)/n. Here, E(Fq) means the set of points on the elliptic curve and #E(Fq) means the number of points in that set. See “The Order of an Elliptic Curve” on page 70 for more information.

Note: In all discussions of elliptic curves, the upper case letters P and Q are used to denote points on an elliptic curve. The lower case letter p is used to denote a prime.

The next section discusses these terms in detail. We will try to give enough of the math to give you a feel for what the underlying concepts are without going too deeply into the details. A full discussion of elliptic curve cryptography is far beyond the scope of this manual. For background on elliptic curves, see the book by J. Silverman and J. Tate, Rational Points on Elliptic Curves [20]. For more information on elliptic curves in cryptography, see the ANSI X9.62 and X9.63 standards [13], the IEEE Standard Specifications for Public-Key Cryptography [14], and A. Menezes’s book, Elliptic Curve Public Key Cryptosystems [19].

The Finite Field

The elliptic curves used in cryptography are always defined over a finite field, denoted Fq. There are two choices for this field:

6 6

R S A B S A F E C r y p t o - C D e v e l o p e r ’s G u i d e

Page 88
Image 88
RSA Security 5.2.2 manual Elliptic Curve Parameters, Finite Field