This section describes the Intel IPP primitives that implement arithmetic operations with points of elliptic curves [EC]. Arithmetic of elliptic curves over the following finite fields is implemented:
GF(p) |
The elliptic curve is defined by the equation: y2=x3+A*x+B mod p, where the odd prime number p is the modulus of the GF(p) field. |
GF(p^d) |
The elliptic curve is defined by the equation: y2=x3+A*x+B mod g(t), where g(t) is the irreducible polynomial of degree d. |
Here A, B, x, and y belong to the respective field GF(p) or GF(p^d),
A and B are the coefficients (parameters) of the curve,
x and y are coordinates of a point on the curve.
Table “Intel IPP Arithmetic Functions for the Group of Elliptic Curve Points” lists all the functions for the elliptic curve point arithmetic.
| Function Base Name | Operation |
|---|---|
| Arithmetic of Elliptic Curves over GF(p) | |
| GFPECGetSize | Gets the size of the context of an elliptic curve over the GF(p) field. |
| GFPECInit | Initializes the context of an elliptic curve over the GF(p) field. |
| GFPECSet | Sets up parameters of an elliptic curve over the GF(p) field. |
| GFPECGet | Extracts parameters of the elliptic curve over the GF(p) field from the context. |
| GFPECVerify | Verifies parameters of an elliptic curve over the GF(p) field. |
| GFPECPointGetSize | Gets the size of the context of a point on the elliptic curve over the GF(p) field. |
| GFPECPointInit | Initializes the context of a point on the elliptic curve over the GF(p) field. |
| GFPECSetPoint | Sets up the coordinates of a point on the elliptic curve over the GF(p) field. |
| GFPECSetPointAtInfinity | Sets the coordinates of a point on the elliptic curve over the GF(p) field to those of the point at infinity. |
| GFPECSetPointRandom | Sets random coordinates of a point on the elliptic curve over the GF(p) field. |
| GFPECCpyPoint | Copies one point of the elliptic curve over the GF(p) field to another. |
| GFPECGetPoint | Extracts coordinates of the point on the elliptic curve over the GF(p) field from the context. |
| GFPECVerifyPoint | Verifies a point of the elliptic curve over the GF(p) field. |
| GFPECCmpPoint | Compares points of the elliptic curve over the GF(p) field. |
| GFPECNegPoint | Computes the inverse for a point of the elliptic curve over the GF(p) field. |
| GFPECAddPoint | Adds points on the elliptic curve over the GF(p) field. |
| GFPECMulPointScalar | Multiplies a point on the elliptic curve over the GF(p) field by a scalar. |
| Arithmetic of Elliptic Curves over GF(p^d) | |
| GFPXECGetSize | Gets the size of the context of an elliptic curve over the GF(p^d) field. |
| GFPXECInit | Initializes the context of an elliptic curve over the GF(p^d) field. |
| GFPXECSet | Sets up parameters of an elliptic curve over the GF(p^d) field. |
| GFPXECGet | Extracts parameters of the elliptic curve over the GF(p^d) field from the context. |
| GFPXECVerify | Verifies parameters of an elliptic curve over the GF(p^d) field. |
| GFPXECPointGetSize | Gets the size of the context of a point on the elliptic curve over the GF(p^d) field. |
| GFPXECPointInit | Initializes the context of a point on the elliptic curve over the GF(p^d) field. |
| GFPXECSetPoint | Sets up the coordinates of a point on the elliptic curve over the GF(p^d) field. |
| GFPXECSetPointAtInfinity | Sets the coordinates of a point on the elliptic curve over the GF(p^d) field to those of the point at infinity. |
| GFPXECSetPointRandom | Sets random coordinates of a point on the elliptic curve over the GF(p^d) field. |
| GFPXECCpyPoint | Copies one point of the elliptic curve over the GF(p^d) field to another. |
| GFPXECGetPoint | Extracts coordinates of the point on the elliptic curve over the GF(p^d) field from the context. |
| GFPXECVerifyPoint | Verifies a point of the elliptic curve over the GF(p^d) field. |
| GFPXECCmpPoint | Compares points of the elliptic curve over the GF(p^d) field. |
| GFPXECNegPoint | Computes the inverse for a point of the elliptic curve over the GF(p^d) field. |
| GFPXECAddPoint | Adds points on the elliptic curve over the GF(p^d) field. |
| GFPXECMulPointScalar | Multiplies a point on the elliptic curve over the GF(p^d) field by a scalar. |
The functions described in this section use context structures of the following types to carry data of the elliptic curve and elliptic curve point:
Elliptic curve over GF(p) |
IppsGFPECState and IppsGFPECPoint, respectively. |
Elliptic curve over GF(p^d) |
IppsGFPXECState and IppsGFPXECPoint, respectively. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.