Re: [PATCH 3/3] crypto: exynos - Reseed PRNG after generating 2^16 random bytes
flat view
From: Krzysztof Kozlowski <krzk@kernel.org>
Date: 2017-12-05 13:55:44
Also in:
linux-samsung-soc, lkml
On Tue, Dec 5, 2017 at 1:35 PM, Łukasz Stelmach [off-list ref] wrote:
Reseed PRNG after reading 65 kB of randomness. Although this may reduce performance, in most casese the loss is not noticable.
s/casese/cases/
s/noticable/noticeable/
Please explain why you want to reseed after 65 kB (as opposite to
current implementation). Mention also why you are changing the time of
reseed.
quoted hunk ↗ jump to hunk
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com> --- drivers/crypto/exynos-rng.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-)diff --git a/drivers/crypto/exynos-rng.c b/drivers/crypto/exynos-rng.c index 002e9d2a83cc..0bf07a655813 100644 --- a/drivers/crypto/exynos-rng.c +++ b/drivers/crypto/exynos-rng.c@@ -54,12 +54,15 @@ enum exynos_prng_type { }; /* - * Driver re-seeds itself with generated random numbers to increase - * the randomness. + * Driver re-seeds itself with generated random numbers to hinder + * backtracking of the original seed. * * Time for next re-seed in ms. */ -#define EXYNOS_RNG_RESEED_TIME 100 +#define EXYNOS_RNG_RESEED_TIME 1000 +#define EXYNOS_RNG_RESEED_BYTES 65536 + +
Just one empty line.
quoted hunk ↗ jump to hunk
/* * In polling mode, do not wait infinitely for the engine to finish the work. */@@ -81,6 +84,8 @@ struct exynos_rng_dev { unsigned int seed_save_len; /* Time of last seeding in jiffies */ unsigned long last_seeding; + /* Bytes generated since last seeding */ + unsigned long bytes_seeding; }; static struct exynos_rng_dev *exynos_rng_dev;@@ -125,6 +130,7 @@ static int exynos_rng_set_seed(struct exynos_rng_dev *rng, } rng->last_seeding = jiffies; + rng->bytes_seeding = 0; return 0; }@@ -166,6 +172,8 @@ static int exynos_rng_get_random(struct exynos_rng_dev *rng, memcpy_fromio(dst, rng->mem + EXYNOS_RNG_OUT_BASE, *read); return 0; + +
No need for these lines. Best regards, Krzysztof