|
- chacha20_prng_block() uses counter in the state struct
- chacha20_setup() replaces chacha20_prng_reseed() and fills the whole
state struct, fixing a bug where only half of the key was being set;
as a result of 'counter' being set, a state struct filled with
entropy from the TRNG makes reseeding occur after a random number of
rounds instead of after a fixed 2^32-1 rounds
- decrementing of the block counter is done in chacha20_prng_block()
- chacha output is copied to buf _after_ the interrupt driven
transmission of buf to UART has finished, to stop the race between
reading and refilling of buf
|