CC26xx Driver Library
rom_ecc.h File Reference
#include <stdint.h>
#include "rom.h"

Data Structures

union  ECC_NISTP256_Param
 

Macros

#define ECC_NISTP256_PARAM_LENGTH_BYTES   32
 Length in bytes of NISTP256 curve parameters excluding the prepended length word. More...
 
#define ECC_LENGTH_OFFSET_BYTES   4
 Number of bytes for the length word prepended before all parameters passed into the ECC functions. More...
 
#define ECC_NISTP256_PARAM_LENGTH_WITH_OFFSET_BYTES   (ECC_NISTP256_PARAM_LENGTH_BYTES + ECC_LENGTH_OFFSET_BYTES)
 Length in bytes of NISTP256 curve parameters including the prepended length word. More...
 
#define STATUS_MODULUS_EVEN   0xDC
 
#define STATUS_MODULUS_LARGER_THAN_255_WORDS   0xD2
 
#define STATUS_MODULUS_LENGTH_ZERO   0x08
 
#define STATUS_MODULUS_MSW_IS_ZERO   0x30
 
#define STATUS_SCALAR_TOO_LONG   0x35
 
#define STATUS_SCALAR_LENGTH_ZERO   0x53
 
#define STATUS_ORDER_TOO_LONG   0xC6
 
#define STATUS_ORDER_LENGTH_ZERO   0x6C
 
#define STATUS_X_COORD_TOO_LONG   0x3C
 
#define STATUS_X_COORD_LENGTH_ZERO   0xC3
 
#define STATUS_Y_COORD_TOO_LONG   0x65
 
#define STATUS_Y_COORD_LENGTH_ZERO   0x56
 
#define STATUS_A_COEF_TOO_LONG   0x5C
 
#define STATUS_A_COEF_LENGTH_ZERO   0xC5
 
#define STATUS_BAD_WINDOW_SIZE   0x66
 
#define STATUS_SCALAR_MUL_OK   0x99
 
#define STATUS_ORDER_LARGER_THAN_255_WORDS   0x28
 
#define STATUS_ORDER_EVEN   0x82
 
#define STATUS_ORDER_MSW_IS_ZERO   0x23
 
#define STATUS_ECC_KEY_TOO_LONG   0x25
 
#define STATUS_ECC_KEY_LENGTH_ZERO   0x52
 
#define STATUS_ECC_X_LARGER_THAN_PRIME   0x11
 
#define STATUS_ECC_Y_LARGER_THAN_PRIME   0x12
 
#define STATUS_ECC_X_ZERO   0x13
 
#define STATUS_ECC_Y_ZERO   0x14
 
#define STATUS_ECC_POINT_NOT_ON_CURVE   0x15
 
#define STATUS_ECC_POINT_ON_CURVE   0x16
 
#define STATUS_PRIVATE_KEY_ZERO   0x17
 
#define STATUS_PRIVATE_KEY_LARGER_EQUAL_ORDER   0x18
 
#define STATUS_PRIVATE_VALID   0x19
 
#define STATUS_DIGEST_TOO_LONG   0x27
 
#define STATUS_DIGEST_LENGTH_ZERO   0x72
 
#define STATUS_ECDSA_SIGN_OK   0x32
 
#define STATUS_ECDSA_INVALID_SIGNATURE   0x5A
 
#define STATUS_ECDSA_VALID_SIGNATURE   0xA5
 
#define STATUS_SIG_P1_TOO_LONG   0x11
 
#define STATUS_SIG_P1_LENGTH_ZERO   0x12
 
#define STATUS_SIG_P2_TOO_LONG   0x22
 
#define STATUS_SIG_P2_LENGTH_ZERO   0x21
 
#define STATUS_ECDSA_KEYGEN_OK   STATUS_SCALAR_MUL_OK
 
#define STATUS_ECDH_KEYGEN_OK   STATUS_SCALAR_MUL_OK
 
#define STATUS_ECDH_COMMON_KEY_OK   STATUS_SCALAR_MUL_OK
 

Functions

void ECC_initialize (ECC_State *state, uint32_t *workzone)
 Initialize elliptic curve parameters to default values and specify workzone. More...
 
void ECC_init (ECC_State *state, uint32_t *workzone, uint8_t windowSize, const uint32_t *prime, const uint32_t *order, const uint32_t *a, const uint32_t *b, const uint32_t *generatorX, const uint32_t *generatorY)
 Initialize elliptic curve parameters to specified values and specify workzone. More...
 
