From ba044e65f37effe25ed5a6fa86d7c250b8065f60 Mon Sep 17 00:00:00 2001 From: mdw Date: Tue, 12 Oct 1999 21:00:15 +0000 Subject: [PATCH] Make pool and buffer sizes more sensible. --- rand.c | 18 +++++++++++------- rand.h | 9 ++++++--- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/rand.c b/rand.c index 036ba4d..9aea479 100644 --- a/rand.c +++ b/rand.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: rand.c,v 1.1 1999/09/03 08:41:12 mdw Exp $ + * $Id: rand.c,v 1.2 1999/10/12 21:00:15 mdw Exp $ * * Secure random number generator * @@ -30,6 +30,9 @@ /*----- Revision history --------------------------------------------------* * * $Log: rand.c,v $ + * Revision 1.2 1999/10/12 21:00:15 mdw + * Make pool and buffer sizes more sensible. + * * Revision 1.1 1999/09/03 08:41:12 mdw * Initial import. * @@ -151,23 +154,24 @@ void rand_key(rand_pool *r, const void *k, size_t sz) void rand_add(rand_pool *r, const void *p, size_t sz, unsigned goodbits) { const octet *c = p; - int i, rot, mid; + int i, rot; -#if RAND_POOLSZ != 1279 +#if RAND_POOLSZ != 128 # error Polynomial in rand_add is out of date. Fix it. #endif RAND_RESOLVE(r); - i = r->i; rot = r->irot; mid = i + 418; - if (mid >= RAND_POOLSZ) mid -= RAND_POOLSZ; + i = r->i; rot = r->irot; while (sz) { octet o = *c++; - r->pool[i] ^= (ROL8(o, rot) ^ r->pool[mid]); + r->pool[i] ^= (ROL8(o, rot) ^ + r->pool[(i + 1) % RAND_POOLSZ] ^ + r->pool[(i + 2) % RAND_POOLSZ] ^ + r->pool[(i + 7) % RAND_POOLSZ]); rot = (rot + 5) & 7; i++; if (i >= RAND_POOLSZ) i -= RAND_POOLSZ; - mid++; if (mid >= RAND_POOLSZ) mid -= RAND_POOLSZ; sz--; } diff --git a/rand.h b/rand.h index 8ccd38c..2656eaf 100644 --- a/rand.h +++ b/rand.h @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: rand.h,v 1.1 1999/09/03 08:41:12 mdw Exp $ + * $Id: rand.h,v 1.2 1999/10/12 21:00:15 mdw Exp $ * * Secure random number generator * @@ -30,6 +30,9 @@ /*----- Revision history --------------------------------------------------* * * $Log: rand.h,v $ + * Revision 1.2 1999/10/12 21:00:15 mdw + * Make pool and buffer sizes more sensible. + * * Revision 1.1 1999/09/03 08:41:12 mdw * Initial import. * @@ -89,8 +92,8 @@ /*----- Magic numbers -----------------------------------------------------*/ -#define RAND_POOLSZ 1279 /* Input pool size in bytes */ -#define RAND_BUFSZ 1024 /* Output buffer size in bytes */ +#define RAND_POOLSZ 128 /* Input pool size in bytes */ +#define RAND_BUFSZ 128 /* Output buffer size in bytes */ #define RAND_SECSZ 20 /* Secret octets in output buffer */ #define RAND_IBITS (RAND_POOLSZ * 8) -- 2.11.0