65 int (*symmetric_encrypt)(
const uint8_t* key,
67 const uint8_t* plaintext,
72 size_t* ciphertext_len,
88 int (*symmetric_decrypt)(
const uint8_t* key,
90 const uint8_t* ciphertext,
91 size_t ciphertext_len,
97 size_t* plaintext_len);
105 int (*generate_keypair)(
char* public_key,
119 int (*asymmetric_encrypt)(
const char* public_key,
121 const uint8_t* plaintext,
122 size_t plaintext_len,
124 size_t* ciphertext_len);
134 int (*asymmetric_decrypt)(
const char* private_key,
136 const uint8_t* ciphertext,
137 size_t ciphertext_len,
139 size_t* plaintext_len);
149 int (*sign)(
const char* private_key,
164 int (*verify)(
const char* public_key,
168 const uint8_t* signature,