Go to the documentation of this file.
20 #include <amcl/ecp2_BN254.h>
21 #include <amcl/fp12_BN254.h>
88 size_t pat_len,
size_t threshold);
238 cfe_vec *av,
char *gid,
size_t gid_len);
254 char gid[],
size_t gid_len);
Definition: vec_curve.h:34
void cfe_dippe_cipher_free(cfe_dippe_cipher *cipher)
void cfe_dippe_cipher_init(cfe_dippe_cipher *cipher, cfe_dippe *dippe, size_t pol_size)
struct cfe_dippe cfe_dippe
void cfe_dippe_pub_key_init(cfe_dippe_pub_key *pk, cfe_dippe *dippe)
Definition: mat_curve.h:33
cfe_error cfe_dippe_conjunction_policy_vector_init(cfe_vec *pv, cfe_dippe *dippe, size_t num_attrib, size_t pattern[], size_t pat_len)
cfe_error cfe_dippe_attribute_vector_init(cfe_vec *av, size_t num_attrib, size_t pattern[], size_t pat_len)
struct cfe_dippe_cipher cfe_dippe_cipher
void cfe_dippe_generate_master_keys(cfe_dippe_pub_key *pk, cfe_dippe_sec_key *sk, cfe_dippe *dippe)
Matrix struct and operations.
void cfe_dippe_sec_key_init(cfe_dippe_sec_key *sk, cfe_dippe *dippe)
void cfe_dippe_user_sec_key_init(cfe_dippe_user_sec_key *usk, cfe_dippe *dippe)
Vectors of elements of an elliptic curve struct and operations on it.
cfe_error cfe_dippe_decrypt(FP12_BN254 *result, cfe_dippe *dippe, cfe_dippe_user_sec_key *usks, size_t usks_len, cfe_dippe_cipher *cipher, cfe_vec *av, char gid[], size_t gid_len)
struct cfe_dippe_pub_key cfe_dippe_pub_key
Definition: vec_curve.h:50
void cfe_dippe_init(cfe_dippe *dippe, size_t assump_size)
Matrices of elements of an elliptic curve struct and operations on it.
cfe_error cfe_dippe_keygen(cfe_dippe_user_sec_key *usk, cfe_dippe *dippe, size_t usk_id, cfe_dippe_pub_key *pks[], size_t pks_len, cfe_dippe_sec_key *sk, cfe_vec *av, char *gid, size_t gid_len)
cfe_error cfe_dippe_exact_threshold_policy_vector_init(cfe_vec *pv, cfe_dippe *dippe, size_t num_attrib, size_t pattern[], size_t pat_len, size_t threshold)
Vector struct and operations.
void cfe_dippe_sec_key_free(cfe_dippe_sec_key *sk)
Definition: vec_curve.h:42
struct cfe_dippe_sec_key cfe_dippe_sec_key
void cfe_dippe_pub_key_free(cfe_dippe_pub_key *pk)
void cfe_dippe_user_sec_key_free(cfe_dippe_user_sec_key *usk)
struct cfe_dippe_user_sec_key cfe_dippe_user_sec_key
cfe_error cfe_dippe_encrypt(cfe_dippe_cipher *cipher, cfe_dippe *dippe, cfe_dippe_pub_key *pks[], size_t pks_len, cfe_vec *pv, FP12_BN254 *msg)
void cfe_dippe_free(cfe_dippe *dippe)