uint8_t ECC_generateKey (ECC_State *state, uint32_t *randEntropy, uint32_t *privateKey, uint32_t *publicKey_x, uint32_t *publicKey_y)
 Generate a public key. More...
 
uint8_t ECC_ECDSA_sign (ECC_State *state, uint32_t *privateKey, uint32_t *hash, uint32_t *pmsn, uint32_t *r, uint32_t *s)
 Sign message digest. More...
 
uint8_t ECC_ECDSA_verify (ECC_State *state, uint32_t *publicKey_x, uint32_t *publicKey_y, uint32_t *hash, uint32_t *r, uint32_t *s)
 Verify signature. More...
 
uint8_t ECC_ECDH_computeSharedSecret (ECC_State *state, uint32_t *privateKey, uint32_t *publicKey_x, uint32_t *publicKey_y, uint32_t *sharedSecret_x, uint32_t *sharedSecret_y)
 Compute the shared secret. More...
 
uint8_t ECC_validatePrivateKey (ECC_State *state, uint32_t *privateKey)
 Validate a private key against the currently set elliptic curve. More...
 
uint8_t ECC_validatePublicKey (ECC_State *state, uint32_t *publicKey_x, uint32_t *publicKey_y)
 Validate a public key against the currently set elliptic curve. More...
 

Variables

const ECC_NISTP256_Param ECC_NISTP256_generatorX
 X coordinate of the generator point of the ECC_NISTP256 curve. More...
 
const ECC_NISTP256_Param ECC_NISTP256_generatorY
 Y coordinate of the generator point of the ECC_NISTP256 curve. More...
 
const ECC_NISTP256_Param ECC_NISTP256_prime
 prime of the ECC_NISTP256 curve. More...
 
const ECC_NISTP256_Param ECC_NISTP256_a
 a constant of the ECC_NISTP256 curve when expressed in short Weierstrass form (y^3 = x^2 + a*x + b). More...
 
const ECC_NISTP256_Param ECC_NISTP256_b
 b constant of the ECC_NISTP256 curve when expressed in short Weierstrass form (y^3 = x^2 + a*x + b). More...
 
const ECC_NISTP256_Param ECC_NISTP256_order
 order of the ECC_NISTP256 curve. More...
 
const ECC_NISTP256_Param ECC_NISTP256_k_mont
 k in Montgomery domain of the ECC_NISTP256 curve. More...
 
const ECC_NISTP256_Param ECC_NISTP256_a_mont
 a in Montgomery domain of the ECC_NISTP256 curve. More...
 
const ECC_NISTP256_Param ECC_NISTP256_b_mont
 b in Montgomery domain of the ECC_NISTP256 curve. More...
 
const ECC_NISTP256_Param ECC_NISTP256_gx_mont
 X coordinate of the generator point in Montgomery domain of the ECC_NISTP256 curve. More...
 

Macro Definition Documentation

§ ECC_LENGTH_OFFSET_BYTES

#define ECC_LENGTH_OFFSET_BYTES   4

Number of bytes for the length word prepended before all parameters passed into the ECC functions.

§ ECC_NISTP256_PARAM_LENGTH_BYTES

#define ECC_NISTP256_PARAM_LENGTH_BYTES   32

Length in bytes of NISTP256 curve parameters excluding the prepended length word.

§ ECC_NISTP256_PARAM_LENGTH_WITH_OFFSET_BYTES

#define ECC_NISTP256_PARAM_LENGTH_WITH_OFFSET_BYTES   (ECC_NISTP256_PARAM_LENGTH_BYTES + ECC_LENGTH_OFFSET_BYTES)

Length in bytes of NISTP256 curve parameters including the prepended length word.

§ STATUS_A_COEF_LENGTH_ZERO

#define STATUS_A_COEF_LENGTH_ZERO   0xC5

§ STATUS_A_COEF_TOO_LONG

#define STATUS_A_COEF_TOO_LONG   0x5C

§ STATUS_BAD_WINDOW_SIZE

#define STATUS_BAD_WINDOW_SIZE   0x66

§ STATUS_DIGEST_LENGTH_ZERO

#define STATUS_DIGEST_LENGTH_ZERO   0x72

