Slashdot Mirror


Researchers Build True Random Number Generator From Carbon Nanotubes (ieee.org)

Wave723 writes: IEEE Spectrum reports on a true random number generator that was created with single-walled semiconducting carbon nanotubes. Researchers at Northwestern University printed a SRAM cell with special nanotube ink, and used it to generate random bits based on thermal noise. This method could be used to improve the security of flexible or printed electronics. From the report: "Once Mark Hersam, an expert in nanomaterials at Northwestern University, and his team had printed their SRAM cell, they needed to actually generate a string of random bits with it. To do this, they exploited a pair of inverters found in every SRAM cell. During normal functioning, the job of an inverter is to flip any input it is given to be the opposite, so from 0 to 1, or from 1 to 0. Typically, two inverters are lined up so the results of the first inverter are fed into the second. So, if the first inverter flips a 0 into a 1, the second inverter would take that result and flip it back into a 0. To manipulate this process, Hersam's group shut off power to the inverters and applied external voltages to force the inverters to both record 1s. Then, as soon as the SRAM cell was powered again and the external voltages were turned off, one inverter randomly switched its digit to be opposite its twin again. 'In other words, we put [the inverter] in a state where it's going to want to flip to either a 1 or 0,' Hersam says. Under these conditions, Hersam's group had no control over the actual nature of this switch, such as which inverter would flip, and whether that inverter would represent a 1 or a 0 when it did. Those factors hinged on a phenomenon thought to be truly random -- fluctuations in thermal noise, which is a type of atomic jitter intrinsic to circuits." Hersam and his team recently described their work in the journal Nano Letters.

