phys addr arg of 0 must be possible for pt_writemap too (instead of meaning
[minix.git] / servers / inet / generic / rand256.c
blob736cdbe332abb5d043bb1241a1b5d0037249bf06
1 /*
2 rand256.c
4 Created: Oct 2000 by Philip Homburg <philip@f-mnx.phicoh.com>
6 Generate 256-bit random numbers
7 */
9 #include <sha2.h>
10 #include "inet.h"
11 #include "rand256.h"
13 PRIVATE u32_t base_bits[8];
15 PUBLIC void init_rand256(bits)
16 u8_t bits[32];
18 memcpy(base_bits, bits, sizeof(base_bits));
21 PUBLIC void rand256(bits)
22 u8_t bits[32];
24 u32_t a;
25 SHA256_CTX ctx;
27 a= ++base_bits[0];
28 if (a == 0)
29 base_bits[1]++;
30 SHA256_Init(&ctx);
31 SHA256_Update(&ctx, (unsigned char *)base_bits, sizeof(base_bits));
32 SHA256_Final(bits, &ctx);
36 * $PchId: rand256.c,v 1.1 2005/06/28 14:13:43 philip Exp $