§ STATUS_DIGEST_TOO_LONG

#define STATUS_DIGEST_TOO_LONG   0x27

§ STATUS_ECC_KEY_LENGTH_ZERO

#define STATUS_ECC_KEY_LENGTH_ZERO   0x52

§ STATUS_ECC_KEY_TOO_LONG

#define STATUS_ECC_KEY_TOO_LONG   0x25

§ STATUS_ECC_POINT_NOT_ON_CURVE

#define STATUS_ECC_POINT_NOT_ON_CURVE   0x15

§ STATUS_ECC_POINT_ON_CURVE

#define STATUS_ECC_POINT_ON_CURVE   0x16

§ STATUS_ECC_X_LARGER_THAN_PRIME

#define STATUS_ECC_X_LARGER_THAN_PRIME   0x11

§ STATUS_ECC_X_ZERO

#define STATUS_ECC_X_ZERO   0x13

§ STATUS_ECC_Y_LARGER_THAN_PRIME

#define STATUS_ECC_Y_LARGER_THAN_PRIME   0x12

§ STATUS_ECC_Y_ZERO

#define STATUS_ECC_Y_ZERO   0x14

§ STATUS_ECDH_COMMON_KEY_OK

#define STATUS_ECDH_COMMON_KEY_OK   STATUS_SCALAR_MUL_OK

§ STATUS_ECDH_KEYGEN_OK

#define STATUS_ECDH_KEYGEN_OK   STATUS_SCALAR_MUL_OK

§ STATUS_ECDSA_INVALID_SIGNATURE

#define STATUS_ECDSA_INVALID_SIGNATURE   0x5A

§ STATUS_ECDSA_KEYGEN_OK

#define STATUS_ECDSA_KEYGEN_OK   STATUS_SCALAR_MUL_OK

§ STATUS_ECDSA_SIGN_OK

#define STATUS_ECDSA_SIGN_OK   0x32

§ STATUS_ECDSA_VALID_SIGNATURE

#define STATUS_ECDSA_VALID_SIGNATURE   0xA5

§ STATUS_MODULUS_EVEN

#define STATUS_MODULUS_EVEN   0xDC

§ STATUS_MODULUS_LARGER_THAN_255_WORDS

#define STATUS_MODULUS_LARGER_THAN_255_WORDS   0xD2

§ STATUS_MODULUS_LENGTH_ZERO

#define STATUS_MODULUS_LENGTH_ZERO   0x08

§ STATUS_MODULUS_MSW_IS_ZERO

#define STATUS_MODULUS_MSW_IS_ZERO   0x30

§ STATUS_ORDER_EVEN

#define STATUS_ORDER_EVEN   0x82

§ STATUS_ORDER_LARGER_THAN_255_WORDS

#define STATUS_ORDER_LARGER_THAN_255_WORDS   0x28

§ STATUS_ORDER_LENGTH_ZERO

#define STATUS_ORDER_LENGTH_ZERO   0x6C

§ STATUS_ORDER_MSW_IS_ZERO

#define STATUS_ORDER_MSW_IS_ZERO   0x23

§ STATUS_ORDER_TOO_LONG

#define STATUS_ORDER_TOO_LONG   0xC6

§ STATUS_PRIVATE_KEY_LARGER_EQUAL_ORDER

#define STATUS_PRIVATE_KEY_LARGER_EQUAL_ORDER   0x18

§ STATUS_PRIVATE_KEY_ZERO

#define STATUS_PRIVATE_KEY_ZERO   0x17

§ STATUS_PRIVATE_VALID

#define STATUS_PRIVATE_VALID   0x19

§ STATUS_SCALAR_LENGTH_ZERO

#define STATUS_SCALAR_LENGTH_ZERO   0x53

§ STATUS_SCALAR_MUL_OK

#define STATUS_SCALAR_MUL_OK   0x99

§ STATUS_SCALAR_TOO_LONG

#define STATUS_SCALAR_TOO_LONG   0x35

§ STATUS_SIG_P1_LENGTH_ZERO

#define STATUS_SIG_P1_LENGTH_ZERO   0x12

§ STATUS_SIG_P1_TOO_LONG

#define STATUS_SIG_P1_TOO_LONG   0x11

§ STATUS_SIG_P2_LENGTH_ZERO

#define STATUS_SIG_P2_LENGTH_ZERO   0x21

