AI_ECParameters

AI_ECParameters

Purpose:

This AI allows you to specify EC parameters to be used for elliptic curve operations.

Type of information this allows you to use:

information that was either generated by AI_ECParamGen or which has been imported from an external source. An algorithm object of type AI_ECParameters is initialized either as the resultAlgorithmObject from a call to B_GenerateParameters (AI_ECParamGen) or by simply calling B_SetAlgorithmInfo (AI_ECParameters or AI_ECParameters_BER).

The resulting AI_ECParameters algorithm object may then be used with AI_ECKeyGen to generate keys or with AI_EC_DHKeyAgree to execute key agreements.

Format of info supplied to B_SetAlgorithmInfo:

pointer to an A_EC_PARAMS structure:

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;

 

/* base point of elliptic curve */

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

73

Page 83
Image 83
RSA Security 5 manual AIECParameters, Pointer to an Aecparams structure