|
|
| AI_ECBuildAcceleratorTable |
|
|
| |
an A_EC_PARAMS structure: |
|
| |
|
|
|
|
typedef struct | { |
|
|
unsigned int | version; |
| /* implementation version */ |
unsigned int | fieldType; |
| /* indicates type of base field */ |
ITEM | fieldInfo; |
| /* It is 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; |
|
|
|
|
|
|
|
Format of info returned by B_GetAlgorithmInfo:
B_GetAlgorithmInfo is not supported with this AI. If called, it will return an error.
Crypto-C procedures to use with algorithm object:
B_BuildTableInit and B_BuildTableFinal.
Algorithm methods to include in application’s algorithm chooser:
AM_ECFP_BLD_ACCEL_TABLE for odd prime fields and AM_ECF2POLY_BLD_ACCEL_TABLE for even characteristic.
Output Considerations:
The size of the accelerator table may be found through a call to
B_BuildTableGetBufSize after a call to B_BuildTableInit.
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 | 61 |