Visible to Intel only — GUID: GUID-60FF6A83-3624-4576-A011-00B9D36E60F5
Visible to Intel only — GUID: GUID-60FF6A83-3624-4576-A011-00B9D36E60F5
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.
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.
- ECCPGetSize
Gets the size of the IppsECCPState context. - ECCPGetSizeStd
Gets the size of the IppsECCPState context for a standard elliptic curve. - ECCPInit
Initializes the context for the elliptic curve cryptosystem over GF(p). - ECCPInitStd
Initializes the context for the cryptosystem based on a standard elliptic curve. - ECCPBindGxyTblStd
Enable the use of base point-based pre-computed tables of standard elliptic curves. - ECCPSet
Sets up elliptic curve domain parameters over GF(p). - ECCPSetStd
Sets up a recommended set of domain parameters for an elliptic curve over GF(p). - ECCPGet
Retrieves elliptic curve domain parameters over GF(p). - ECCPGetOrderBitSize
Retrieves order size of the elliptic curve base point over GF(p) in bits. - ECCPValidate
Checks validity of the elliptic curve domain parameters over GF(p). - ECCPPointGetSize
Gets the size of the IppsECCPPoint context in bytes for a point on the elliptic curve point defined over GF(p). - ECCPPointInit
Initializes the context for a point on the elliptic curve defined over GF(p). - ECCPSetPoint
Sets coordinates of a point on the elliptic curve defined over GF(p). - ECCPSetPointAtInfinity
Sets the point at infinity. - ECCPGetPoint
Retrieves coordinates of the point on the elliptic curve defined over GF(p). - ECCPCheckPoint
Checks correctness of the point on the elliptic curve defined over GF(p). - ECCPComparePoint
Compares two points on the elliptic curve defined over GF(p). - ECCPNegativePoint
Finds an elliptic curve point which is an additive inverse for the given point over GF(p). - ECCPAddPoint
Computes the addition of two elliptic curve points over GF(p). - ECCPMulPointScalar
Performs scalar multiplication of a point on the elliptic curve defined over GF(p). - ECCPGenKeyPair
Generates a private key and computes public keys of the elliptic cryptosystem over GF(p). - ECCPPublicKey
Computes a public key from the given private key of the elliptic cryptosystem over GF(p). - ECCPValidateKeyPair
Validates private and public keys of the elliptic cryptosystem over GF(p). - ECCPSetKeyPair
Sets private and/or public keys of the elliptic cryptosystem over GF(p). - ECCPSharedSecretDH
Computes a shared secret field element by using the Diffie-Hellman scheme. - ECCPSharedSecretDHC
Computes a shared secret field element by using the Diffie-Hellman scheme and the elliptic curve cofactor. - ECCPSignDSA
Computes a digital signature over a message digest. - ECCPVerifyDSA
Verifies authenticity of the digital signature over a message digest (ECDSA). - ECCPSignNR
Computes the digital signature over a message digest (the Nyberg-Rueppel scheme). - ECCPVerifyNR
Verifies authenticity of the digital signature over a message digest (the Nyberg-Rueppel scheme). - ECCPSignSM2
Computes a digital signature over a message digest using the SM2 scheme. - ECCPVerifySM2
Verifies authenticity of a digital signature over a message digest using the SM2 scheme. - Signing/Verification Using the Elliptic Curve Cryptography Functions over a Prime Finite Field
Did you find the information on this page useful?
Feedback Message
Characters remaining: