#ifndef __STM32_CHACHA20_H #define __STM32_CHACHA20_H #include #define CHACHA20_BLOCK_SIZE_WORDS 16 #define CHACHA20_BLOCK_SIZE (CHACHA20_BLOCK_SIZE_WORDS * 4) struct cc20_state { union { struct { uint32_t constant[4]; uint32_t key[8]; uint32_t counter; uint32_t nonce[3]; } s; uint32_t i[CHACHA20_BLOCK_SIZE_WORDS]; }; }; void chacha20_prng_block(struct cc20_state *cc, uint8_t *out); int chacha20_prng_self_test(); #endif /* __STM32_CHACHA20_H */