
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."
but but... (Score:2, Funny)
silly (Score:3, Insightful)
Re:silly (Score:3, Insightful)
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.
Re:silly (Score:1)
Hmmm...
Might this be a case where using "self-organizing circuits" [slashdot.org] might do the trick? The question would be, how would the circuit evaluate its successfulness in being "random"?
Re:silly (Score:1)
I vote for intelligent design
Re:silly (Score:1)
It would be very easy to integrate this into (eg) UNIX -
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.
Re:silly (Score:1)
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)
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)
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)
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.
Re:silly (Score:2)
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
Re:silly (Score:2)
Re:silly (Score:2)
(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.
Re:silly (Score:2)
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.
Re:silly (Score:2)
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]
Re:silly (Score:2)
Anyway, I'll reserve further comment until after I read about everything a bit more.
Re:silly (Score:1)
Re:silly (Score:1)
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.
Re:silly (Score:1)
Re:silly (Score:2, Interesting)
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.
Re:silly (Score:2)
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)
I don't think you know what an algorithm is. This fails the first qualification of being an algorithm, namely that it is computable on all universal turing machines.
Re:silly (Score:2, Interesting)
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.
Coin flipping (Score:2, Funny)
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.
Re:Coin flipping (Score:1)
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.
Re:Coin flipping (Score:1)
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....
Re:Coin flipping (Score:1)
This is a good argument, maybe a bit too philosophical for slashdot, but your coin flipping machine would effectively work - going along these lines.
Re:Coin flipping (Score:1)
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)
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
Re:Hidden variables (Score:1)
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...
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.
Re:Hidden variables (Score:2)
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:
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
Re:Coin flipping (Score:1)
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.
Re:Coin flipping (Score:1)
C=64 (Score:2, Interesting)
Re:C=64 (Score:2)
The Entropy Gathering Daemon [sourceforge.net] similarly sources randomness from your hardware's interaction with the outside world.
Re:C=64 (Score:2)
So *that* is how the salesman moved the models with burnt out-chips. Clever sweat-talkin' devils they are.
Re:C=64 (Score:2)
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
Why not Tea? (Score:3, Funny)
Anonymous only to avoid "-1 Redundant", I seem to get those when people miss the joke.
Re:Why not Tea? (Score:1)
And how is that any better than... (Score:2)
Re:And how is that any better than... (Score:1)
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
in moderation (Score:4, Funny)
I mean, it's obviously in use in story-submission already. May as well be efficient.
Re:in moderation (Score:2)
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)
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.
Re:The big deal is... (Score:3, Funny)
Hey, we're looking at Randomness, not infinities here!
Re:The big deal is... (Score:2)
Re:The big deal is... (Score:1)
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).
How random is enough? (Score:1)
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.
Re:How random is enough? (Score:1)
Re:How random is enough? (Score:1, Funny)
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.
Re:How random is enough? (Score:1)
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.
Lava Lamp method? (Score:2)
Re:Lava Lamp method? (Score:2)
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.
Isn't this kind of a "no duh" (Score:1, Funny)
((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
Re:Isn't this kind of a "no duh" (Score:2, Informative)
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.
Re:Isn't this kind of a "no duh" (Score:1)
and random numbers DO NOT exist =)
------> sig
Re:Isn't this kind of a "no duh" (Score:1)
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!
Re:Isn't this kind of a "no duh" (Score:1)
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.
Randomness using TCP/IP (Score:2, Interesting)
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.
Re:Randomness using TCP/IP (Score:2)
Good news, credit card numbers and company secrets were soon mine!
Re:Randomness using TCP/IP (Score:1)
Problem with this method (Score:3, Interesting)
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.
What are they used for. (Score:2, Insightful)
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
Here's a true randomness algorithm (Score:1)
Re:Here's a true randomness algorithm (Score:3, Insightful)
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 )
Re:Here's a true randomness algorithm (Score:1)
Another source of randomness (Score:2, Informative)
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!
Re:Another source of randomness (Score:1)
Randomness is Not All That Random (Score:3, Interesting)
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.
What happens (Score:2)
No dark labs for THESE randomizing circuits - phorm
Intel True Random Number Geneator (Score:2, Informative)
Or... (Score:2, Funny)