From c999fb6462af9ca64b4ba70b4daa228331d98e20 Mon Sep 17 00:00:00 2001 From: Zack Date: Sun, 21 Jul 2013 18:35:12 -0230 Subject: Implemented a faster algorithm for generating nonces --- core/net_crypto.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'core') diff --git a/core/net_crypto.c b/core/net_crypto.c index 270c969a..cbca250b 100644 --- a/core/net_crypto.c +++ b/core/net_crypto.c @@ -138,14 +138,18 @@ void increment_nonce(uint8_t * nonce) } } -/* fill the given nonce with random bytes. - TODO: make this more optimized */ +/* fill the given nonce with random bytes. */ void random_nonce(uint8_t * nonce) { - uint32_t i; - for(i = 0; i < crypto_box_NONCEBYTES; ++i) - { - nonce[i] = random_int() % 256; + uint32_t i, j, r, m = crypto_box_NONCEBYTES / 3, ind = 0; + for(i = 0; i < m; ++i) + { + r = ranom_int(); + for (j = 0; j < 3; j++) { + nonce[ind] = r % 1000 % 256; + r /= 1000; + ++ind; + } } } -- cgit v1.2.3