projects
/
u
/
mdw
/
catacomb
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
d03ab96
)
Make pool and buffer sizes more sensible.
author
mdw
<mdw>
Tue, 12 Oct 1999 21:00:15 +0000
(21:00 +0000)
committer
mdw
<mdw>
Tue, 12 Oct 1999 21:00:15 +0000
(21:00 +0000)
rand.c
patch
|
blob
|
blame
|
history
rand.h
patch
|
blob
|
blame
|
history
diff --git
a/rand.c
b/rand.c
index
036ba4d
..
9aea479
100644
(file)
--- a/
rand.c
+++ b/
rand.c
@@
-1,6
+1,6
@@
/* -*-c-*-
*
/* -*-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
*
*
* Secure random number generator
*
@@
-30,6
+30,9
@@
/*----- Revision history --------------------------------------------------*
*
* $Log: rand.c,v $
/*----- 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.
*
* 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;
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 != 12
79
+#if RAND_POOLSZ != 12
8
# error Polynomial in rand_add is out of date. Fix it.
#endif
RAND_RESOLVE(r);
# 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++;
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;
rot = (rot + 5) & 7;
i++; if (i >= RAND_POOLSZ) i -= RAND_POOLSZ;
- mid++; if (mid >= RAND_POOLSZ) mid -= RAND_POOLSZ;
sz--;
}
sz--;
}
diff --git
a/rand.h
b/rand.h
index
8ccd38c
..
2656eaf
100644
(file)
--- a/
rand.h
+++ b/
rand.h
@@
-1,6
+1,6
@@
/* -*-c-*-
*
/* -*-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
*
*
* Secure random number generator
*
@@
-30,6
+30,9
@@
/*----- Revision history --------------------------------------------------*
*
* $Log: rand.h,v $
/*----- 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.
*
* Revision 1.1 1999/09/03 08:41:12 mdw
* Initial import.
*
@@
-89,8
+92,8
@@
/*----- Magic numbers -----------------------------------------------------*/
/*----- Magic numbers -----------------------------------------------------*/
-#define RAND_POOLSZ 12
79
/* Input pool size in bytes */
-#define RAND_BUFSZ 1
024
/* Output buffer size in bytes */
+#define RAND_POOLSZ 12
8
/* Input pool size in bytes */
+#define RAND_BUFSZ 1
28
/* Output buffer size in bytes */
#define RAND_SECSZ 20 /* Secret octets in output buffer */
#define RAND_IBITS (RAND_POOLSZ * 8)
#define RAND_SECSZ 20 /* Secret octets in output buffer */
#define RAND_IBITS (RAND_POOLSZ * 8)