Talk:Hardware random number generator

message: http://freehg.org/u/olau/random/
there pornosite now  —Preceding unsigned comment added by 94.45.73.56 (talk) 18:38, 13 May 2011 (UTC)
thread_title:  check link!! 

message: This article needs lots of work: it's full of half-truths. — Preceding unsigned comment added by Unknown user (talk • contribs) 
* I rewrote most of the article trying to use the review sources and more modern approaches to TRNG construction. --Dimawik (talk) 07:21, 11 September 2023 (UTC)
thread_title:  half truths 

message: I quote the article in its current state: "Let the probability of a bit stream producing a 1 be 1/2 + e, where -1/2 < e < 1/2. Then e is the bias of the bitstream. If two bit uncorrelated bit streams with bias e are exclusive-or-ed together, then the bias of the result will be 2e^2."
In fact, the actual answer is -2e^2.  For example, suppose you XOR two bitstreams together which have a bias of e=1/2.  By the definition above, this means that both bitstreams produce ones every time.  Since 1 XOR 1 = 0, the resulting bitstream would have a bias of -1/2, which is equal to -2e^2.   You can prove the general case youself easily.  
A while ago, I fixed the answer in this article to be -2e^2 but Matt Crypto reverted my change.  He incorrectly cited the Piling-up Lemma.  But the piling up lemma defines the bias differently:  in the Piling-up lemma, the bias is e if the probability of the bitstream producing a 0 is 1/2+e, whereas this article defines the bias as e if the probabilitiy of produccing a 1 is 1/2+e.
I have corrected the article again.  Hopefully Matt Crypto will read more carefully before reverting good changes in the future.
--DavidGrayson 17:58, 19 February 2006 (UTC)
thread_title:  XOR and bias 

message: article contains the phrase:
:"or even trancendental number such as pi, or e, or phi."
I am not sure what number the author refers to by phi.
Phi is somtimes used the represent the number called
the 'devine ration' or 'golden section'.
That number is not a trancendental number but
a simple algebraic number.
I haven't edited, because I don't know if phi also refers
to some well known trancendental number.
: You are right, and I have edited it to a more correct state. Dysprosia 12:08, 22 Aug 2003 (UTC)
thread_title:  trancendental numbers 

message: I made a pass at editing it. I moved the section about attacks on RNGs to the random number generator attack article.
I also deleted the paragraph on using lossless compressing to improve entropy. I am not aware of anyone who does that and I'm not sure it would work on a stream that was close to random. 
It could still be tighter.  --agr 21:41, 9 Dec 2004 (UTC)
replies: text: There are some who question the existance ot "true random numbers."  I'm not one of them, but it's perhaps best to use a more neutral title. You're free to add a redirect if you wish. --agr 04:50, 23 Dec 2004 (UTC)
replies: text: There's a lot to be said for not making bold claims in titles, but this article's present title strikes me as short-sighted and misleading.  I've noticed a tendency among Wikipedists (and others) to, when describing a phenomenon, note its superficial aspects rather than its essential aspects.  In this case, the essence of an RNG of this type is that its randomness is based on some acceptably random physical phenomenon (ex. radioactive decay), rather than just an algorithm.  The fact that it is implemented in "hardware" is entirely secondary, but also inaccurate, as any RNG must include both "hard" and "soft" components. --Smack 19:09, 3 Jan 2005 (UTC)
replies: text: The use of the word "hardware" to distinguish RNG's based on random physical processes from PRNGs is common in the field and antidates Wikipedia. The best terminology might be to reserve "Random Number Generator" for those based on random processes and use Pseudo-Random Number Generator for algorithm only methods.  Unfortunately, that would mislead too many people because so many computer programming languages have a "Random Number Generator" that is in fact pseudorandom. I believe the word hardware has stuck because it makes the point that users need something beyond what is in the normal computer CPU to be assured of unpredictability. Anyway, its an established term of art and Wikipedia should respect that. It may make sense to work this discussion into the article, however. I may give that a try. --agr 22:17, 3 Jan 2005 (UTC)
replies: text: If I may be so pedantic, the word you're looking for is 'antedate'. --Smack (talk) 18:01, 11 Jan 2005 (UTC)
thread_title: Revision

message: I've moved this back from "Hardware random-number generator"; usage seems to favour leaving out the hyphen. See this Google test. — Matt Crypto 19:04, 23 Dec 2004 (UTC)
thread_title: Naming

