38 lines
		
	
	
		
			605 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			605 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
| rand256.c
 | |
| 
 | |
| Created:	Oct 2000 by Philip Homburg <philip@f-mnx.phicoh.com>
 | |
| 
 | |
| Generate 256-bit random numbers 
 | |
| */
 | |
| 
 | |
| #include <sha2.h>
 | |
| #include "inet.h"
 | |
| #include "rand256.h"
 | |
| 
 | |
| PRIVATE u32_t base_bits[8];
 | |
| 
 | |
| PUBLIC void init_rand256(bits)
 | |
| u8_t bits[32];
 | |
| {
 | |
| 	memcpy(base_bits, bits, sizeof(base_bits));
 | |
| }
 | |
| 
 | |
| PUBLIC void rand256(bits)
 | |
| u8_t bits[32];
 | |
| {
 | |
| 	u32_t a;
 | |
| 	SHA256_CTX ctx;
 | |
| 
 | |
| 	a= ++base_bits[0];
 | |
| 	if (a == 0)
 | |
| 		base_bits[1]++;
 | |
| 	SHA256_Init(&ctx);
 | |
| 	SHA256_Update(&ctx, (unsigned char *)base_bits, sizeof(base_bits));
 | |
| 	SHA256_Final(bits, &ctx);
 | |
| }
 | |
| 
 | |
| /*
 | |
|  * $PchId: rand256.c,v 1.1 2005/06/28 14:13:43 philip Exp $
 | |
|  */
 | 
