5 #ifndef BITCOIN_CRYPTO_CHACHA_POLY_AEAD_H 6 #define BITCOIN_CRYPTO_CHACHA_POLY_AEAD_H 126 ChaCha20Poly1305AEAD(
const unsigned char* K_1,
size_t K_1_len,
const unsigned char* K_2,
size_t K_2_len);
140 bool Crypt(
uint64_t seqnr_payload,
uint64_t seqnr_aad,
int aad_pos,
unsigned char* dest,
size_t dest_len,
const unsigned char* src,
size_t src_len,
bool is_encrypt);
146 #endif // BITCOIN_CRYPTO_CHACHA_POLY_AEAD_H bool GetLength(uint32_t *len24_out, uint64_t seqnr_aad, int aad_pos, const uint8_t *ciphertext)
Definition: chacha_poly_aead.cpp:107
ChaCha20 m_chacha_header
Definition: chacha_poly_aead.h:121
static constexpr int CHACHA20_POLY1305_AEAD_KEY_LEN
Definition: chacha_poly_aead.h:12
Definition: chacha20.h:13
unsigned char uint8_t
Definition: stdint.h:19
ChaCha20 m_chacha_main
Definition: chacha_poly_aead.h:120
Definition: chacha_poly_aead.h:117
unsigned int uint32_t
Definition: stdint.h:21
unsigned long long uint64_t
Definition: stdint.h:22
static constexpr int CHACHA20_POLY1305_AEAD_AAD_LEN
Definition: chacha_poly_aead.h:13
unsigned char m_aad_keystream_buffer[CHACHA20_ROUND_OUTPUT]
Definition: chacha_poly_aead.h:122
ChaCha20Poly1305AEAD(const unsigned char *K_1, size_t K_1_len, const unsigned char *K_2, size_t K_2_len)
Definition: chacha_poly_aead.cpp:31
uint64_t m_cached_aad_seqnr
Definition: chacha_poly_aead.h:123
static constexpr int CHACHA20_ROUND_OUTPUT
Definition: chacha_poly_aead.h:14
static constexpr int AAD_PACKAGES_PER_ROUND
Definition: chacha_poly_aead.h:15
bool Crypt(uint64_t seqnr_payload, uint64_t seqnr_aad, int aad_pos, unsigned char *dest, size_t dest_len, const unsigned char *src, size_t src_len, bool is_encrypt)
Definition: chacha_poly_aead.cpp:43