aboutsummaryrefslogtreecommitdiff
path: root/sys/libkern
diff options
context:
space:
mode:
authorAndrey A. Chernov <ache@FreeBSD.org>2008-07-25 15:53:32 +0000
committerAndrey A. Chernov <ache@FreeBSD.org>2008-07-25 15:53:32 +0000
commitfff6495ea645e54b761d6d0eb9c7137e64c756b7 (patch)
treef518ccb5238c6e0a8c17cb5534b8b21fa18a43f6 /sys/libkern
parent6a05bf3acf9b9b6cd5b899a1d08bf67afbf39cea (diff)
Notes
Diffstat (limited to 'sys/libkern')
-rw-r--r--sys/libkern/arc4random.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/sys/libkern/arc4random.c b/sys/libkern/arc4random.c
index c0d158392d8ac..3a3227cd211f0 100644
--- a/sys/libkern/arc4random.c
+++ b/sys/libkern/arc4random.c
@@ -69,21 +69,18 @@ arc4_randomstir (void)
arc4_j = (arc4_j + arc4_sbox[n] + key[n]) % 256;
arc4_swap(&arc4_sbox[n], &arc4_sbox[arc4_j]);
}
- arc4_i = arc4_j = 0;
/* Reset for next reseed cycle. */
arc4_t_reseed = tv_now.tv_sec + ARC4_RESEED_SECONDS;
arc4_numruns = 0;
/*
- * Throw away the first N bytes of output, as suggested in the
+ * Throw away the first N words of output, as suggested in the
* paper "Weaknesses in the Key Scheduling Algorithm of RC4"
- * by Fluher, Mantin, and Shamir. N=768 is based on
- * suggestions in the paper "(Not So) Random Shuffles of RC4"
- * by Ilya Mironov.
+ * by Fluher, Mantin, and Shamir. (N = 256 in our case.)
*/
- for (n = 0; n < 768; n++)
- (void)arc4_randbyte();
+ for (n = 0; n < 256*4; n++)
+ arc4_randbyte();
mtx_unlock(&arc4_mtx);
}