Loading...
Searching...
No Matches
chacha20poly1305.h File Reference

Chacha20poly1305 functions. More...

Detailed Description

Chacha20poly1305 functions.

Author
Koen Zandberg koen@.nosp@m.berg.nosp@m.zand..nosp@m.net

Definition in file chacha20poly1305.h.

#include "crypto/poly1305.h"
+ Include dependency graph for chacha20poly1305.h:

Go to the source code of this file.

Data Structures

union  chacha20poly1305_ctx_t
 Chacha20poly1305 state struct. More...
 

Macros

#define CHACHA20POLY1305_KEY_BYTES   (32U)
 Key length in bytes.
 
#define CHACHA20POLY1305_NONCE_BYTES   (12U)
 Nonce length in bytes.
 
#define CHACHA20POLY1305_TAG_BYTES   (16U)
 Tag length in bytes.
 

Functions

void chacha20poly1305_encrypt (uint8_t *cipher, const uint8_t *msg, size_t msglen, const uint8_t *aad, size_t aadlen, const uint8_t *key, const uint8_t *nonce)
 Encrypt a plaintext to ciphertext and append a tag to protect the ciphertext and additional data.
 
int chacha20poly1305_decrypt (const uint8_t *cipher, size_t cipherlen, uint8_t *msg, size_t *msglen, const uint8_t *aad, size_t aadlen, const uint8_t *key, const uint8_t *nonce)
 Verify the tag and decrypt a ciphertext to plaintext.
 
void chacha20_encrypt_decrypt (const uint8_t *input, uint8_t *output, const uint8_t *key, const uint8_t *nonce, size_t inputlen)
 Encrypt a plaintext to ciphertext with the ChaCha20 algorithm.