Developer Reference for Intel® Integrated Performance Primitives Cryptography 2019
Enables the use of base point-based pre-computed tables of standard elliptic curves.
IppStatus ippsGFpECBindGxyTblStd192r1(IppsGFpECState* pEC);
IppStatus ippsGFpECBindGxyTblStd224r1(IppsGFpECState* pEC);
IppStatus ippsGFpECBindGxyTblStd256r1(IppsGFpECState* pEC);
IppStatus ippsGFpECBindGxyTblStd384r1(IppsGFpECState* pEC);
IppStatus ippsGFpECBindGxyTblStd521r1(IppsGFpECState* pEC);
IppStatus ippsGFpECBindGxyTblStdSM2(IppsGFpECState* pEC);
IppStatus ippsGFpECBindGxyTblStdBN256(IppsGFpECState* pEC);
ippcp.h
pEC |
Pointer to the context of the elliptic curve. |
The functions GFpECVerify*, GFpECPublicKey and GFpECSign* perform time-consuming math operations on the elliptic curve base point. In Intel IPP Cryptography-supported standards, the base point is fixed, and you may use pre-computed values.
The function GFpECBindGxyTblStd stores a pointer the to the pre-computed base point data in the elliptic curve context. For performance-critical applications, consider calling GFpECBindGxyTblStd at the completion of elliptic curve initialization. The use of GFpECBindGxyTblStd improves the performance of GFpECVerify*, GFpECPublicKey and GFpECSign*.
The size of the pre-computed table is quite large (~100-150KB), so using GFpECBindGxyTblStd increases the size of your application.
The set of GFpECBindGxyTblStd functions covers only curves defined by the following standards: NIST P-192r1, NIST P-224r1, NIST P-256r1, NIST P-384r1, NIST P521r1, SM2 and BN256. Other standard elliptic curves supported in Intel IPP Cryptography do not have a similar mechanism because they do not match modern security strength requirements.
ippsStsNoErr |
Indicates no error. Any other message indicates an error or warning. |
ippsStsNullPtrErr |
Indicates an error condition if pEC is NULL. |
ippsStsContextMatchErr |
Indicates an error condition if the IppsGFpECState context parameter does not match the operation. |
ippStsBadArgErr |
Indicates an error condition if the elliptic curve specified by the IppsGFpECState context is not the target standard elliptic curve. |