§ STATUS_SIG_P2_TOO_LONG

#define STATUS_SIG_P2_TOO_LONG   0x22

§ STATUS_X_COORD_LENGTH_ZERO

#define STATUS_X_COORD_LENGTH_ZERO   0xC3

§ STATUS_X_COORD_TOO_LONG

#define STATUS_X_COORD_TOO_LONG   0x3C

§ STATUS_Y_COORD_LENGTH_ZERO

#define STATUS_Y_COORD_LENGTH_ZERO   0x56

§ STATUS_Y_COORD_TOO_LONG

#define STATUS_Y_COORD_TOO_LONG   0x65

Function Documentation

§ ECC_ECDH_computeSharedSecret()

uint8_t ECC_ECDH_computeSharedSecret ( ECC_State state,
uint32_t *  privateKey,
uint32_t *  publicKey_x,
uint32_t *  publicKey_y,
uint32_t *  sharedSecret_x,
uint32_t *  sharedSecret_y 
)

Compute the shared secret.

Parameters
[in,out]stateStruct to keep track of the state of the operation
[in]privateKeyPointer to private key
[in]publicKey_xPointer to public key X-coordinate
[in]publicKey_yPointer to public key Y-coordinate
[out]sharedSecret_xPointer to shared secret X-coordinate
[out]sharedSecret_yPointer to shared secret Y-coordinate
Returns
Status
209 {
210  return HapiECDHCommonKey(state,
211  privateKey,
212  publicKey_x,
213  publicKey_y,
214  sharedSecret_x,
215  sharedSecret_y);
216 }
#define HapiECDHCommonKey(a, b, c, d, e, f)
Definition: rom.h:276

§ ECC_ECDSA_sign()

uint8_t ECC_ECDSA_sign ( ECC_State state,
uint32_t *  privateKey,
uint32_t *  hash,
uint32_t *  pmsn,
uint32_t *  r,
uint32_t *  s 
)

Sign message digest.

Parameters
[in,out]stateStruct to keep track of the state of the operation
[in]privateKeyPointer to the secret key
[in]hashPointer to the message
[in]pmsnPointer to random string
[out]rPointer to r component of signature
[out]sPointer to s component of signature
Returns
Status
183 {
184  return HapiECDSASign(state, privateKey, hash, pmsn, r, s);
185 }
#define HapiECDSASign(a, b, c, d, e, f)
Definition: rom.h:274

§ ECC_ECDSA_verify()

uint8_t ECC_ECDSA_verify ( ECC_State state,
uint32_t *  publicKey_x,
uint32_t *  publicKey_y,
uint32_t *  hash,
uint32_t *  r,
uint32_t *  s 
)

Verify signature.

Parameters
[in,out]stateStruct to keep track of the state of the operation
[in]publicKey_xPointer to public key X-coordinate
[in]publicKey_yPointer to public key Y-coordinate
[in]hashPointer to hash of message digest
[in]rPointer to r component of signature
[in]sPointer to s component of signature
Returns
Status
196 {
197  return HapiECDSAVerify(state, publicKey_x, publicKey_y, hash, r, s);
198 }
#define HapiECDSAVerify(a, b, c, d, e, f)
Definition: rom.h:275

§ ECC_generateKey()

uint8_t ECC_generateKey ( ECC_State state,
uint32_t *  randEntropy,
uint32_t *  privateKey,
uint32_t *  publicKey_x,
uint32_t *  publicKey_y 
)

Generate a public key.

This is used for both ECDH and ECDSA.

Parameters
[in,out]stateStruct to keep track of the state of the operation
[in]randEntropyPointer to random string
[out]privateKeyPointer to the private key. May be the same location as randEntropy.
[out]publicKey_xPointer to public key X-coordinate
[out]publicKey_yPointer to public key Y-coordinate
Returns
Status
165 {
166  return HapiECCKeyGen(state,
167  randEntropy,
168  privateKey,
169  publicKey_x,
170  publicKey_y);
171 
172 }
#define HapiECCKeyGen(a, b, c, d, e)
Definition: rom.h:273

§ ECC_init()

void ECC_init ( ECC_State state,
uint32_t *  workzone,
uint8_t  windowSize,
const uint32_t *  prime,
const uint32_t *  order,
const uint32_t *  a,
const uint32_t *  b,
const uint32_t *  generatorX,
const uint32_t *  generatorY 
)

