GFpECMulPoint

Multiplies a point on an elliptic curve by a scalar.

Syntax

IppStatus ippsGFpECMulPoint(const IppsGFpECPoint* pP, const IppsBigNumState* pN, IppsGFpECPoint* pR, IppsGFpECState* pEC, Ipp8u* pScratchBuffer);

Include Files

ippcp.h

Parameters

pP

Pointer to the context of the given point on the elliptic curve.

pN

Pointer to the Big Number context storing the scalar value.

pR

Pointer to the context of the resulting point on the elliptic curve.

pEC

Pointer to the context of the elliptic curve.

pScratchBuffer

Pointer to the scratch buffer. Can be NULL.

Description

This function computes the coordinates of the elliptic curve point that equals the product of the given point and a scalar. The following pseudocode represents this operation: R = scalar P.

If the pointer to the scratch buffer is NULL, the function uses a short internal buffer for computations.

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 specified contexts does not match the operation.

ippStsOutOfRangeErr

Indicates an error condition in the following cases:

  • Any of the points does not belong to the finite field over which the elliptic curve is initialized.

  • The scalar value does not belong to the finite field over which the elliptic curve is initialized.