A SERVICE OF

logo

Chapter 2 Algorithm Info Types 71
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 from
AI_ECAcceleratorTable can optionally be used to accelerate this
operation.
Format of info supplied to B_SetAlgorithmInfo:
pointer to a B_EC_PARAMS structure:
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 {
B_INFO_TYPE parameterInfoType; /* used to interpret EC parameters */
POINTER parameterInfoValue; /* describes elliptic curve */
} B_EC_PARAMS;
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;