GFpECPublicKey¶
Computes a public key from the given private key of the elliptic curve cryptosystem over GF(p).
Syntax¶
IppStatus ippsGFpECPublicKey(const IppsBigNumState* pPrivate, IppsGFpECPoint* pPublic, IppsGFpECState* pEC, Ipp8u* pScratchBuffer);
Include Files¶
ippcp.h
Parameters¶
pPrivate |
Pointer to the private key |
pPublic |
Pointer to the public key |
pEC |
Pointer to the context of the elliptic curve. |
pScratchBuffer |
Pointer to the scratch buffer. |
Description¶
The function computes the public key pubKey
from the given private
key privKey
of the elliptic cryptosystem over a finite field
GF(p
).
The private key privKey
is a number that lies in the range of [1,
n
-1] where n
is the order of the elliptic curve base point. The
public key pubKey
is an elliptic curve point such that pubKey
=
privKey
· G
, where G
is the base point of the elliptic
curve.
The private key privKey
can be generated by the function
GFpECPrivateKey.
The context of the point pubKey
as an elliptic curve point must be
created by using the functions
GFpECPointGetSize
and GFpECPointInit.
The elliptic curve domain parameters must be defined by the functions: GFpECInitStd, GFpECInit, GFpECSet, or GFpECSetSubgroup.
Return Values¶
ippStsNoErr |
Indicates no error. Any other value indicates an error or warning. |
ippStsNullPtrErr |
Indicates an error condition if any of the specified pointers is NULL. |
ippStsContextMatchErr |
Indicates an error condition if any of the contexts pointed to by pPrivate, pPublic, or pEC does not match the operation. |
ippStsIvalidPrivateKey |
Indicates an error condition if the value of the private key falls outside the range of [1, |
ippStsRangeErr |
Indicates an error condition if pPublic does not belong to the finite field that the elliptic curve is initialized over. |