Jason A. Donenfeld
acbf6f4851
random: use hash function for crng_slow_load()
...
commit 66e4c2b9541503d721e936cc3898c9f25f4591ff upstream.
Since we have a hash function that's really fast, and the goal of
crng_slow_load() is reportedly to "touch all of the crng's state", we
can just hash the old state together with the new state and call it a
day. This way we dont need to reason about another LFSR or worry about
various attacks there. This code is only ever used at early boot and
then never again.
Cc: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Dominik Brodowski <linux@dominikbrodowski.net>
Reviewed-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-06-25 11:46:33 +02:00
..
2022-06-06 08:20:56 +02:00
2021-11-12 14:28:22 +01:00
2022-01-05 12:33:49 +01:00
2022-06-14 16:54:01 +02:00
2022-03-23 09:01:35 +01:00
2021-11-26 11:40:35 +01:00
2022-06-16 13:01:55 +02:00
2021-09-22 11:45:22 +02:00
2022-06-14 16:54:01 +02:00
2022-01-27 09:00:46 +01:00
2022-05-12 12:17:07 +02:00
2022-06-25 11:46:33 +02:00
2022-05-25 08:41:20 +02:00
2022-06-14 16:54:00 +02:00
2021-10-06 15:05:08 +02:00
2021-11-26 11:40:29 +01:00
2022-04-20 09:08:13 +02:00
2022-04-27 13:15:30 +02:00
2021-07-28 11:12:16 +02:00
2022-02-23 11:57:35 +01:00
2022-06-14 16:54:00 +02:00
2022-05-12 12:17:09 +02:00
2022-06-14 16:53:57 +02:00
2022-05-25 08:41:21 +02:00
2022-06-14 16:54:00 +02:00
2022-06-14 16:53:48 +02:00
2022-01-27 09:00:54 +01:00
2022-06-25 11:46:30 +02:00
2022-05-18 09:18:07 +02:00
2022-06-14 16:53:56 +02:00
2022-06-14 16:53:58 +02:00
2022-06-14 16:53:59 +02:00
2022-06-14 16:53:55 +02:00
2022-06-14 16:54:02 +02:00
2022-06-14 16:53:54 +02:00
2021-10-06 15:05:09 +02:00
2022-06-14 16:53:53 +02:00
2022-01-11 13:57:38 +01:00
2021-07-20 16:17:41 +02:00
2022-05-12 12:17:04 +02:00
2022-06-14 16:53:47 +02:00
2022-06-14 16:53:51 +02:00
2021-10-06 15:05:05 +02:00
2022-06-14 16:54:02 +02:00
2022-06-14 16:53:49 +02:00
2022-04-20 09:08:31 +02:00
2021-11-26 11:40:30 +01:00
2022-06-14 16:54:00 +02:00
2022-06-14 16:53:59 +02:00
2022-05-25 08:41:19 +02:00
2022-06-14 16:54:02 +02:00
2022-06-14 16:54:02 +02:00
2022-06-14 16:54:01 +02:00
2022-06-14 16:53:45 +02:00
2021-10-20 10:42:04 +02:00
2022-06-25 11:46:26 +02:00
2022-04-20 09:08:28 +02:00
2021-09-22 11:45:31 +02:00
2022-06-14 16:54:02 +02:00
2022-06-14 16:53:55 +02:00
2022-04-20 09:08:30 +02:00
2022-06-14 16:53:55 +02:00
2022-06-14 16:53:51 +02:00
2022-04-27 13:15:30 +02:00
2022-04-20 09:08:26 +02:00
2022-04-20 09:08:26 +02:00
2022-06-14 16:53:56 +02:00
2022-06-14 16:53:49 +02:00
2022-04-20 09:08:19 +02:00
2021-07-28 11:12:14 +02:00
2022-06-14 16:53:56 +02:00
2022-06-14 16:53:56 +02:00
2022-05-18 09:18:06 +02:00
2022-06-14 16:53:53 +02:00
2021-11-26 11:40:39 +01:00
2022-06-14 16:53:56 +02:00
2022-06-14 16:53:48 +02:00
2022-06-14 16:54:00 +02:00
2022-04-20 09:08:32 +02:00
2022-01-05 12:33:48 +01:00
2022-04-20 09:08:12 +02:00
2022-06-14 16:54:00 +02:00
2022-06-14 16:54:00 +02:00
2021-09-22 11:45:26 +02:00
2022-06-14 16:54:01 +02:00
2022-06-14 16:53:58 +02:00
2022-03-16 12:57:09 +01:00
2022-04-20 09:08:28 +02:00
2021-11-26 11:40:35 +01:00
2022-03-11 10:13:33 +01:00