TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Infinite Noise true random number generator

91 pointsby wideaover 10 years ago

8 comments

walterbellover 10 years ago
John Denker wrote a page on RNGs, <a href="http://www.av8n.com/computer/htm/secure-random.htm" rel="nofollow">http:&#x2F;&#x2F;www.av8n.com&#x2F;computer&#x2F;htm&#x2F;secure-random.htm</a><p><i>&quot;There is no algorithm that can generate entropy. Therefore any HRNG depends on input from some hardware device. It is necessary to calibrate the input device. For example, the entropy available from a soundcard depends on the input impedance, gain, bandwidth, and temperature. Calibration is not easy. It requires skill in a number of areas, including physics, electrical engineering, programming, and cryptography. However, just because it is hard is no excuse for skipping this step.<p>... My favorite proverb of all is the one that says for every proverb, there is an equal and opposite proverb. In this case, we should note that the proverb about not putting all your eggs in one basket is not necessarily a sound engineering principle. The right answer depends on the margin of error and on the per-basket failure rate. It also greatly depends on the chance of correlated, uncorrelated, and anti-correlated basket failures. Sometimes the best way to get your eggs from point A to point B is to put them all in one basket and take really good care of that basket.<p>... The phrase “random number generator” should be parsed as follows: It is a random generator of numbers. It is not a generator of random numbers.&quot;</i>
评论 #8979556 未加载
PhantomGremlinover 10 years ago
The article has a &quot;drive-by&quot; disparagement:<p><pre><code> Intel&#x27;s DRNG appears controllable through a software based power droop attack </code></pre> If true, this is big news. I did some quick Googling and couldn&#x27;t find any confirmation.<p>Anybody have a link to the potential flaw in Intel&#x27;s RNG?
评论 #8979570 未加载
steeveover 10 years ago
I&#x27;ve always wondered why TRNG like this one were not included in computers already. I know modern CPU also take advantage of physics phenomena (supposedly), but still...<p>Cool product, and great execution.
评论 #8979191 未加载
评论 #8979465 未加载
评论 #8979574 未加载
analog31over 10 years ago
This is an aside, but I&#x27;m curious why the noise in the reverse voltage of a Zener is preferable to just the Gaussian noise generated by a resistor. There must be a practical reason.
评论 #8979691 未加载
评论 #8979233 未加载
grondiluover 10 years ago
The other day I tried to snap photos from my webcam with my finger obstructing the objective. I looked at the files in binary and it was apparently always different (the image itself looked visually always the same though : full black).<p>I made a hash of an hundred files made this way and could not find any collision.<p>Could this be considered as a TRNG?
评论 #8979354 未加载
评论 #8979360 未加载
评论 #8981719 未加载
thrownaway2424over 10 years ago
From a full-system threat analysis standpoint this seems like a truly bad idea. You think you have some kind of fancy rng but actually what you have is an rng that your adversary can sneak in and swap out with an infinite generator of zeroes while you&#x27;re in the bathroom of the airplane. Essentially you&#x27;ve made yourself way more vulnerable to rng attacks than you would have been with a regular entropy source. If you bought one of these you&#x27;d have to be totally committed to keeping it on your person at all times.
评论 #8979436 未加载
评论 #8979251 未加载
评论 #8981053 未加载
评论 #8979055 未加载
JacobEdelmanover 10 years ago
I can&#x27;t think of any use case for this that you can&#x27;t already get with hardware random number generators that computers have built-in. For most people TRNG&#x27;s are only useful for things like generating keys and such, something that not much entropy is needed for. Typing in random letters and hashing them would suffice.
评论 #8980895 未加载
tzsover 10 years ago
&gt; This USB key RNG also demonstrates what I feel should be considered best-practices for TRNGs. It is low cost, reasonably fast, and has no firmware that can be used to PWN your computer. The USB key can easily be taken apart (with care!) using a toothless dinner knife, so the board can be compared to those on the github site.<p>It&#x27;s interesting to compare to another well known USB RNG, the Simtec&#x27;s Entropy Key[1], which apparently is no longer available. The Entropy Key takes the opposite approach both on firmware and on easy of taking it apart.<p>Here&#x27;s an overview of how Entropy Key worked (more detail on the &quot;technical&quot; tab on their site). They have two separate reverse biased PN junctions generating random streams. These streams are each tested using Maurer&#x27;s universal statistical test for random bit generators, and their entropy is conservatively estimated. If the test fails or the entropy is too low, it is a fatal error and the device stops sending random data to the host, and reports an error.<p>The two streams are also xor&#x27;ed together, and that combined stream is tested with Maurer&#x27;s test and its entropy is estimated. If this fails, it is fatal. (Combining the streams this way detects if the two generators have become correlated).<p>The two streams go through von Neumann debiasing, and are tested again with Maurer&#x27;s test, and the entropy is estimated. If the test fails, or the entropy is varying too widely, fatal error.<p>The streams then go into a 256-bit cryptographic hash. When enough bits have gone in so that the input entropy is at least 150% of the number of output bits of the hash, the output is taken.<p>The hash output is mixed into a bit pool. When the pool has taken in at least 50% more entropy than it could possibly hold, a new pool is started. Enough pools are maintained to have 20000 bits of total pool data. The pool blocks are then tested following FIPS 140-2. The 20000 bits are then available for delivery to the host.<p>The protocol for host communication encrypts the data blocks that contain the random bits, using a session key based on a shared secret between the device and the host.<p>The device is filled with epoxy, and opening the case should destroy it.<p>So, are they any security experts who can comment on which is closer to best practice? A minimal device that just delivers fairly raw bits, with all the statistical testing and other processing necessary for good random numbers up to the host, and with no protection against hardware tampering (other than hoping that tampering would mess up the stream in a way the host will notice)? Or a device that does the testing and processing, and delivers ready to use random bits to the host, and that tries to prevent tampering?<p>I would think that even with the simple approach, you should put two theoretically identical generators on the device. That way, if someone does try to influence the device by external means, you have a better chance of detecting it because if it influences both devices the same way you&#x27;ll get correlations.<p>[1] <a href="http://www.entropykey.co.uk" rel="nofollow">http:&#x2F;&#x2F;www.entropykey.co.uk</a>