Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Science

More Random Randomness 80

jfleck writes "According to the American Institute of Physics' Physics News Update, Kent State physicist James Gleeson has developed a technique for generating numbers approaching true randomness. His trick is to shine light through a liquid crystal, taking advantage of its turbulence and avoiding the inevitable risk of predictability in deterministic random number number algorithms."
This discussion has been archived. No new comments can be posted.

More Random Randomness

Comments Filter:
  • but but... (Score:2, Funny)

    by Anonymous Coward
    wouldnt avoiding predictability be a bit predictable?
  • silly (Score:3, Insightful)

    by tps12 ( 105590 ) on Wednesday September 18, 2002 @03:53PM (#4283826) Homepage Journal
    So it's a crystal and a light...a mechanical solution, in other words. Someone tell me how this is different from flipping a coin? True randomness has always been available in the physical world (hence the allure of horse racing). It's only in mathematics, and therefore computing science, that randomness cannot be achieved. And small though this "solution" may be, it doesn't quite count as an algorithm.
    • Re:silly (Score:3, Insightful)

      by photon317 ( 208409 )

      I agree, but he may be onto something in that his solution may be easier than most to cheaply embed in low end computer hardware.

      Although I seem to remember hearing a long time ago how someone had built a circuit (which I presume could be put easily on an expansion card) that obtained entropy from the small (mostly temperature-fluctuation-induced) changes in capacitance and resistance on some standard crappy-grade capacitors and resistors in a simple circuit. While your case's overall temp might be a bit predictable to a tenth of a degree, I think this was supposed to be sensitive to the very small seemingly random fluctuations of a much smaller degree.
    • While not an algorithm (and I don't think you can come up with an algorithm to generate TRUE randomness...), this is an incredibly small and easy to use piece of random-number-generating hardware.

      It would be very easy to integrate this into (eg) UNIX - /dev/random reads the stream of numbers coming off the device.

      While not a programmatic solution to the random number problem, this is definately a viable one, provided of course it works as well as they claim.

      • I don't think you can come up with an algorithm to generate TRUE randomness


        Where are the Slashdot experts? Do we know this or don't we? This seems like a fundamental problem for computer science and I would be surprised to find that it hasn't been addressed in depth.

        • Re:silly (Score:3, Informative)

          by GMontag451 ( 230904 )
          There are two different meanings of the phrase "random number". One is the coin-flipping variety, where any number within the range is possible, but is only as likely as every other number in the range. AFAICT, this isn't the kind of random numbers the article is talking about.

          The other kind of random number is a number that is entirely entropy. In other words, an uncompressible number. This type of number is extremely hard to generate, and by definition, cannot be generated by an algorithm shorter than the number because this would be a form of compression.

          • Re:silly (Score:3, Insightful)

            by flonker ( 526111 )
            If your random number generator is incapable of generating a string of 256 0's in a row, there is something wrong with it.

            True randomness is defined by the fact that knowing all of the previous results gives you zero knowledge of the next result. Being difficult to compress is often a side effect of this, but is not a defining characteristic.
            • Re:silly (Score:3, Informative)

              by GMontag451 ( 230904 )
              If your random number generator is incapable of generating a string of 256 0's in a row, there is something wrong with it.

              That is true for the first kind of random number generator that I talked about, not for the second kind.

              Maybe I can describe what I'm talking about better. There are two different types of random number generators. One kind is a generator that randomly produces numbers, which is what you are talking about. The other kind produces *random numbers*, which is something completely different. It is the difference between the generator being random, or the number itself being random no matter how it is generated.

              Randomly produced numbers are equidistributed along the range of the generator, usually from 0 to 1. Random numbers are numbers that are impossible to compress. A number is random no matter what the next result is, but is only randomly produced with respect to the numbers produced before and after it with the same algorithm.

              • This doesn't make sense to me. Here's an algo optimized for storing random numbers according to your definition. Basically, it compresses based on the premise that not all numbers are random, and a number can be tested as being random or not.

                Assuming your definition of random numbers
                Assume not all numbers are random.

                a = 0
                for n = 0 to 2^32
                If n is a random number, then
                store n as a
                a = a + 1
                • The problem with that is any test that can determine wether or not a number of n bits is random must be longer than n bits. So you haven't really compressed anything, just moved the size to the decoder.
                  • Have you got a reference? This definition of random does not seem right.

                    (Assuming your definition),
                    Assuming there is no upper bound on random numbers,
                    Then any generalized test on whether a number is random takes an infinite number of bits.
                    Therefore any generalized test on whether a number is random is impossible. QED.

                    Then, going back to your first premise that they produced these random numbers using this system, how did they know?

                    Also, in my prior algo, you can change the test from "is the number random" to "is the number not provably non-random". Namely, testing the number with some compression schemes designed to fit in a small number of bits.
                    • Have you got a reference? This definition of random does not seem right.

                      http://db.uwaterloo.ca/~alopez-o/comp-faq/faq.html

                      Scroll down to section four where it talks about Kolmogorov complexity.

                      Then, going back to your first premise that they produced these random numbers using this system, how did they know?

                      Just because a generalized test is impossible doesn't mean a specific one is. All you have to do is limit the number bitlength and it's easy to make a randomness tester.

                    • Thanks for the reference.

                      I still find it extremely hard to believe that any nontrivial sequence of bits can be incompressible. (nontrivial because individual bits can't be compressed.) But I'm going to do some research. [google.com]
                    • Urm, forgot to say, I am aware of the "compress everything down to 1 bit" fallacy. But...

                      Anyway, I'll reserve further comment until after I read about everything a bit more.
        • It's quite simple. If a number, or sequence of numbers, is produced by an algorithm, that number/sequence is predictable (from the algorithm) and therefore not random. The best a computer can do is a pseudorandom number generator, which is just an algorithm who's output looks fairly random, but will behave exactly the same if it is seeded (started) with the same number.
      • True randomness:

        Pick a search engine at random, use a random word from a random page on the net, search on that word in your random search engine, and use the number of hits as your random number. Since pages are constantly coming on and dropping off the net, and since you're using a different word each time, I doubt you could get anything predictable. You could of course search foreign language words, so the number of words to search from would be very great.

        Oh, and no hardware required.
        • The problem with this solution, like any software solution, is its reliance on an external environment, which can be "loaded" one way or another. This is very bad for cryptography, because it means that your results can be manipulated. As has been said by others in this discussion, a software algorithm is by nature deterministic, so the same combination of inputs will always yield the same results. If you find a way to reproduce the inputs, then you can reproduce the results exactly. The other problem with this approach is that it relies on being able to "randomly" select a search engine, a web page and a word. Where do you get the random numbers you will need to decide which search engine, web page and word to use?
          • Re:silly (Score:2, Interesting)

            by chris_mahan ( 256577 )
            why, from SETI research signal, of course.

            You know, true randomness does not happen, in theory. If we had perfect knowledge of all subatomic particles since the universe began then we would be able to predict anything. So, in theory, everything, including randomness, can be fully determined. Yet the likelihood of this happening in our lifetime is slim to none.

            Likewise, can you tell, at any one time, how many hits the word "baka" is going to return on the internet in a google search? (by the way, about 363,000 as of 9/19/2002)
            What are the chances that someone, anyone, could replicate the same results exactly in 3 months time? Slim to none.
            I don't think anyone, ever, could pull that off, not even google.
            So while, yes, in theory it is possible, the odds are slim to none.
            • You know, true randomness does not happen, in theory. If we had perfect knowledge of all subatomic particles since the universe began then we would be able to predict anything. So, in theory, everything, including randomness, can be fully determined. Yet the likelihood of this happening in our lifetime is slim to none.

              Actually, the current "best theory" of physics is all based on quantum ideas that incoroprate true randomness. If you had perfect knowledge of all subatiomc particles that still would not allow you to predict much, because all of the quantum effects are probabilistic.

              Most "true" random generators that I know of do something like take a hunk of radioactive material and measure the decay events. Each event is theoretically random, though conformin to a known statistical range.

    • Re:silly (Score:2, Interesting)

      by soegoe ( 580877 )
      it doesn't quite count as an algorithm.

      Well, designing an algorithm for true randomness is impossible. An algorithm, by definition, must be deterministic, which means that if it doesn't take external input, it's not truly random (because either it will generate the same numbers over and over again or a series of pseudo-random numbers). If it takes external input, on the other hand, this must come from somewhere. You can't take another algorithm (see recursion [tuxedo.org]), so it has to be something mechanical. QED.

  • by cpeterso ( 19082 )

    I'm going to build a hardware random number generator which contains an actual coin. Sure, I/O waiting for the device to flip the coin is slow, but the numbers are truly random.

    • I don't know that that would actually work. The randomness of flipping the coin has nothing to do with the coin itself, but how it's flipped.

      If you mechanicalise the action of flipping, you are removing that randomness.

      In order to get a random result from flipping a coin, you have to flip it randomly. Catch 22 if you ask me.

      Nothing is random! Things can just be reasonably complex, and seemingly unpredictable.
      • Nothing is random! Things can just be reasonably complex, and seemingly unpredictable.

        We don't know that. And if there are 'truly' random events (i.e. results that are genuinely independent of the initial state of the system), we'll never know it, since this would be indistinguishable from deterministic events we simply haven't figured out how to predict yet.

        And given that practical randomness only requires that the participants be unable to predict the results (which is why 'eeny meeny miny moe' works among sufficiently young children), it would be harder to make a deterministic coin-flipping machine than a random one (if it did real flipping through the air). Actually, I'd like to get rid of some of the entropy in my mechanical coin-sorting machine, but that's a different problem....

        • so what your saying is that it's virtually impossible to make a closed system, and subsequently evrything is going to be sufficiently complex to ensure the same results do not occur with given starting conditions.

          This is a good argument, maybe a bit too philosophical for slashdot, but your coin flipping machine would effectively work - going along these lines.
        • And if there are 'truly' random events...we'll never know it, since this would be indistinguishable from deterministic events we simply haven't figured out how to predict yet.

          Yes, we will. There are truly random events - radioacitve decay, for example. This randomness is distinguishable from so-called "hidden variable" interpretations.

          • Hidden variables (Score:3, Insightful)

            by MarkusQ ( 450076 )

            This randomness is distinguishable from so-called "hidden variable" interpretations.

            Not quite. There's a hidden flaw in the argument against hidden variables; the "proof" subtily begs the question. To see this, imagine that there were a level of "hidden variables" complex enough that each quanta (quark, lepton, what have you) could have as much "state" as the entire universe as-we-know it. With such a system you could predetermine every "interaction" over the course of the whole history of the universe--there wouldn't be any "physics," just a mind bendingly huge collection of scripted motions.

            The point being, there's no way we could detect that this was the case...and thus there's know way we can prove that it isn't the case.

            Now, we are free to doubt that we live in such a universe (and believe in "truly random events") but this is just a belief, without any science to back it up.

            -- MarkusQ

            • imagine that there were a level of "hidden variables" complex enough that each quanta (quark, lepton, what have you) could have as much "state" as the entire universe as-we-know it.

              IANAP (I did do about half the coursework towards a physics degree, but didn't get to the QM stuff), but I think that Bell's inqualtity applies regardles of the number of hidden variables you try to invoke. The evidence is stongly - but not definitively - on the side that it does not hold and there are no hidden variables.

              But even putting that aside...

              The point being, there's no way we could detect that this was the case...and thus there's know way we can prove that it isn't the case.

              There's also now way that you could detect that case that miniature invisible alien Elvis clones are living in your walls and are eating your missing socks. That doesn't mean that it's a hypothesis that should be taken seriously.

              Heck, why not go all the way and consider the hypothesis that the entire observed universe is a computer-generated illusion that we experience while evil AIs use our real bodies as power sources.

              IMHO, invoking a universe's worth of hidden state per particle just because you don't like the idea of a random universe isn't much less silly than that.


              • I think you are missing the point. People (yourself included) act as if Bell's inequality ruled out all hidden variable theories--in the sense that it allows us to make testable predictions and the results of testing these predictions are inconsistant with the hidden variable theories. But it only rules out a rather small subset of the possible hidden variable theories and there are many others (such as the extreme case I described) that it does not rule out.

                An analogy to show the flaw in the reasoning:

                Albert: I think there may be someone hiding in the closet.

                Bell: Like who?

                Albert: I don't know. Henri maybe?

                Bell: Well let's see...I know that Henri loves "knock-knock" jokes. Nine times out of ten, he bites if you give him the line.

                Albert: Let's try it. Goes to the closet, says "knock, knock" and waits.

                They repeat this many, many times; no one ever answers "who's there?".

                Are they justified in concluding that there is no one in the closet? Obviously not. Does this mean that there is someone in the closet? Again, obviously not. The line of reasoning they are using is not sufficent to answer the general question.

                IMHO, invoking a universe's worth of hidden state per particle just because you don't like the idea of a random universe isn't much less silly than that.

                I don't recall saying that I believed in one model or another, or that I liked or disliked the idea of a random universe, or that it mattered one way or another what I liked or believed. I'm just objecting to saying that a class of theories has been "ruled out" by an argument that only addresses a small subset of the class.

                -- MarkusQ

      • "Nothing is random! Things can just be reasonably complex, and seemingly unpredictable."

        Well, actually, I don't know if you've ever heard of the famous Bohr-Einstein debate regarding randomness, but the conclusion of that is generally accepted to be that the movement of quantum particles is essentially random.

        Einstein was never quite convinced even till the day he died, but he could never come up with evidence (mathematical or practical) to disprove bohr. On this subject he was quoted as saying "God does not play dice with the universe." However, as we understand the world today, god does. :-)

        Now to go out and build myself a random-number-generating-card that uses the motion of quantum particles. Lets see, i'll need 1 particle accelerator, $thousands in research grants, a lot of KWh (power) and a bajillion other things to make it impractical...

        so, on second thought, this LCD-random-generator is actually pretty cool.
  • C=64 (Score:2, Interesting)

    by Atzanteol ( 99067 )
    Didn't the Commodore have a 'true random number generator' that used white noise from the sound card?
    • Didn't the Commodore have a 'true random number generator' that used white noise from the sound card?

      The Entropy Gathering Daemon [sourceforge.net] similarly sources randomness from your hardware's interaction with the outside world.
    • Didn't the Commodore have a 'true random number generator' that used white noise from the sound card?

      So *that* is how the salesman moved the models with burnt out-chips. Clever sweat-talkin' devils they are.
    • I believe the C-64 noise on voice 3 was from a R/C circuit imbedded in the SID (sound) chip. It was good for low-level randomness ( 8 bit ) but not for more than that.

      The random number generator in BASIC was fairly crude - I believe mantissa/exponent based but am too lazy right not and not enough space in the margins to go look it up and post it.

      The most commen way to get sorta ok random numbers was to use the second timer as a basis to seed the random number generator.

      Either that or :
      while( peek(198) == 0 )
      i = i + 1
      ( it might be peek(198) == 64 ... )
  • by Anonymous Coward on Wednesday September 18, 2002 @04:21PM (#4284071)
    I though the best way to get true random numbers was from watching brownian movement it a cup of tea.

    Anonymous only to avoid "-1 Redundant", I seem to get those when people miss the joke.

    • mmhhh, digital camera and six lavalamps????

      maybe it's better because it's a heck a lot
      smaller and simpler and could potentially
      be made into a add-on card or maybe even
      directly added to mobos????

      but heck; what do I know

      remo
  • by flux4 ( 157463 ) on Wednesday September 18, 2002 @04:24PM (#4284097) Homepage
    Could this technology be used to moderate slashdot posts, in a manner even more astonishingly random than before?

    I mean, it's obviously in use in story-submission already. May as well be efficient.
    • irony /'I-r&-nE/. noun.
      1: incongruity between the actual result of a sequence of events and the normal or expected result
      2: an event or result marked by such incongruity
      3: a comment on Slashdot about the inefficiency and futility of comment moderation that is moderated to (Score: 4, Funny)
  • The big deal is... (Score:5, Insightful)

    by lynx_user_abroad ( 323975 ) on Wednesday September 18, 2002 @04:57PM (#4284414) Homepage Journal
    the bandwidth.

    It's fairly easy to generate truly random numbers in small quantities, but getting a sizable quantity of cryptographically true, cryptographically secure, cryptographically random numbers has always been a bit difficult. You almost have to do it in hardware, and you almost have to use something which is both isolated from external interference (so others can't load your dice) and doesn't bleed its information externally (so you can be sure you are the only one who knows the number). The first requirement rules out most things which rely on the external environment for input (like EM radiation). Add to this a third requirement for lots of randomness, (which rules out things like thermal junctions, or number of NT bluescreens per day) and a simple problem becomes hard.

    Remember, in this context the common definition of "random" meaning "I don't understand how it works" doesn't cut it. You need true "completely unpredictable by anyone" randomness for many security applications.

    • > requirement for lots of randomness, (which rules out things like [...], or number of NT bluescreens per day)

      Hey, we're looking at Randomness, not infinities here!
    • What about hooking up a geiger counter to your smoke detector. That would be quantum-level unpredictability.
      • What about hooking up a geiger counter to your smoke detector. That would be quantum-level unpredictability.

        Fairly decent for randomness (unless the blackhats can pummel your detector with nutrons, and skew your stream) but pittiful for bandwidth (less than 100 bits per sdecond, unless you want to start using something other than just a smoke detector as your alpha source).

  • What is truely random in a deterministic universe? Is it enough that we cannot predict it?

    For computing purposes the number you get by counting photons seem to be random enough however.

    • Are you sure the universe is deterministic?
      • by Anonymous Coward
        Are you sure the universe is deterministic?

        Using complex mathematical algorithms combined with a hope that all of the bad and stupid things that I did weren't really my fault after all, I will say one thing:

        I knew you'd say that.
      • At least quantum theory is deterministic (I've never seen some randomness in an evolution operator). Just some kinds of measurements cannot be predicted in a deterministic way, which is not surprising since the measurement aparatus is not described by quantum theory.

        To be precise, if you start with pure states, you will always get pure states, but if you start with a mixed state, you will always get mixed state. Randomnes seems to be conserved. You get randomnes, if you start out with a random setup.

        I admit, this might be a controversial point of view, but i am convinced. Of course quantum theory allows some freedom of interpretation. I am interested in discussion of this question.

  • Didn't someone do a similar thing with a lava lamp and a webcam type setup a year ago?
    • Yes we did use Lava Lite [lavarnd.org] (r) lamps to generate random numbers by the cryptographic hash of the digitization of chaotic data back in 1996.

      Today using a new method we call lavarnd [lavarnd.org] (instead of lavarand with 3 a's) that uses the thermal noise from digitial cameras. While they were cool the new method is smaller and does not use the lamps, only a small USB based digitial camera. Our new, patent free method can generate about 100 Kbits/sec off of a Logitech QuickCam 3000 Pro USB camera [isthe.com] on a Linux system with ~1GHz CPU.

      We hope to have the full site, complete with Open Source code and CGI demos (old and new) ready by Nov 2002.

  • by Anonymous Coward
    Wouldn't the better way to get a random number be to utilize parts of nature? Like say ..

    ((wind speed in Boise,ID) + (Boats currently in NYC harbor) + (cars passed over a certain point on a highway in the last hour)) / ((wind direction in Boise,ID) + (number of packets recieved in 1 second by NIC) + (people currently signed on #debian))

    That to me seems very hard to predict. granted its an algorthm .. but how often would the same number come up?
    • the only problem is that most of your variables won't change in matters of seconds, so theoretically the same number would come up a lot of times in a very short period of time.

      If you use a LOT of variables you approach a good version of randomness, but if someone knows the input data to your system (e.g. by taking separate measurements for themselves) and your algorithim, they can predict your number with 100% accuracy, which is bad in the crypto-security world.
      • actually, the most failsafe pseduo number generating algorithm for encryption purposes would be to setup a link on the supercomputers thats still calculating the digits of PI and constantly update it. No one in the right mind would attempt to caculate the some trillionth digits in PI by themselves.
        and random numbers DO NOT exist =)
        ------> sig
        • "No one in the right mind would attempt to caculate the some trillionth digits in PI by themselves."

          Do you think saddam hussein is in his "right mind"? But seriously, if the information you have encrypted is valuable enough, even PI won't be safe. In fact, there are way more complicated algorithms out there, and i can't believe that i'm responding to this stupid troll...

          P.S. Random numbers DO exist!
        • Well...

          Actually, they recently worked out a way to calculate a digit of Pi without calculating all previous digits. Which means if someone could work out *aproximatly* where in pi your super computer was up to, they could start calculating from there.
          Pi may be normally distributed, but its not random, because theres and algorithm for calculating arbitary digits. So its not good for encryption.
  • Or ICMP, actually. Some time ago when I needed a relatively small amount (a megabyte or so) of random numbers I thought to check how random the time between sending and receiving a ICMP echo request was. Liking to tinker with this kind of things I wrote a quick-and-dirty program to collect the data.

    Turned out that if the destination host was distant enough (at least a couple of hops) and only a few most insignificant bits of the number of microseconds elapsed between the request and reply was used, the method would yield a fairly random sequence of bits. In fact, I tested the randomness of the sequence with a couple different methods and got positive results from all of them.

    Of course, the technique is completely impractical for generating any significant amount of random numbers, and there probably are ways to embed order into the results if you are part of the network used to relay the requests, but nonetheless I successfully used the sequence in a (one-time) commercial application.
    • Thats funny, I discovered this commercial app that used something similiar to it. Fortunately I recognized that a truly distant host allowed me to guestimate what the numbers would be.... and I successfully reverse engineered the software.

      Good news, credit card numbers and company secrets were soon mine!
      • what could work, is just taking a section of the servers bandwidth, converting all letters symbols etc. to numbers, it a=54 %=493 etc. and putting it into a string 54493, if the server had enough data transfer, this could be quite effective. Reece,
  • by Eagle5596 ( 575899 ) <slashUser AT 5596 DOT org> on Thursday September 19, 2002 @09:22AM (#4288107)
    The primary problem with this method is that it is implemented in hardware, which produces quite a few problems.

    1) No known seed. One of the primary characteristics of a good random number generator is that the results are reproduceable. If I want to run the same experiment twice during some sort of simulation, I need to be able to generate the same stream of random numbers twice. Second it is always useful to have a random number generator with a [very large] full period, this obviously is not periodic, which makes it hard to determine if the system which is using the variate generation is chaotic or stable.

    2) Hardware random number generators are often difficult to port to all systems, and to interface with existing programming languages. A good solid pseudo-random number generator (like a Lehmer one) is based on a mathematical algorithm which is reproducable in just about any environment.

    There are many other problems with this approach as well, too numerous to name. In general hardware random number generators are a bad idea.
    • by jefu ( 53450 )

      There's a major difference between a sequence of pseudo-random numbers (as you describe) and a sequence true random numbers (leaving aside completely any proper definition of what is random).

      Simply enough, it is what they are used for - in many computer applications (simulation, pysol, and the like) pseudo-random numbers are great - given the same seed they're reproducable, they have the right statistical properties - but they may be very predictable, - in cryptography building a perfect one time pad requires true randomness - and a pseudo random number sequence is not even close to working.

      Random numbers are actually a very tough subject, with odd and wonderful oddnesses and wonderfulnesses. Start with Knuth (Chapter 3) (a reasonable introduction to pseudo-random numbers and go on from there (there's easily a lifetime or three of stuff on the topic).

      "Anyone who considers arithmetical methods of producing random digits is, of course, in a state of sin." John Von Neumann
  • Make the randomizer a function of time of day! The output will vary depending on _when_ the rand() function is called, and can never truly be the same at any other time!!! What's wrong with this method ?
    • The problem with this is that if you have an idea of the algorithm used you can run through a subset of numbers and then find your seed value.

      e.g. if I know your app is pulling from time of day and my log entries show that it was at 9:55 AM Then I can run a range of all time values between say 9:50 and 10:00 including MS. In so doing you are tying your random number to a known thing which defeats the purpose.

      A truly random number would be one that can't be determined by outside factors ( especially time )
    • This would be a brilliant random number generator for generating encryption keys like the article was talking about... until some evil genius figured out a diabolical way to spoof a computer into thinking it was some date/time other than the true date/time. Fortunately, I think that, technologically, we are a long, long way from that.
  • Random.org [random.org]

    They generate random numbers based on hardware, using the decay of radioactive elements.

    Yeah, still hardware, but you're never going to get truly random in software. Something has to put in a bit of chaos into the system that you just don't get in a computer. Otherwise they'd just crash all the time.....wait a minute! Windows must have some super-secret random number technology!
  • by jefu ( 53450 ) on Thursday September 19, 2002 @11:41AM (#4289153) Homepage Journal
    Randomness is a very complex subject with lots of odd facets. The article cited at the top of this topic may be a good way to generate more or less "true" random sequences (17 is, of course, the Only Random Number).

    Random sequences based on quantum (or similar effects) are useful primarily in cryptography where "true" randomness is important. Probably in video gambling devices as well (is there any good way to tell how they generate randomness).

    Random sequences based on deterministic generators are useful for lots of other things: simulation, pysol (including freecell), and a number of algorithms. These are not useless by any means and while they need to satisfy some fairly stringent statistical properties, they can be generated by well defined algorithms starting with seeds which may be reused.

    Randomness, its uses, implications, theory and even philosophy is a massive subject - probably more than a single lifetime's worth.

    In fact, its hard to even describe what randomness actually is and how you can tell is something is random.

    For starters try Knuth Chapter 3, go on to Greg Chaitin's work, and cryptography. Then continue with the appropriate bits and pieces of quantum physics and then go back and fill in all the holes. (Don't neglect using cryptographic algorithms to generate random numbers - as well as their uses the other way around, the digits of Pi, the Riemann Zeta function and, well, a lot else) You'll have lots of fun and push your brain quite a bit.
  • When there's no natural source of light? Or does this work on non-natural sources. These might be a bit more predicable.

    No dark labs for THESE randomizing circuits - phorm
  • You probably have a TRNG right on your desktop. Intel has incorporated a true hardware random number generator (TRNG) in Pentium III and Celeron chips. It's based on the quantum-mechanically random Johnson noise across an undriven resistor. Two resistors are used to eliminate any external effects. Here's a good explanation from Cryptography Research, Inc.: ftp://download.intel.com/design/security/rng/CRIwp .pdf Here's Intel's TRNG page: http://www.intel.com/design/security/rng/rnghow.ht m RSA believes in it: ftp://download.intel.com/design/security/rng/RSA_B SAFE.pdf
  • Or... (Score:2, Funny)

    by popmaker ( 570147 )
    Of course we could just get a butterfly to flap it's wings a couple of times inside the computer. That oughta do it. :)

God help those who do not help themselves. -- Wilson Mizner

Working...