libusual  0.1
Data Structures | Functions
usual/crypto/chacha.h File Reference

ChaCha cipher. More...

Data Structures

struct  ChaCha
 ChaCha state. More...

Functions

void chacha_set_key_256 (struct ChaCha *ctx, const void *key)
 Set 256-bit key.
void chacha_set_key_128 (struct ChaCha *ctx, const void *key)
 Set 128-bit key.
void chacha_set_nonce (struct ChaCha *ctx, uint32_t counter_low, uint32_t counter_high, const void *iv)
 Set 2x32-bit counter and 8-byte IV.
void chacha_keystream (struct ChaCha *ctx, void *stream, size_t bytes)
 Extract plain keystream.
void chacha_keystream_xor (struct ChaCha *ctx, const void *plain, void *encrypted, size_t bytes)
 XOR data with keystream.

Detailed Description

ChaCha cipher.


Function Documentation

void chacha_set_key_256 ( struct ChaCha ctx,
const void *  key 
)

Set 256-bit key.

void chacha_set_key_128 ( struct ChaCha ctx,
const void *  key 
)

Set 128-bit key.

void chacha_set_nonce ( struct ChaCha ctx,
uint32_t  counter_low,
uint32_t  counter_high,
const void *  iv 
)

Set 2x32-bit counter and 8-byte IV.

void chacha_keystream ( struct ChaCha ctx,
void *  stream,
size_t  bytes 
)

Extract plain keystream.

void chacha_keystream_xor ( struct ChaCha ctx,
const void *  plain,
void *  encrypted,
size_t  bytes 
)

XOR data with keystream.