libseccure is a small, portable C library that handles abstracting much of the work involved with ECC.
ECC_State
The ECC_State object is passed from function to function in order to ensure some information about the curves, the state of the libgcrypt memory pools, etc are accessible.
ECC_Options
ECC_KeyPair
ECC_Data
ECC_State ecc_new_state( ECC_Options options )
void ecc_free_state( ECC_State state )
ECC_KeyPair ecc_new_keypair( char * publickey, char * privatekey, ECC_State state )
void ecc_free_keypair( ECC_KeyPair keypair )
ECC_Options ecc_new_options(void)
ECC_Data ecc_new_data(void)
void ecc_free_data( ECC_Data data )
const char * ecc_mpi_to_str( gcry_mpi_t key )
char * ecc_serialize_private_key( ECC_KeyPair keypair, ECC_State state )
ECC_Data ecc_encrypt( void * data, int datalen, ECC_KeyPair keypair, ECC_State state )
ECC_Data ecc_decrypt( ECC_Data data, ECC_KeyPair keypair, ECC_State state )
ECC_Data ecc_sign( char * data, ECC_KeyPair keypair, ECC_State state )
bool ecc_verify( char * data, char * signature, ECC_KeyPair keypair, ECC_State state )