| 94 | } |
| 95 | |
| 96 | static inline uint32_t read32(const uint8_t* p, size_t idx32) { |
| 97 | const size_t i = 4*idx32; |
| 98 | return ((uint32_t)p[i+0] | (uint32_t)p[i+1] << 8 | (uint32_t)p[i+2] << 16 | (uint32_t)p[i+3] << 24); |
| 99 | } |
| 100 | |
| 101 | static void chacha_init(mi_random_ctx_t* ctx, const uint8_t key[32], uint64_t nonce) |
| 102 | { |