Functions Based on GF(p)
p
)This section describes functions designed to specify
the elliptic curve cryptosystem and perform various operations on the elliptic
curve defined over a prime finite field. The examples of the operations are
shown below:
- Setting up operations:ECCPSetsets up elliptic curve domain parameters.ECCPSetKeyPairsets a pair of public and private keys for the given cryptosystem.
- Computation operations:ECCPAddPointadds two points on the elliptic curve.ECCPMulPointScalarperforms the scalar multiplication of a point on the elliptic curve.ECCPSignDSAcomputes the digital signature of a message.
- Validation operations:ECCPValidatechecks validity of the elliptic curve domain parameters.ECCPValidateKeyPairvalidates correctness of the public and private keys.
- Generation operations:ECCPGenKeyPairgenerates a private key and computes a public key for the given elliptic cryptosystem.
- Retrieval operations:ECCPGetretrieves elliptic curve domain parameters.ECCPGetOrderBitSizeretrieves the size of a base point in bytes.
All functions described in this section employ a
context
IppsECCPState
that catches
several auxiliary components specifying operations performed on the elliptic
curve or entire elliptic cryptosystem. ECCP stands for Elliptic Curve
Cryptography Prime and means that all functions whose name include this
abbreviation perform operations over a prime finite field GF(
p
).
The
IppECCType
enumerator lists
standard elliptic curves supported. You can select a particular type in a call
to
ECCPSetStd.
The table below associates each value of
IppECCType
with parameters of
the elliptic curve and provides a reference to the appropriate specification.
Value of
IppECCType | Name of the Curve
| Reference
|
---|---|---|
ippECarbitrary | Not applicable
| No reference because of arbitrary parameters.
|
ippECstd112r2 |
secp112r2 | [SEC2]
|
ippECstd128r1 |
secp128r1 | [SEC2]
|
ippECstd128r2 |
secp128r2 | [SEC2]
|
ippECstd160r1 |
secp160r1 | [SEC2]
|
ippECstd160r2 |
secp160r2 | [SEC2]
|
ippECstd192r1 |
secp192r1 | [SEC2]
|
ippECstd224r1 |
secp224r1 | [SEC2]
|
ippECstd256r1 |
secp256r1 | [SEC2]
|
ippECstd384r1 |
secp384r1 | [SEC2]
|
ippECstd521r1 |
secp521r1 | [SEC2]
|
To provide minimum security of the elliptic curve
cryptosystem over a prime finite field, the length of the underlying prime must
be equal to or greater than 160 bits.