Initialize elliptic curve parameters to specified values and specify workzone.

This function may be used to explicitly specify the curve parameters used by the ECC in ROM implementation.

All curve parameters must be prepended with a length word specifying the length of the parameter in 32-bit words excluding the length word itself. For NIST-P256, the length word is 8.

Parameters
stateStruct to keep track of the state of the operation.
workzonePointer to memory allocated for computations, input. See description at beginning of ECC section for memory requirements.
windowSizeWindow size of workzone. Default value is 3.
primeCurve prime
orderCurve order
aCurve a value
bCurve b value
generatorXX coordinate of generator point
generatorYY coordinate of generator point
141 {
142  state->data_Gx = generatorX;
143  state->data_Gy = generatorY;
144  state->data_p = prime;
145  state->data_r = order;
146  state->data_a = a;
147  state->data_b = b;
148  // TODO: change signature to accommodate in future
152  state->win = windowSize;
153  state->workzone = workzone;
154 }
const uint32_t * data_r
Definition: rom.h:61
const uint32_t * data_p
Definition: rom.h:60
const ECC_NISTP256_Param ECC_NISTP256_a_mont
a in Montgomery domain of the ECC_NISTP256 curve.
Definition: rom_ecc.c:97
const ECC_NISTP256_Param ECC_NISTP256_k_mont
k in Montgomery domain of the ECC_NISTP256 curve.
Definition: rom_ecc.c:91
const uint32_t * data_k_mont
Definition: rom.h:66
uint32_t * workzone
Definition: rom.h:69
uint32_t word[ECC_NISTP256_PARAM_LENGTH_WITH_OFFSET_BYTES/sizeof(uint32_t)]
Definition: rom_ecc.h:122
const uint32_t * data_b_mont
Definition: rom.h:68
const uint32_t * data_Gx
Definition: rom.h:64
const uint32_t * data_a
Definition: rom.h:62
const uint32_t * data_a_mont
Definition: rom.h:67
const ECC_NISTP256_Param ECC_NISTP256_b_mont
b in Montgomery domain of the ECC_NISTP256 curve.
Definition: rom_ecc.c:103
const uint32_t * data_b
Definition: rom.h:63
uint8_t win
Definition: rom.h:58
const uint32_t * data_Gy
Definition: rom.h:65

§ ECC_initialize()

void ECC_initialize ( ECC_State state,
uint32_t *  workzone 
)

Initialize elliptic curve parameters to default values and specify workzone.

This function initializes the elliptic curve parameters to default values. The default elliptic curve used is NIST-P256.

The workzone defaults to an expected window size of 3.

This function can be called again to point the ECC workzone at a different memory buffer.

Parameters
stateStruct to keep track of the state of the operation.
workzonePointer to memory allocated for computations, input. See description at beginning of ECC section for memory requirements.
Returns
None
115 {
118  state->data_p = ECC_NISTP256_prime.word;
119  state->data_r = ECC_NISTP256_order.word;
120  state->data_a = ECC_NISTP256_a.word;
121  state->data_b = ECC_NISTP256_b.word;
125  state->win = 3;
126  state->workzone = workzone;
127 }
const uint32_t * data_r
Definition: rom.h:61
const ECC_NISTP256_Param ECC_NISTP256_b
b constant of the ECC_NISTP256 curve when expressed in short Weierstrass form (y^3 = x^2 + a*x + b)...
Definition: rom_ecc.c:79
const uint32_t * data_p
Definition: rom.h:60
const ECC_NISTP256_Param ECC_NISTP256_a_mont
a in Montgomery domain of the ECC_NISTP256 curve.
Definition: rom_ecc.c:97
const ECC_NISTP256_Param ECC_NISTP256_k_mont
k in Montgomery domain of the ECC_NISTP256 curve.
Definition: rom_ecc.c:91
const uint32_t * data_k_mont
Definition: rom.h:66
uint32_t * workzone
Definition: rom.h:69
const ECC_NISTP256_Param ECC_NISTP256_a
a constant of the ECC_NISTP256 curve when expressed in short Weierstrass form (y^3 = x^2 + a*x + b)...
Definition: rom_ecc.c:73
uint32_t word[ECC_NISTP256_PARAM_LENGTH_WITH_OFFSET_BYTES/sizeof(uint32_t)]
Definition: rom_ecc.h:122
const ECC_NISTP256_Param ECC_NISTP256_generatorY
Y coordinate of the generator point of the ECC_NISTP256 curve.
Definition: rom_ecc.c:61
const ECC_NISTP256_Param ECC_NISTP256_generatorX
X coordinate of the generator point of the ECC_NISTP256 curve.
Definition: rom_ecc.c:55
const ECC_NISTP256_Param ECC_NISTP256_order
order of the ECC_NISTP256 curve.
Definition: rom_ecc.c:85
const uint32_t * data_b_mont
Definition: rom.h:68
const uint32_t * data_Gx
Definition: rom.h:64
const ECC_NISTP256_Param ECC_NISTP256_prime
prime of the ECC_NISTP256 curve.
Definition: rom_ecc.c:67
const uint32_t * data_a
Definition: rom.h:62
const uint32_t * data_a_mont
Definition: rom.h:67
const ECC_NISTP256_Param ECC_NISTP256_b_mont
b in Montgomery domain of the ECC_NISTP256 curve.
Definition: rom_ecc.c:103
const uint32_t * data_b
Definition: rom.h:63
uint8_t win
Definition: rom.h:58
const uint32_t * data_Gy
Definition: rom.h:65