message: The section on the physical basis for randomness had some negative information content, confusing quantum and thermal noise.  I revised it, but it could use some more work; e.g., I didn't find a precise citation in the statistical mechanics articles for the statement I wanted, namely that every degree of freedom of a physical system at thermal equilibrium has a particular amount of randomness.  All this information comes from an undergraduate physics education, but surely one can find articles that give a more complete discussion.  --Dylan Thurston 06:18, 10 April 2006 (UTC)
replies: text: I did an edit pass and took out statements about thermal noise being predictable in principle (it isn't) and some other unsupported stuff. I think the article you are looking for is the Equipartition theorem.--agr 13:49, 10 April 2006 (UTC)
replies: text: Thanks for the corrections. "In ways not easily characterized by the laws of physics" is just right. But I think there is a point to be made about thermal noise vs quantum noise.  If you know the complete initial state of a quantum system (like the beam splitter), you cannot predict its future behaviour (modulo potential disagreement about the laws of physics, which should perhaps be acknowledged).  OTOH, if you knew the complete initial state of (say) a noisy resistor, you could predict its future behaviour for a while, at least until the underlying quantum uncertainty gets magnified until it has macroscopic effects.  Surely this is worth mentioning? I haven't done the calculations; perhaps the magnification in question is very quick and the distinction is not worth mentioning in realistic situations? --Dylan Thurston 23:21, 10 April 2006 (UTC)

text: Even if the electrons in a resistor were acting as a perfect classical gas, knowing on the order of Avagadro's number of initial states is totally unrealistic.  It certainly has no effect on the construction of hardware random number generators.  But the electrons are not a classical gas. If they were, they would instantly radiate all their heat energy due to the ultraviolet catastrophe. Thermal noise from a resistor is essentially the same as black body radiation. The electrons are constrained to a finite, though large, number of energy states and which state they end up in after a collision is determined by quantum probabilities. If I remember correctly the collision rate is on the order of 9 billion times per second per electron at room temp. And there are lots of other effects: inelastic scattering, interaction with photons and phonons, the resistor is in thermal contact with the air, etc. --agr 20:46, 11 April 2006 (UTC)
replies: text: +1 agree. Classifying resistor noise and the avalanche noise in a Zener diode under "Physical phenomena without quantum-random properties" is factually incorrect. Even some sources of athmospheric noise are probably quantum in origin. An example of a phenomenon that would be predominantly classical would be the Brownian motion of a nanoparticle in solvent, though I haven't heard of its use in RNGs. OneAhead (talk) 04:11, 15 October 2013 (UTC)
replies: text: I changed the verbiage and classification to the ones used in peer-reviewed articles that review the subject. The terminology is muddy by nature (as neatly pointe to by Herrero-Collantes & Garcia-Escartin): in practical electronic devices all sorts of noise are lumped together and hard to isolate, therefore Herrero-Collantes & Garcia-Escartin place such devices into the "classical" (non-quantum) group - but point to (few) counterexamples that I did not copy into the article, as they would not change the fact that, say, Zener diode noise is a gray area with regard to quantum/classical divide. Dimawik (talk) 07:37, 11 September 2023 (UTC)

text: I changed the verbiage and classification to the ones used in peer-reviewed articles that review the subject. Dimawik (talk) 07:48, 11 September 2023 (UTC)
thread_title:  Physical basis 

message: This was added 20 June 06. Seems rather questionable to me. any comments? ww 16:55, 20 June 2006 (UTC)
thread_title:  truly randomizing in BASIC external link?? 

message: I've reworded the mention of this module in the article.  It originally said that the module created real random numbers.  Someone changed it to say it created pseudorandom numbers.  I settled on saying that the writers claim it does real random.  Can anyone say for sure? -- BillWeiss | Talk 06:36, 5 October 2006 (UTC)
replies: text: Looking at the code, it seems to increment a counter until a timer fires (set for 17 ms), dubiously reduces the counter value to 3 bits, and shifts it into the end of a buffer. It plays roulette 11 times (generating 33 bits) and returns the number in the buffer. It has obvious flaws if the "unsigned" type has more than 33 bits, and it relies so heavily on non-guaranteed entropy that I wouldn't trust it without putting many bits through SHA-1. It also uses the deprecated signal() API, which may cause it to crash on modern versions of Linux when the process is sent SIGALRM). ⇌Elektron 17:41, 21 December 2008 (UTC)
thread_title:  Truly Random perl module 

message: An implementation that can be run on a fifth generation (Pentium class) or higher computer is provided by ComScire with their PCQNG software. The PCQNG uses the noise component or jitter produced by Phased Locked Loop circuits in the PC. This implementation is protected by one or more of the following Patents: U.S. Patent No(s).: 6,324,558; 6,763,364; 6,862,605; 7,096,242. See also Design Principles and Testing of PCQNG 2.0.
--24.18.145.244 (talk) 05:51, 13 July 2008 (UTC)
replies: text: Above comment moved from top of page. ww (talk) 00:42, 14 July 2008 (UTC)

text: Looks like a bunch of bogus patents to me. ⇌Elektron 16:14, 21 December 2008 (UTC)

text: I would say that this whole section was out of place here. This physical RNG article is about the dedicated hardware; the clock drift is about getting around the lack thereof. In this respect it is closer to scavenging for entropy in disk spin-up performance and timing of the keystrokes. This subject is important, but it is not a hardware TNG that uses hardware dedicated to the task. Algorithms that hunt for the entropy in other ways are called (by NIST) non-physical nondeterministic random bit generators, they deserve to have their own article. Dimawik (talk) 07:43, 11 September 2023 (UTC)
thread_title: Clock Drift - Company Product and Patent

message: This whole section is not relevant to hardware random number generators.  I propose in be reduced to just a couple of sentences to help the reader know the distinction between a hardware random number generator and a pseudo-random number generator.  It might well lose its status as a section, and just be worked into the text of the introduction.
DMJ001 (talk) 04:04, 29 January 2009 (UTC)
thread_title: Pseudo-random number generators

message: The link in the external references section that says "An article on the history of generating random numbers" is broken.  I tried to find the article at American Scientist, but was not successful.  If anyone knows what this is supposed to point to, please fix the link.
DMJ001 (talk) 04:18, 29 January 2009 (UTC)
thread_title: Broken link

message: I suggest merging the section one-time pad#Achieving Shannon security, which appears to talk about hardware random number generators, into the hardware random number generator article.
--68.0.124.33 (talk) 03:01, 27 March 2009 (UTC)
replies: text: I would be reluctant to do so. The topics are conceptually distinct, though HRNG are one way (perhaps the best way???) to provide the random sequences which are required of the one time pad. In this article, the one time pad is an illustration of one use of HRNG, and provides a way to discuss an aspect of alleged (probable??) differences between HRNG and RNG algorithms. The wording is a tempting red herring, i think. ww (talk) 18:46, 27 March 2009 (UTC)
thread_title:  merge 

message: Would it be acceptable to put information about automatic dice rolling machines into this article? Fully referenced of course. Colincbn (talk) 12:14, 13 November 2009 (UTC)
thread_title: Dice Rollers

message: I have removed the following statement from the article because it is evidently incorrect:
The term [shot noise] is a clipping of the term "Schottky noise," referring 
to the scientist who first published regarding this phenomenon.
There is no source for the statement on clipping, the main article Shot noise doesn't mention it, and moreover the name IS inspired on behavior of real shot (pellet) ammunition. That is evident from the German term, :de:Schrotrauschen, which directly translates to "shot noise" - "Schrot" means "shot" (the ammunition type.)
--Arny (talk) 16:30, 5 November 2015 (UTC)
replies: text: Agree, this attempt at what looks like "amateur etymology" is ridiculous.  Glad you caught it. --ChetvornoTALK 03:27, 6 November 2015 (UTC)
thread_title:  False etimology of "Shot noise" 

message: The article describes a "simple algorithm": "John von Neumann invented a simple algorithm to fix simple bias and reduce correlation. It considers two bits at a time (non-overlapping), taking one of three actions: when two successive bits are equal, they are discarded; a sequence of 1,0 becomes a 1; and a sequence of 0,1 becomes a zero. It thus represents a falling edge with a 1, and a rising edge with a 0. This eliminates simple bias, and is easy to implement as a computer program or in digital logic. This technique works no matter how the bits have been generated." What is being described always produces a bit stream 1 0 1 0 1 0 etc. ... which is not very random. What is missing from the description? A5 (talk) 20:54, 10 June 2019 (UTC)
replies: text: The analogy with a falling/rising edge would make sense only if the sequences were overlapping. But since they are non-overlapping, this problem does not arise. ★NealMcB★ (talk) 23:29, 14 September 2022 (UTC)
thread_title:  How did von Neumann's algorithm to fix bias work? 

message: A _hardware_ random number generator can be either true or pseudo-random. For example, an LFSR implemented on an FPGA is both a hardware and pseudo-random number generator. If the page is about true random number generators, as it seems to be, it should be titled "True Random Number Generator." 129.31.224.110 (talk) 17:01, 12 July 2020 (UTC)
replies: text: The problem is TRNG also has multiple meanings, as it can have no hardware (see the "non-physical" discussion in the article lead). To avoid all these ambiguities, NIST had coined the term NRBG (see the lead), but it sounds awful and is hardly self-explanatory. So it looks like we are stuck between HRBG and TRNG, both being imperfect. That said, I would prefer TRNG as more popular among practitioners. Dimawik (talk) 06:41, 6 August 2023 (UTC)
replies: text: Finally, there is a name "physical" RNG, with its abbreviation creating yet another set of problems. Dimawik (talk) 04:29, 9 September 2023 (UTC)
thread_title:  True != hardware 

message: A discussion is taking place to address the redirect :QRNG. The discussion will occur at Wikipedia:Redirects for discussion/Log/2021 December 8#QRNG until a consensus is reached, and readers of this page are welcome to contribute to the discussion.  Chumpih. (talk) 08:02, 8 December 2021 (UTC)
thread_title:  "QRNG" listed at [[Wikipedia:Redirects for discussion|Redirects for discussion]] 

message: This article is about a particular device that is used in real-life applications. A myriad of physical processes exist that exhibit stochastic behavior; many easily observed macroscopic phenomena are not deterministic on a sufficiently long timescale (cf. chaos theory), for example, the weather is not really predictable. In my humble opinion, we should not list these processes here just because they exist, unless they are actually used for the purpose, so the sources for this article should always mention actual implementations that are used (or were being used) to actually generate random numbers for some application, and not just describe the research on randomness of some process. Same approach should be taken for the quantum phenomena. For example, it is hard to imagine Geiger counters placed into electronic systems at a time when a tiny piece of silicon, many orders of magnitude smaller and cheaper, can deliver the same results. Dimawik (talk) 22:36, 6 August 2023 (UTC)
replies: text: I have re-written most of the phenomena lists using a couple of sources with reviews. There is a review of quantum sources (Herrero-Collantes & Garcia-Escartin cited in the text), but I do not have an easy access to it, thus it the quantum section is left as-is. --Dimawik (talk) 03:15, 10 September 2023 (UTC)
replies: text: Found a pre-print version of an article, rewrote the quantum section, too. Dimawik (talk) 05:07, 11 September 2023 (UTC)

text: There are literally thousands of works on the subject, so I humbly request that decisions on future additions of new TRNG techniques to the text are based on the reviews in scientific publications, not papers by the inventors themselves or mass media. --Dimawik (talk) 03:15, 10 September 2023 (UTC)
replies: text: Agree --ChetvornoTALK 18:37, 30 January 2024 (UTC)
thread_title:  Quantum RNG 

message: I have removed a couple of sections explaining how to generate entropy without using dedicated hardware. Since this article is about dedicated hardware, the sections were out of scope (and practically unsourced). Feel free to voice objections, but IMHO these snippets of text belong to a completely different article, non-physical nondeterministic random bit generator that is yet to be written. Dimawik (talk) 03:02, 10 September 2023 (UTC)
thread_title:  Non-physical 

message: The section "Dealing with bias" listed old algorithms that can improve some properties of the random stream. The problem with this (unsourced) section was in the fact that these algorithm would not simplify the reasoning about the randomness (and might actually hurt during the validation process of an actual device). The vetted "conditioning" in, say, SP800-90B is very different. I decided to simply remove this text that touches the subject of this article only tangentially anyhow; if someone wants to restore text, it should be moved to the "History" section and very carefully aligned with modern sources (we cannot bluntly state, for example, that von Neumann debiasing is simply OK, and any source stating that it is, is actually obsolete). The need for conditioning is described in the lead. Dimawik (talk) 06:44, 11 September 2023 (UTC)
thread_title:  Removed Dealing with bias 

message: Does the RFC 4086 define any actual tests to be performed? If not, mention if it IMHO it should be removed from the section "Perfprmance test". Dimawik (talk) 17:03, 24 December 2023 (UTC)
replies: text: No objections for a long time. Removed. Dimawik (talk) 23:31, 17 January 2024 (UTC)
thread_title:  Tests in RFC 4086?