Blame view

RIOT/pkg/tweetnacl/src/randombytes.c 646 Bytes
a752c7ab   elopes   add first test an...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
  /*
   * Copyright (C) 2016 Kaspar Schleiser <kaspar@schleiser.de>
   *
   * 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 <stdint.h>
  #include <string.h>
  
  #include "random.h"
  
  #include <stdio.h>
  
  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++;
      }
  }