Developer Reference

Contents

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
privKey
.
pPublic
Pointer to the public key
pubKey
.
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,
n
-1].
ippStsRangeErr
Indicates an error condition if
pPublic
does not belong to the finite field that the elliptic curve is initialized over.

Product and Performance Information

1

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