mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-04-26 03:39:58 -07:00
23 lines
734 B
C
23 lines
734 B
C
#ifndef CHACHA20POLY1305_H
|
|
#define CHACHA20POLY1305_H
|
|
|
|
#include <stdint.h>
|
|
#include "ecrypt_sync.h"
|
|
#include "poly1305_donna.h"
|
|
|
|
typedef struct {
|
|
ECRYPT_ctx chacha20;
|
|
poly1305_context poly1305;
|
|
} chacha20poly1305_ctx;
|
|
|
|
void xchacha20poly1305_init(
|
|
chacha20poly1305_ctx* ctx,
|
|
const uint8_t key[32],
|
|
const uint8_t nonce[24]);
|
|
void chacha20poly1305_encrypt(chacha20poly1305_ctx* ctx, const uint8_t* in, uint8_t* out, size_t n);
|
|
void chacha20poly1305_decrypt(chacha20poly1305_ctx* ctx, const uint8_t* in, uint8_t* out, size_t n);
|
|
void chacha20poly1305_auth(chacha20poly1305_ctx* ctx, const uint8_t* in, size_t n);
|
|
void chacha20poly1305_finish(chacha20poly1305_ctx* ctx, uint8_t mac[16]);
|
|
|
|
#endif // CHACHA20POLY1305_H
|