Re: Kernel Preemption and Entropy Pool

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




What is Kernel Entropy Pool?


The kernel entropy pool is a mechanism that the Linux kernel uses to
generate random numbers. At the time of registering an interrupt
handler for a device, you can specify whether interrupts from this
device contribute to the "entropy".

Try google and here it pops:

Linux implements a purely algorithmic random number generator,
accessible as /dev/urandom. Its results are good enough for most
purposes, but there are times when true randomness is needed. To that
end, the kernel attempts to harvest randomness (called "entropy") from
its environment. The timing between the keystrokes as your editor
types this article, for example, exhibits some randomness. The same is
true of, for example, the timing of disk interrupts. The lower bits of
the system time stamp counter can also provide a bit of entropy. The
kernel collects this entropy into a special pool of bits, and uses
this entropy pool when true random numbers (obtained from /dev/random)
are required. The amount of accumulated entropy is also tracked; if
there is insufficient entropy in the pool to satisfy a random number
request, the requesting process will block until the needed entropy
arrives.

One of the most common ways of putting entropy into the pool is to
register interrupt handlers with the SA_SAMPLE_RANDOM flag. That flag
tells the kernel that the indicated interrupt will arrive at random
times, so its timing can be used to generate entropy

Rajat

--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux