|
Home > |
|---|
SignInit(), Sign(), VerifyInit(), and Verify().
When performing:
•Sign operation: the key is specified as a buffer of ECC_Curve_t followed by Private Key ECC_PrivateKey_t.
•Verify operation: the key is specified as a buffer of ECC_Curve_t followed by Public Key ECC_PublicKey_t.
See also ECDSA Key Structures.
None
None
#define ECC_MAX_MOD_LEN 571
#define ECC_MAX_BUF_LEN ROUND_UP(ECC_MAX_MOD_LEN, 8)/8
typedef enum ECC_FieldType_et {ECC_FT_GFP,
} ECC_FieldType_t;
typedef enum ECC_FieldType_et {ECC_FT_G2M
} ECC_FieldType_t;
typedef struct ECC_Point_st {unsigned char x[ECC_MAX_BUF_LEN];
} ECC_Point_t;
typedef struct ECC_Point_st {unsigned char y[ECC_MAX_BUF_LEN];
} ECC_Point_t;
typedef struct ECC_Curve_st {ECC_FieldType_t fieldType;
} ECC_Curve_t;
typedef struct ECC_Curve_st {unsigned char modulus[ECC_MAX_BUF_LEN];
} ECC_Curve_t;
typedef struct ECC_Curve_st {unsigned char a[ECC_MAX_BUF_LEN];
} ECC_Curve_t;
typedef struct ECC_Curve_st {unsigned char b[ECC_MAX_BUF_LEN];
} ECC_Curve_t;
typedef struct ECC_Curve_st {ECC_Point_t base;
} ECC_Curve_t;
typedef struct ECC_Curve_st {unsigned char bpOrder[ECC_MAX_BUF_LEN];
} ECC_Curve_t;
This buffer contains a big endian large number regardless of the field type.
typedef struct ECC_PrivateKey_st {unsigned char d[ECC_MAX_BUF_LEN];
} ECC_PrivateKey_t;
The private key is always a big-endian large number, d, regardless of the field type of the curve.
typedef struct ECC_PublicKey_st {ECC_Point_t p;
} ECC_PublicKey_t;