Lines Matching full:random
2 * random.c -- A strong random number generator
49 * and returns good random numbers, suitable for cryptographic use.
52 * desirable to have numbers which are not only random, but hard to
59 * to produce truly random numbers on a computer --- as opposed to
60 * pseudo-random numbers, which can easily generated by using a
62 * the sequence of pseudo-random number generators, and for some
66 * generate random numbers. In a Unix environment, this is best done
77 * As random bytes are mixed into the entropy pool, the routines keep
79 * the random number generator's internal state.
81 * When random bytes are desired, they are obtained by taking the SHA
91 * outputs random numbers.
94 * random numbers; however, an attacker may (at least in theory) be
110 * The userspace interfaces are two character devices /dev/random and
111 * /dev/urandom. /dev/random is suitable for use when very high
114 * bits of randomness (as estimated by the random number generator)
118 * as many bytes as are requested. As more and more random bytes are
120 * this will result in random numbers that are merely cryptographically
130 * This interface will return the requested number of random bytes,
188 * prandom_u32(), prandom_max(), and prandom_bytes(). If the random
190 * Useful for self-tests, random error simulation, randomized backoffs,
192 * maliciously mess with you by guessing the "random" numbers.
206 * add_device_randomness() is for adding data to the random pool that
217 * add_interrupt_randomness() uses the interrupt timing as random
244 * echo "Initializing random number generator..."
245 * random_seed=/var/run/random-seed
246 * # Carry a random seed from start-up to start-up
259 * # Carry a random seed from shut-down to start-up
261 * echo "Saving random seed..."
262 * random_seed=/var/run/random-seed
269 * /etc/rc.d/init.d/random. On older Linux systems, the correct script
275 * make sure that /etc/random-seed is different for every start-up,
281 * Configuring the /dev/random driver under Linux
284 * The /dev/random driver under Linux uses minor numbers 8 and 9 of
286 * /dev/random and /dev/urandom created already, they can be created
289 * mknod /dev/random c 1 8
295 * Ideas for constructing this random number generator were derived
296 * from Pretty Good Privacy's random number generator, and from private
297 * discussions with Phil Karn. Colin Plumb provided a faster random
319 #include <linux/random.h>
348 #include <trace/events/random.h>
377 * access to /dev/random.
400 * when fed "random" data of the sort we expect to see. As long as
482 MODULE_PARM_DESC(ratelimit_disable, "Disable random ratelimit suppression");
782 early_param("random.trust_cpu", parse_trust_cpu);
1324 if (!disk || !disk->random) in add_disk_randomness()
1327 add_timer_randomness(disk->random, 0x100 + disk_devt(disk)); in add_disk_randomness()
1404 * If we have an architectural hardware random number in extract_buf()
1534 printk_deferred(KERN_NOTICE "random: %s called from %pS " in _warn_unseeded_randomness()
1541 * number of good random numbers, suitable for key generation, seeding
1542 * TCP sequence numbers, etc. It does not rely on the hardware random
1543 * number generator. For random bytes direct from the hardware RNG
1631 * cryptographically secure random numbers. This applies to: the /dev/urandom
1659 * to supply cryptographically secure random numbers. This applies to: the
1731 * This function will use the architecture-specific hardware random
1823 disk->random = state; in rand_initialize_disk()
2051 * This function is used to return both the bootid UUID, and random
2179 * Get a random word for internal kernel use only. The quality of the random
2260 * randomize_page - Generate a random, page aligned address
2263 * random address must fall.
2293 * Those devices may produce endless random bits and will be throttled
2317 /* Handle random seed passed by bootloader.