[PATCH] Discard 3072 bytes instead of 256 bytes
codarrenvelvindron <[email protected]> Sat, 18 Mar 2017 18:08:13 +0400
| Newsgroups | gmane.comp.lib.uclibc.general |
|---|---|
| Message-ID | <20170318140813.GA8925@codarren-MS-7758> |
As per the recommendations outlined in Network Operations Division Cryptographic Requirements published on Wikileaks on March 2017. We discard more bytes of the first keysteam to reduce the possibility of non-random bytes. Similar to a change in FreeBSD: https://svnweb.freebsd.org/base?view=revision&revision=315225 Signed-off-by: Codarren Velvindron <[email protected]> --- libc/stdlib/arc4random.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libc/stdlib/arc4random.c b/libc/stdlib/arc4random.c index 0013612..4801886 100644 --- a/libc/stdlib/arc4random.c +++ b/libc/stdlib/arc4random.c @@ -154,8 +154,11 @@ arc4_stir(struct arc4_stream *as) /* * Discard early keystream, as per recommendations in: * http://www.wisdom.weizmann.ac.il/~itsik/RC4/Papers/Rc4_ksa.ps + * As per the Network Operations Division, cryptographic requirements + * published on wikileaks on March 2017 */ - for (n = 0; n < 256; n++) + + for (n = 0; n < 3072; n++) (void)arc4_getbyte(as); arc4_count = 1600000; } -- 2.7.4