| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| #ifndef NETTLE_CHACHA_H_INCLUDED |
| #define NETTLE_CHACHA_H_INCLUDED |
|
|
| #include "nettle-types.h" |
|
|
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
|
|
| |
| #define chacha_set_key nettle_chacha_set_key |
| #define chacha_set_nonce nettle_chacha_set_nonce |
| #define chacha_set_nonce96 nettle_chacha_set_nonce96 |
| #define chacha_set_counter nettle_chacha_set_counter |
| #define chacha_set_counter32 nettle_chacha_set_counter32 |
| #define chacha_crypt nettle_chacha_crypt |
| #define chacha_crypt32 nettle_chacha_crypt32 |
|
|
| |
| #define CHACHA_KEY_SIZE 32 |
| #define CHACHA_BLOCK_SIZE 64 |
| #define CHACHA_NONCE_SIZE 8 |
| #define CHACHA_NONCE96_SIZE 12 |
| #define CHACHA_COUNTER_SIZE 8 |
| #define CHACHA_COUNTER32_SIZE 4 |
|
|
| #define _CHACHA_STATE_LENGTH 16 |
|
|
| struct chacha_ctx |
| { |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| uint32_t state[_CHACHA_STATE_LENGTH]; |
| }; |
|
|
| void |
| chacha_set_key(struct chacha_ctx *ctx, const uint8_t *key); |
|
|
| void |
| chacha_set_nonce(struct chacha_ctx *ctx, const uint8_t *nonce); |
|
|
| void |
| chacha_set_nonce96(struct chacha_ctx *ctx, const uint8_t *nonce); |
|
|
| void |
| chacha_set_counter(struct chacha_ctx *ctx, const uint8_t *counter); |
|
|
| void |
| chacha_set_counter32(struct chacha_ctx *ctx, const uint8_t *counter); |
|
|
| void |
| chacha_crypt(struct chacha_ctx *ctx, size_t length, |
| uint8_t *dst, const uint8_t *src); |
|
|
| void |
| chacha_crypt32(struct chacha_ctx *ctx, size_t length, |
| uint8_t *dst, const uint8_t *src); |
|
|
| #ifdef __cplusplus |
| } |
| #endif |
|
|
| #endif |
|
|