/* * Copyright (C) 2016 Kaspar Schleiser * * This file is subject to the terms and conditions of the GNU Lesser * General Public License v2.1. See the file LICENSE in the top level * directory for more details. */ #include #include #include "random.h" #include void randombytes(uint8_t *target, uint64_t n) { uint32_t random; uint8_t *random_pos = (uint8_t*)&random; unsigned _n = 0; while (n--) { if (! (_n++ & 0x3)) { random = random_uint32(); random_pos = (uint8_t *) &random; } *target++ = *random_pos++; } }