AI_ECAcceleratorTable

AI_ECKeyGen

AI_ECKeyGen

Purpose:

This AI allows you to generate an elliptic curve key pair for given EC parameters.

Type of information this allows you to use:

the parameters for generating a compatible elliptic curve key pair. The precomputed

table values fromcan optionally be used to accelerate this operation.

Format of info supplied to B_SetAlgorithmInfo:

pointer to a B_EC_PARAMS structure:

typedef struct {

 

B_INFO_TYPE parameterInfoType;

/* used to interpret EC parameters */

POINTER

parameterInfoValue;

/* describes elliptic curve */

} B_EC_PARAMS;

 

 

 

 

 

where parameterInfoType must be AI_ECParameters or AI_ECParametersBER, and parameterInfoValue must be a pointer to an A_EC_PARAMS structure or to an ITEM containing the BER-encoded EC Parameters.:

typedef struct

{

 

 

unsigned int

version;

 

/* implementation version */

unsigned int

fieldType;

 

/* indicates type of base field */

ITEM

fieldInfo;

/* The prime number if fieldType = FT_FP; */

 

/* the basis polynomial if fieldType = FT_F2_POLYNOMIAL; */

 

/* and the degree of the field if fieldType = FT_F2_ONB */

ITEM

coeffA;

 

/* elliptic curve coefficient */

ITEM

coeffB;

 

/* elliptic curve coefficient */

ITEM

base;

 

/* elliptic curve group generator */

ITEM

order;

/* order of subgroup’s generating element */

ITEM

cofactor;

 

/* the cofactor of the subgroup */

unsigned int

pointRepresentation;

/* not used. */

 

 

 

/* set to CI_NO_COMPRESS as a default */

unsigned int fieldElementBits;

 

/* field element size in bits */

} A_EC_PARAMS;

 

 

 

 

 

 

 

C h a p t e r 2 A l g o r i t h m I n f o Ty p e s

71

Page 81
Image 81
RSA Security 5 manual AIECKeyGen, Pointer to a Becparams structure