§ ECC_validatePrivateKey()

uint8_t ECC_validatePrivateKey ( ECC_State state,
uint32_t *  privateKey 
)

Validate a private key against the currently set elliptic curve.

Validates that private key is within [1, n-1] where n is the order of the elliptic curve.

Parameters
[in,out]stateStruct to keep track of the state of the operation
privateKeyPointer to public key X-coordinate, input.
Returns
Status
234 {
235  return HapiECCValidatePrivateKeyWeierstrass(state, privateKey);
236 }
#define HapiECCValidatePrivateKeyWeierstrass(a, b)
Definition: rom.h:278

§ ECC_validatePublicKey()

uint8_t ECC_validatePublicKey ( ECC_State state,
uint32_t *  publicKey_x,
uint32_t *  publicKey_y 
)

Validate a public key against the currently set elliptic curve.

Parameters
[in,out]stateStruct to keep track of the state of the operation
publicKey_xPointer to public key X-coordinate, input.
publicKey_yPointer to public key Y-coordinate, input.
Returns
Status
224 {
226  publicKey_x,
227  publicKey_y);
228 }
#define HapiECCValidatePublicKeyWeierstrass(a, b, c)
Definition: rom.h:277

Variable Documentation

§ ECC_NISTP256_a

const ECC_NISTP256_Param ECC_NISTP256_a

a constant of the ECC_NISTP256 curve when expressed in short Weierstrass form (y^3 = x^2 + a*x + b).

§ ECC_NISTP256_a_mont

const ECC_NISTP256_Param ECC_NISTP256_a_mont

a in Montgomery domain of the ECC_NISTP256 curve.

§ ECC_NISTP256_b

const ECC_NISTP256_Param ECC_NISTP256_b

b constant of the ECC_NISTP256 curve when expressed in short Weierstrass form (y^3 = x^2 + a*x + b).

§ ECC_NISTP256_b_mont

const ECC_NISTP256_Param ECC_NISTP256_b_mont

b in Montgomery domain of the ECC_NISTP256 curve.

§ ECC_NISTP256_generatorX

const ECC_NISTP256_Param ECC_NISTP256_generatorX

X coordinate of the generator point of the ECC_NISTP256 curve.

§ ECC_NISTP256_generatorY

const ECC_NISTP256_Param ECC_NISTP256_generatorY

Y coordinate of the generator point of the ECC_NISTP256 curve.

§ ECC_NISTP256_gx_mont

const ECC_NISTP256_Param ECC_NISTP256_gx_mont

X coordinate of the generator point in Montgomery domain of the ECC_NISTP256 curve.

§ ECC_NISTP256_k_mont

const ECC_NISTP256_Param ECC_NISTP256_k_mont

k in Montgomery domain of the ECC_NISTP256 curve.

§ ECC_NISTP256_order

const ECC_NISTP256_Param ECC_NISTP256_order

order of the ECC_NISTP256 curve.

§ ECC_NISTP256_prime

const ECC_NISTP256_Param ECC_NISTP256_prime

prime of the ECC_NISTP256 curve.