![]() |
GNUnet
0.11.x
|
functions for Attribute-Based Encryption More...
#include "platform.h"
#include <pbc/pbc.h>
#include <gabe.h>
#include "gnunet_crypto_lib.h"
#include "gnunet_abe_lib.h"
Go to the source code of this file.
Data Structures | |
struct | GNUNET_ABE_AbeMasterKey |
struct | GNUNET_ABE_AbeKey |
Functions | |
static int | init_aes (element_t k, int enc, gcry_cipher_hd_t *handle, struct GNUNET_CRYPTO_SymmetricSessionKey *key, unsigned char *iv) |
static int | aes_128_cbc_encrypt (char *pt, int size, element_t k, char **ct) |
static int | aes_128_cbc_decrypt (char *ct, int size, element_t k, char **pt) |
struct GNUNET_ABE_AbeMasterKey * | GNUNET_ABE_cpabe_create_master_key (void) |
Create a new CP-ABE master key. More... | |
void | GNUNET_ABE_cpabe_delete_master_key (struct GNUNET_ABE_AbeMasterKey *key) |
Delete a CP-ABE master key. More... | |
struct GNUNET_ABE_AbeKey * | GNUNET_ABE_cpabe_create_key (struct GNUNET_ABE_AbeMasterKey *key, char **attrs) |
Create a new CP-ABE key. More... | |
void | GNUNET_ABE_cpabe_delete_key (struct GNUNET_ABE_AbeKey *key, int delete_pub) |
Delete a CP-ABE key. More... | |
static ssize_t | write_cpabe (void **result, uint32_t file_len, char *cph_buf, int cph_buf_len, char *aes_buf, int aes_buf_len) |
static ssize_t | read_cpabe (const void *data, char **cph_buf, int *cph_buf_len, char **aes_buf, int *aes_buf_len) |
ssize_t | GNUNET_ABE_cpabe_encrypt (const void *block, size_t size, const char *policy, const struct GNUNET_ABE_AbeMasterKey *key, void **result) |
Encrypt a block using sessionkey. More... | |
ssize_t | GNUNET_ABE_cpabe_decrypt (const void *block, size_t size, const struct GNUNET_ABE_AbeKey *key, void **result) |
Decrypt a block using the ABE key. More... | |
ssize_t | GNUNET_ABE_cpabe_serialize_key (const struct GNUNET_ABE_AbeKey *key, void **result) |
Serialize an ABE key. More... | |
struct GNUNET_ABE_AbeKey * | GNUNET_ABE_cpabe_deserialize_key (const void *data, size_t len) |
Deserialize a serialized ABE key. More... | |
ssize_t | GNUNET_ABE_cpabe_serialize_master_key (const struct GNUNET_ABE_AbeMasterKey *key, void **result) |
Serialize an ABE master key. More... | |
struct GNUNET_ABE_AbeMasterKey * | GNUNET_ABE_cpabe_deserialize_master_key (const void *data, size_t len) |
Deserialize an ABE master key. More... | |
functions for Attribute-Based Encryption
Definition in file abe.c.
|
static |
Definition at line 49 of file abe.c.
References GNUNET_CRYPTO_SymmetricSessionKey::aes_key, GNUNET_assert, GNUNET_CRYPTO_AES_KEY_LENGTH, and GNUNET_memcpy.
Referenced by aes_128_cbc_decrypt(), and aes_128_cbc_encrypt().
|
static |
Definition at line 82 of file abe.c.
References buf, GNUNET_assert, GNUNET_free, GNUNET_malloc, GNUNET_memcpy, handle, init_aes(), len, and size.
Referenced by GNUNET_ABE_cpabe_encrypt().
|
static |
Definition at line 121 of file abe.c.
References GNUNET_assert, GNUNET_free, GNUNET_malloc, GNUNET_memcpy, handle, init_aes(), and len.
Referenced by GNUNET_ABE_cpabe_decrypt().
|
static |
Definition at line 238 of file abe.c.
References GNUNET_malloc, GNUNET_memcpy, len, and result.
Referenced by GNUNET_ABE_cpabe_encrypt(), GNUNET_ABE_cpabe_serialize_key(), and GNUNET_ABE_cpabe_serialize_master_key().
|
static |
Definition at line 267 of file abe.c.
References GNUNET_malloc, GNUNET_memcpy, and len.
Referenced by GNUNET_ABE_cpabe_decrypt(), GNUNET_ABE_cpabe_deserialize_key(), and GNUNET_ABE_cpabe_deserialize_master_key().