66                const uint8_t *key, uint32_t keylen,
 
   67                const uint8_t nonce[8]);
 
void chacha_keystream_bytes(chacha_ctx *ctx, void *x)
Generate next block in the keystream.
 
uint32_t chacha_prng_next(void)
Extract a number from the pseudo-random number generator.
 
static void chacha_decrypt_bytes(chacha_ctx *ctx, const uint8_t *m, uint8_t *c)
Encode or decode a block of data.
 
void chacha_prng_seed(const void *data, size_t bytes)
Seed the pseudo-random number generator.
 
void chacha_encrypt_bytes(chacha_ctx *ctx, const uint8_t *m, uint8_t *c)
Encode or decode a block of data.
 
int chacha_init(chacha_ctx *ctx, unsigned rounds, const uint8_t *key, uint32_t keylen, const uint8_t nonce[8])
Initialize a ChaCha context.
 
A ChaCha cipher stream context.
 
uint8_t rounds
Number of iterations.
 
uint32_t state[16]
The current state of the stream.