Developer Reference

Contents

Functions Based on GF(
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:
    ECCPSet
    sets up elliptic curve domain parameters.
    ECCPSetKeyPair
    sets a pair of public and private keys for the given cryptosystem.
  • Computation operations:
    ECCPAddPoint
    adds two points on the elliptic curve.
    ECCPMulPointScalar
    performs the scalar multiplication of a point on the elliptic curve.
    ECCPSignDSA
    computes the digital signature of a message.
  • Validation operations:
    ECCPValidate
    checks validity of the elliptic curve domain parameters.
    ECCPValidateKeyPair
    validates correctness of the public and private keys.
  • Generation operations:
    ECCPGenKeyPair
    generates a private key and computes a public key for the given elliptic cryptosystem.
  • Retrieval operations:
    ECCPGet
    retrieves elliptic curve domain parameters.
    ECCPGetOrderBitSize
    retrieves 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.
Standard Elliptic Curves
Value of
IppECCType
Name of the Curve
Reference
ippECarbitrary
Not applicable
No reference because of arbitrary parameters.
ippECstd112r1
secp112r1
[SEC2]
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]
ippECstdSM2
SM2
[SM2]
For more information on parameters recommended for the functions, see [SEC2] and [SM2].
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.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.