bytes_t * tc_join_signatures(const signature_share_t **signatures, const bytes_t *document, const key_metainfo_t *info)
char * tc_serialize_signature_share(const signature_share_t *ss)
bytes_t * tc_b64_bytes(const char *s)
void tc_clear_key_shares(key_share_t **shares, key_metainfo_t *info)
char * tc_serialize_key_metainfo(const key_metainfo_t *kmi)
void tc_clear_key_share(key_share_t *share)
signature_share_t * tc_deserialize_signature_share(const char *b64)
bytes_t * tc_init_bytes_copy(void *bs, size_t len)
char * tc_serialize_key_share(const key_share_t *ks)
void tc_clear_key_metainfo(key_metainfo_t *info)
Structure that's stores a pointer that points to data_len bytes.
Structure that represents a signature share, to be joined generating a standard RSA signatures...
key_share_t ** tc_generate_keys(key_metainfo_t **metainfo, size_t bit_size, uint16_t k, uint16_t l, bytes_t *e)
int tc_key_meta_info_l(const key_metainfo_t *i)
const bytes_t * tc_public_key_e(const public_key_t *pk)
void * tc_release_bytes(bytes_t *bytes, uint32_t *len)
tc_hash_type
Hash functions to be used when preparing a document to be signed.
Structure that represents a standard RSA public key. Used to verify signatures.
void tc_clear_bytes_n(bytes_t *bytes,...)
int tc_signature_share_id(const signature_share_t *s)
int tc_verify_signature(const signature_share_t *signature, const bytes_t *doc, const key_metainfo_t *info)
void tc_clear_signature_share(signature_share_t *ss)
bytes_t * tc_prepare_document(const bytes_t *doc, tc_hash_type_t hash_type, const key_metainfo_t *metainfo)
const public_key_t * tc_key_meta_info_public_key(const key_metainfo_t *i)
key_metainfo_t * tc_deserialize_key_metainfo(const char *b64)
signature_share_t * tc_node_sign(const key_share_t *share, const bytes_t *doc, const key_metainfo_t *info)
key_share_t * tc_deserialize_key_share(const char *b64)
int tc_key_meta_info_k(const key_metainfo_t *i)
enum tc_hash_type tc_hash_type_t
Structure that represents one key share, to be used to generate a signature share.
void tc_clear_bytes(bytes_t *bytes)
bytes_t * tc_init_bytes(void *bs, size_t len)
int tc_key_share_id(const key_share_t *k)
char * tc_bytes_b64(const bytes_t *b)
int tc_rsa_verify(bytes_t *signature, bytes_t *doc, key_metainfo_t *info, tc_hash_type_t hashtype)
const bytes_t * tc_public_key_n(const public_key_t *pk)