<div> </div>
<div class="replyBody">
<blockquote class="email_quote" style="border-left: 2px solid #267fdb; margin: 0 0 0 1.8ex; padding-left: 1ex;"><br />[* Until Linux kernel 3.6 the person maintaining urandom was busily <br />turning off interrupts as a source of entropy, I think because he didn't <br />know how much entropy he was getting so better not to get it at all <br />(huh?). In 3.6 this was changed to use all interrupts as entropy <br />sources, which is good. This means earlier kernels aren't so <br />good--though I notice that Ubuntu's kernel has the 3.6 improvement in <br />their version of 3.2, so individual distributions will vary.]<br /><br /><br />-kb</blockquote>
<div> </div>
<div>I'll also observe that on new mobile platforms, there are typically a flotilla of physical-world sensors.  The low-level drivers for</div>
<div>  these should be contributing entropy to the pool in the kernel.  At the apps layer, typically, the "raw" sensor values have been</div>
<div>  filtered by application-specific algorithms, so that they're less useful as entropy sources at that level.</div>
<div> </div>
<div>For example, low-G accelerometers are quite noisy -- these are typically used as multi-axis rotation sensors (they use the gravity-field orientation to sense rotation).</div>
<div> </div>
<div>Any physical-world sensor driver, where the sensor inherently has a bit of noise, I think has a "moral obligation" to contribute bits to the kernel entopy pool.</div>
<div> </div>
<div> </div>
<blockquote class="email_quote" style="border-left: 2px solid #267fdb; margin: 0 0 0 1.8ex; padding-left: 1ex;"><br /><br /></blockquote>
</div>
<div> </div>