21 of 144 comments (clear)

  1. "Using nanotubes" is the new black? by TeknoHog · · Score: 3, Interesting

    Making a RNG from inverters is an old trick (shameless plug). So if there's any news here, it's making an inverter from nanotubes?

    --
    Escher was the first MC and Giger invented the HR department.
    1. Re:"Using nanotubes" is the new black? by NoNonAlphaCharsHere · · Score: 2

      Yeah. Back in the old days (the 80's) we used an oscillator that had a REALLY cheap capacitor at its heart. It had a free running bitstream as input to a shift register.

    2. Re:"Using nanotubes" is the new black? by Lisandro · · Score: 2

      Intel CPUs all have RNG since the Pentium III days - and they all based on Johnson (thermal) noise IIRC.

    3. Re:"Using nanotubes" is the new black? by rogoshen1 · · Score: 3, Funny

      that poor girl.

    4. Re:"Using nanotubes" is the new black? by TechyImmigrant · · Score: 2

      Yes and no.

      All generations since Ivy Bridge that have a CPU RNG are based on metastability, which treats all types of noise equally.

      Before that there was an RNG based on using a thermal noise to drive a VCO which sampled a fast oscillator. This was used in the chipset, not the CPU. The Linux i810 driver is the driver for this older RNG. RdRand doesn't need a driver because it's just an instruction returning numbers from the RNG.

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
  2. Summary fail by Wdi · · Score: 5, Informative

    The random generator passed only 9 of 15 standard randomness tests of NIST. Not surprising - it is unlikely that the two inverter branches are identical to the atom level, and that is a prerequisite that the thermal noise has exactly equal chance of flipping either branch.

    1. Re:Summary fail by TeknoHog · · Score: 4, Informative

      The random generator passed only 9 of 15 standard randomness tests of NIST. Not surprising - it is unlikely that the two inverter branches are identical to the atom level, and that is a prerequisite that the thermal noise has exactly equal chance of flipping either branch.

      The NIST tests aren't necessarily that great for judging randomness. For example, too long streaks of ones or zeros will fail the test, even though they are possible in genuine random sources. I imagine one could devise an algorithmic, repeating stream of numbers that passes the NIST tests.

      The issue of unequal chance for 0 and 1 is common in HWRNGs, and there are simple solutions for debiasing the output. https://en.wikipedia.org/wiki/...

      --
      Escher was the first MC and Giger invented the HR department.
    2. Re:Summary fail by Togden · · Score: 5, Funny

      If it were truly random, surely it would pass the tests at random, and so really we should be checking that it passes different tests each time, except on occasion when it doesn't.

    3. Re:Summary fail by Anne+Thwacks · · Score: 2
      Unequal number of 0's and 1's is easily solved by dividing by 2.

      I believe the use of thermal noise and dividing by 2 was well known during WW2. (Where "well known" means by people whose job required them to know, and who were unlikely to be killed for knowing too much).

      I learned about it in the early 60's - it was claimed to be a good use for Zener diodes when they were invented - as the thermionic diodes previously used for this application made a lot of heat and kept dying. You still needed thermionic valves (ECC82's I think) for the divide by 2 as transistors were very slow in those days. They made a lot of heat and kept dying.

      --
      Sent from my ASR33 using ASCII
  3. Re:Random Number by Anonymous Coward · · Score: 2, Funny
  4. So it passes test one of a good RNG. by Opportunist · · Score: 3, Informative

    The first test of a good random number generator is obviously whether it can generate a true random number under normal operation conditions. This they claim to have accomplished.

    The second test is just as critical and I'd be very interested in the result: Can any kind of manipulation be easily detected? Or is it possible to tamper with the device in such a way that it does generate a number predetermined by the manipulator without anyone else being able to determine that such manipulation took place?

    --
    We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  5. Re:"True"? Not possible by NoNonAlphaCharsHere · · Score: 2, Funny

    Everything in the universe is predictable, including so called "chaos". There is no such thing as truly random.

    Have you looked at what's coming out of the White House?

  6. It may be random to us... by little1973 · · Score: 2

    but it may not from the Universe' point of view.

    According to Gerard 't Hooft, the superdeterminism loophole cannot be dismissed.

    The Free-Will Postulate in Quantum Mechanics
    https://arxiv.org/abs/quant-ph...

    Entangled quantum states in a local deterministic theory
    https://arxiv.org/abs/0908.340...

    --
    Government cannot make man richer, but it can make him poorer. - Ludwig von Mises
  7. Re: "True"? Not possible by Viol8 · · Score: 2

    You might want to read up on quantum theory sometime when you're done with Sesame Street.

  8. Nice save by physicsphairy · · Score: 5, Funny

    Researcher 1: "Our nanotube project is outputting completely garbage data. I guess this means we can't publish."
    Researcher 2: "Or... can we?"

  9. Re:Horseshit by Anonymous Coward · · Score: 2, Interesting

    Thank you for making my point for me. Heisenberg states that we cannot know the state of something without changing that state. The act of measuring something changes the something. But, this change is not random. It is determined by the stimuli, which we also can't know. We call it "random" because we can't know it, but just because we don't know it doesn't mean it is random.

    Randomness is just a construct that we invented to fill the large, gaping holes in our understanding. It's not real. Early humans invented Gods to explain the things they didn't understand. Well. science pretty much obliterated the idea of Gods, but it still needed a way to explain the unknown, so it has invented bullshit theories like randomness, dark matter, quantum physics.

    You're the moron, because you think you possess some level of knowledge about the universe.

    I don't know shit, but at least I know I don't know shit. You don't know shit, but you think you do know shit. That's a far less tenable position to find ones self in.

  10. Re:Random Number by pem · · Score: 3, Informative

    A random number is for generating the key, not using it.

  11. Re:Random Number by rgbatduke · · Score: 4, Interesting

    There are three meanings of the word "random" referring to a generator in this context:

    a) Unpredictable.
    b) Empirically satisfying all of the decorrelation properties of a random number sequence -- on average uniform in all bit patterns, on average lacking correlations at all lags (and hence non-periodic) and on all N-dimensional hyperplanes for all N, etc.
    c) Both.

    All that is asserted here is that they have a thermal noise generator that satisfies a). Big whoop -- thermal noise generators (and hardware generators in general) are commonplace: https://en.wikipedia.org/wiki/.... However, thermal noise and so on are often "colored" or "biased" -- they produce fluctuations that are unpredictable but it is almost impossible to get the noise to produce a string of e.g. 0's and 1's that satisfy b). One then is stuck using the unpredictable noise to randomize a pseudorandom number generator (for example, by xor'ing the two together) that produces a bit string that has the right uniformity and decorrelation properties but does so from an internal state that, if known, makes the string produced predictable.

    AGAIN this sort of thing is pretty commonplace. Sources of "entropy" as in unpredictable activity are common enough and so are high quality pseudorandom number generators. The major problem then is rate. Few of the hardware generators can produce entropy FAST ENOUGH to keep up with a PRNG, so getting a source of "true random numbers" that is fast enough to use in e.g. Monte Carlo is not easy, and most people don't bother to try. Having a handful of unpredictable numbers suffices for e.g. encryption and that's really where this is headed.

    I would wax poetic on the fact that EVEN thermal noise is probably not truly random; it is random the way a coin flip is random or, for that matter, the way a PRNG is random. The outcome of a coin flip is unpredictable only because we don't flip the coin with a precise knowledge of its state and the state of the flip environment and because we perhaps cannot integrate its equations of motion precisely enough from what knowledge we do have, but it is deterministic, hence not really unpredictable. Classical thermal noise is no different than a bunch of flipping coins bouncing around -- again deterministic but with lots of unknown state information. "True" random is a term that should probably be provisionally reserved to AT BEST quantum "coin flips", although in the master equation approach to resolving the state of a quantum "coin", the true origin of randomness is seen STILL to be the process of taking the trace of the surrounding environment, which is if you like the filter resolving the flip. That trace introduces "entropy" in the form of lost phase information and averaging over energy distributions that appears as unpredictability in the outcome, but if one views the "coin" AND the surroundings as a single quantum system its quantum trajectory is again deterministic. Randomness in quantum filtering experiments comes from the fact that the measuring apparatus that does the filtering must resolve it in a classical was with its quantum entangling and phases in general unknown and averaged over.

    If one buys the holographic model in string theory (or plain old quantum theory as it is currently structured) the Universe is in a zero entropy state and there are no sources of "real" entropy. In this case there can BE no "true" random number generators. Whether or not nature is capable of generating true random numbers from some source other than our ignorance of state is an open empirical question.

    --
    Even when the experts all agree, they may well be mistaken. --- Bertrand Russell.
  12. Re:Random Number by Myrdos · · Score: 2

    In this case there can BE no "true" random number generators. Whether or not nature is capable of generating true random numbers from some source other than our ignorance of state is an open empirical question.

    If we can prove there's no way to know the entire state, say via Heisenberg uncertainty principle, then there is no functional difference between 'true' randomness and randomness-through-ignorance. I'm not sure if the question has any meaning.

  13. Let's do things the hard way. by TechyImmigrant · · Score: 2

    When your full time job is designing RNGs, Reading articles on RNGs can be a little painful.

    The term "TRNG" (True Random Number Generator) is a poorly defined thing. I think people think it means 'ideal non deterministic' but it's never used in that context and in this case we certainly don't have such a thing.

    The thing they designed is a an "entropy source". It produces partially entropic nondeterministic data.

    The chain of events in an RNG is..

    Entropy source --> Online Test --> Entropy Extractor --> (If needed for performance) A CS-PRNG. (crypographically secure pseudo random number generator).

    Entropy source : Makes partially entropic data. It doesn't matter what kind of source it is, whether quantum, lava lamp, circuit or whatever else, you never get perfect entropy from a physical process. The entropy extractor distills this kind of data into a smaller amount of data that is close to full entropy. 'Close' is mathematically described in terms that matter in cryptography.

    Online Test: Continuously checks the ES is working while it's running. -- Top tip - This is the hard bit in RNG design.

    So unless they can build and online test an entropy extractor in carbon nanotubes, they don't have a solution but they do have an entropy source. I don't know if they have done this or not, because the link in TFA doesn't work, despite my corporate IEEE account. If they have, then well done. If not, it's interesting anyway, but not ready for application.

    --
    I should use this sig to advertise my book ISBN-13 : 978-1501515132.
  14. Re:Random Number by TechyImmigrant · · Score: 2

    There'a a difference, but you can't tell.

    The difference becomes relevant in 'quantum secure entropy extractors' which are designed to be secure against 'maximally entangled adversaries'. I.E. Something that does know the state. With non determinism in the universe, quantum secure extractors can be built. In a deterministic universe, they cannot.

    --
    I should use this sig to advertise my book ISBN-13 : 978-1501515132.