wickr-crypto-c
|
Data Structures | |
struct | wickr_stream_key |
A data structure representing the stream encoding / decoding key material A stream key holds information about the key material used for cipher operations as well as it's next evolution key and the number of packets this key should be used to encode or decode before evolution takes place. More... | |
Functions | |
wickr_stream_key_t * | wickr_stream_key_create (wickr_cipher_key_t *cipher_key, wickr_buffer_t *evolution_key, uint32_t packets_per_evolution) |
wickr_stream_key_t * | wickr_stream_key_create_user_data (wickr_cipher_key_t *cipher_key, wickr_buffer_t *evolution_key, uint32_t packets_per_evolution, wickr_buffer_t *user_data) |
wickr_stream_key_t * | wickr_stream_key_create_rand (const wickr_crypto_engine_t engine, wickr_cipher_t cipher, uint32_t packets_per_evolution) |
wickr_stream_key_t * | wickr_stream_key_copy (const wickr_stream_key_t *stream_key) |
wickr_buffer_t * | wickr_stream_key_serialize (const wickr_stream_key_t *key) |
wickr_stream_key_t * | wickr_stream_key_create_from_buffer (const wickr_buffer_t *buffer) |
void | wickr_stream_key_destroy (wickr_stream_key_t **stream_key) |
wickr_stream_key_t* wickr_stream_key_copy | ( | const wickr_stream_key_t * | stream_key | ) |
Copy a stream key
stream_key | the stream key to copy |
wickr_stream_key_t* wickr_stream_key_create | ( | wickr_cipher_key_t * | cipher_key, |
wickr_buffer_t * | evolution_key, | ||
uint32_t | packets_per_evolution | ||
) |
Create a stream key from components
cipher_key | see documentation of 'wickr_stream_key' structure |
evolution_key | see documentation of 'wickr_stream_key' structure |
packets_per_evolution | see documentation of 'wickr_stream_key' structure |
wickr_stream_key_t* wickr_stream_key_create_from_buffer | ( | const wickr_buffer_t * | buffer | ) |
Create a stream key from a serialized buffer
buffer | the buffer to parse into a stream key |
wickr_stream_key_t* wickr_stream_key_create_rand | ( | const wickr_crypto_engine_t | engine, |
wickr_cipher_t | cipher, | ||
uint32_t | packets_per_evolution | ||
) |
Generate a random stream key
engine | the crypto engine to use for secure random cipher key generation |
cipher | the cipher to use for generation of the internal 'cipher_key' property |
packets_per_evolution | the number of times this key should be used before it evoloves |
wickr_stream_key_t* wickr_stream_key_create_user_data | ( | wickr_cipher_key_t * | cipher_key, |
wickr_buffer_t * | evolution_key, | ||
uint32_t | packets_per_evolution, | ||
wickr_buffer_t * | user_data | ||
) |
Create a stream key from components with user data
cipher_key | see documentation of 'wickr_stream_key' structure |
evolution_key | see documentation of 'wickr_stream_key' structure |
packets_per_evolution | see documentation of 'wickr_stream_key' structure |
user_data | see documentation of 'wickr_stream_key' structure |
void wickr_stream_key_destroy | ( | wickr_stream_key_t ** | stream_key | ) |
Destroy a stream key
stream_key | a pointer to the stream key to destroy. All properties of '*stream_key' will also be destroyed |
wickr_buffer_t* wickr_stream_key_serialize | ( | const wickr_stream_key_t * | key | ) |
Serialize a stream key
key | the key to serialize |