LavaRnd: A Open Source Project for Truly Random Numbers
Phil Windley writes "Truly random numbers are crucial to good encryption.
Most people have heard of Silicon Graphic's use of Lava Lamps to generate random numbers. There were some problems: it required special SGI hardware and software along with six lava lamps, and the solution wasn't portable. But the biggest drawback was that SGI patented the idea so it wasn't freely available. Now, some of the scientists behind the SGI random number system have create LavaRnd, an open source project for creating truly random numbers using inexpensive cameras, open source code, and inexpensive hardware. The system uses a saturated CCD in a light-tight can as a chaotic source to produce the seed. Software processes the result into truly random numbers in a variety of formats. The result is a random number that is crytographically sound, ranking at the top of its class in the NIST 800-22 Billion bit test. Its even portable, so the truly paranoid can take it with them when they travel."
1, 2, 3, 4, 5, 6
Talk about random...
Anyway, my idea for an open source number generator is to have people on slashdot post the first number that comes to mind in this thread. I don't know if it could get more random.... (patent pending)
NMG
128.6431
"But, sir, I need this lava lamp for my cubicle! It's required for encrypting our company's secrets. I also need the black light, for, uh... stopping pop-ups."
... "truly random numbers in a variety of formats" ...
Think about that for a second.
Pi! Pi! Pi! Pi! Pi! Pi!
3.14568238925
Site's already /.'ed.
You can nab the code off sourceforge though:
http://sourceforge.net/projects/lavarnd
That's the combination to my luggage!
1337 :)
That being said, could you not measure the exact voltage on a CPU, or the ambient temperature to several decimals, or other environmental conditions, then use that as a base?
***
Radio Shack. You've got questions...we've got blank stares(TM).
That ain't Pi! This is Pi!
3.141592653589793238462643383279502884197169399375 1058209749445923078164062862 08998628034825342117067982148086513282306647093844 6095505822317253594081284811 17450284102701938521105559644622948954930381964428 8109756659334461284756482337 86783165271201909145648566923460348610454326648213 3936072602491412737245870066 06315588174881520920962829254091715364367892590360 0113305305488204665213841469 51941511609433057270365759591953092186117381932611 7931051185480744623799627495 67351885752724891227938183011949129833673362440656 6430860213949463952247371907 02179860943702770539217176293176752384674818467669 4051320005681271452635608277 85771342757789609173637178721468440901224953430146 5495853710507922796892589235 42019956112129021960864034418159813629774771309960 5187072113499999983729780499 51059731732816096318595024459455346908302642522308 2533446850352619311881710100 03137838752886587533208381420617177669147303598253 4904287554687311595628638823 53787593751957781857780532171226806613001927876611 1959092164201989380952572010 65485863278865936153381827968230301952035301852968 9957736225994138912497217752 83479131515574857242454150695950829533116861727855 8890750983817546374649393192 55060400927701671139009848824012858361603563707660 1047101819429555961989467678 37449448255379774726847104047534646208046684259069 4912933136770289891521047521 62056966024058038150193511253382430035587640247496 4732639141992726042699227967 82354781636009341721641219924586315030286182974555 7067498385054945885869269956 90927210797509302955321165344987202755960236480665 4991198818347977535663698074 26542527862551818417574672890977772793800081647060 0161452491921732172147723501 41441973568548161361157352552133475741849468438523 3239073941433345477624168625 18983569485562099219222184272550254256887671790494 6016534668049886272327917860 85784383827967976681454100953883786360950680064225 1252051173929848960841284886 26945604241965285022210661186306744278622039194945 0471237137869609563643719172 87467764657573962413890865832645995813390478027590 0994657640789512694683983525 95709825822620522489407726719478268482601476990902 6401363944374553050682034962 52451749399651431429809190659250937221696461515709 8583874105978859597729754989 30161753928468138268683868942774155991855925245953 9594310499725246808459872736 44695848653836736222626099124608051243884390451244 1365497627807977156914359977 00129616089441694868555848406353422072225828488648 1584560285060168427394522674 67678895252138522549954666727823986456596116354886 2305774564980355936345681743 24112515076069479451096596094025228879710893145669 1368672287489405601015033086 17928680920874760917824938589009714909675985261365 5497818931297848216829989487 22658804857564014270477555132379641451523746234364 5428584447952658678210511413 54735739523113427166102135969536231442952484937187 1101457654035902799344037420 07310578539062198387447808478489683321445713868751 9435064302184531910484810053 70614680674919278191197939952061419663428754440643 7451237181921799983910159195 61814675142691239748940907186494231961567945208095 1465502252316038819301420937 62137855956638937787083039069792077346722182562599 6615014215030680384477345492 02605414665925201497442850732518666002132434088190 7104863317346496514539057962
Yes, and Microsoft allready planned, to build Lava Lamps into Fritz-chips.
I won't bore you with the laundry list of other problems that I've encountered while working on various SGI lava lamps, but suffice it to say there have been many, not the least of which is I've never seen a SGI lava lamp that has run faster than its 1960s counterpart,despite the SGI lamp's smaller viscosity. My lamp with runs faster than this SGI lamp at times. From a productivity standpoint, I don't get how people can claim that the SGI LavaRnd is a "superior" machine.
SGI addicts, flame me if you'd like, but I'd rather hear some intelligent reasons why anyone would choose to use a SGI over other faster, cheaper, more stable systems.
...
...
start with radioactive material...
... hi bingo
A Open Source Project for Truly Random Numbers
cause random n's to be dropped from sentences ?
Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
What truth?
There is no dupe
Its even portable, so the truly paranoid can take it with them when they travel.
that if one were truly paranoid they really travel in this day and age?
I always wondered what was behind some of the moderation decisions I've been seeing!
Don't blame Durga. I voted for Centauri.
audio circuits often use diode junctions in reverse-breakdown mode as a source of "white noise". couldn't we computer folks do the same? seems a similar idea to the the dark CCD technique.
I'm not a math guy. At all.
So forgive me if this is dumb or not the right idea.
But why not just use a sensitive microphone listening to the ambience in a room to "seed" some sort of algorithm?
The only numbers that generates is 42,69,503,and 23. I figure in 2 more posts you might get 17 too.
-Looking for a job as a materials chemist or multivariat
For generating random numbers: A quarter in my pocket and a lot of free time.
Cough into your microphone.
I had a friend that 5 or 6 years ago used the "white noise" from his SB 16 to generate random numbers. Wouldn't this be much more portable than a lava lamp? -Matt
Lava lamps? Damn hippies.
Unless the random-number generator is built outside of our Universe, it can't generate truly random numbers. Only pseudo-random ones. As it stands, there will always be something influencing the result. Fortunately for us, pseudo-random numbers are impossible to differentiate from random ones and are random enough to serve our purposes anyway.
Support the First Amendment. Read at -1
Hmmm ... this brings up some COOL case mod ideas :)
It is more productive to voice thoughtful opinions (reply) than to judge (moderate) others.
And it's already slashdotted. And it's from SGI scientists, heh.
Anyway, it's gonna be great for cryptographers to have a source for truly random numbers. It's a pity that it requires CCDs and such. Although I can't see the site, so I can't determine if this can be done with hardware or something similar that would be better in server environments.
www.sitetronics.com/wordpress
Your personal version of pi as at least .004 off from the real value. It stops being correct at the third digit after the decimal point.
over here
I just used LavaRnd's Lotto Number Generator with default values and it returned:
1, 2, 3, 4, 5, 6
That's the same combination I use on my luggage!
going back to the original idea, how cool would it be to have a lava lamp inside the case, maybe helping out all those heatsinks by converting heat into lava-moving power...with a window so you can see it as it generated all the random numbers you needed.
"Anyone who considers arithmetical methods of producing random numbers is, of course, in a state of sin."
--John von Neumann
SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
Best read in good ol' Monaco 9 point.
Nothing is truly random about a lava lamp, or even the fractals on a leaf. "Randomness" as we understand it has always been about complex order and large numbers. Meaning, it's too complex for us to see the pattern and the statistical possibility of numbers occuring in a measurable pattern over time is extremely low.
There is no longer anything that can be done with computers that is nontrivial and clearly legal. -- Paul Phillips
The Apple ][ computers used the pause between keystrokes, measured much more precisely than necessary and disregarding all but the last 8 bits, as an attempt at an analog random number seed for their psuedorandom number generator. Very simple and effective and I haven't seen many implementations of better systems around. One side effect was that if you had a program which ran off the boot disk with no keystrokes, it would do the same thing every time, no matter how improbable that was...
It's psychosomatic. You need a lobotomy. I'll get a saw.
123456? That's the combination of my luggage. I need new luggage!!!
503 ;-)
Six Lava Lamps not to mention six photo-sensors? Why not six cheep antennas to measure radio noise? Probably take up less room too.
Testis, Testis 1,2,3 Testis
Just do not donate your body to science, ok?
"There is no teacher but the enemy."-Mazer Rackham
>so the truly paranoid can take it with them when they travel."
pfftt, like there is anyone on Slashdot that is paranoid.
I've always wondered if the double-slit experiment, in a particle mode, would be a good way to generate random numbers.
The phenomena (for those unfamilar with it) is putting two closely-spaced slits in a piece of paper and then shining a light through it. You end up with a spreading fringe of light and dark patterns, as the light waves coming through the slits interfere with each other.
Where it gets spooky is when you drop the light source down to where it emits photons one at a time -- they *still* interfere with each other, even though there aren't any other photons present at any given point to interfere with.
Anyway, I seem to recall that the place where each photon ends up is random. So why not put a low-power, stream-of-single-photons light source on one side of the double-slit, and a pair of sensors on the other side? Label one sensor "0" and the other "1" and interpret the strings as binary numbers. Convert (and optionally send them through a bit blender) and you're done.
I'd think this could be manufactured in a small chip-like package, and made a standard motherboard component.
Has anyone investigated this approach? If so, I'd be curious to hear what their results were (and if it turns out not to be as random as one would like).
When I read the first instance of the word "portable" I thought "How hard could it be to port this kind of code to another platform?" It was only on reading the second instance that I realized they meant the good old-fashioned real-world lugging-things-about portability :-).
Spending time in specialized fields really tends to change the meaning of common words.
No shit, Sherlock! Can you imagine lugging six lava lamps and an SGI box round with your powerbook?
that only God can choose a random number.
Random to us, not to God, of course.
...my idea for an open source number generator is to have people on slashdot post the first number that comes to mind in this thread.
Ok, got one. It's on my hand behind my back AND it's not the first two fingers or the last two fingers.
How about just pseudo-randomly snagging LAN IP packets and pseudo-randomly extracting bytes from those? E
Marxist evolution is just N generations away!
Resistors produce electrical whitenoise with just a little current pushed through them. Why not sample a solid-state whitenoise source, instead of going to all this trouble with cameras and lava lamps?
Simple solutions are better.
, no matter how improbable that was
Ford, you're turning into a penguin. Stop it.
The only reason we have the rights we have is that people just like us died to gain those rights. -- Cheerio Boy
Would it be possible to do something like get a blank CDR, scratch it up with a brillo pad and then have software that would try and read from point A to point B even though there were no files? All the scratchs would render parts of the CD unreflective. The same as seeing a stream of 0s. The part that was not scratched would still be reflective, making it a 1. Cheap, extremely portable, and the chances of doing it the exact same way twice are almost NULL.
When you're done, just microwave the CD-R.
Stop the Slashdot effect! Don't read the articles!
This will produce a truly random signal (white noise) which is completely unpredictable. $0.05 solution + $2-5 in external components is all you need.
No, analog is NOT the key. You know that an analog source can't jump from the lowest possible value to the highest possible value in an instant, like is required for truly randomness.
The value of the lava lamp is that it's very unpredictable -- the changes are minor, but how they occur is not predictable, meaning it's a good source as parts of seeding a random number generator.
Regards,
--
*Art
There's a very simple truly random number generator.
Give me a seed number. Say, n=100302. Give me an irrational number (e, pi, the square root of any prime, e^sqrt(2), any irrational will do). For the sake of argument, say, the number is I=pi.
The first random number is the nth digit of I.
The second random number is the n+1st digit of I.
The third random number is the n+3st digit of I.
And so on....
This sequence is provably random and it's easy to generate. Of course, if I know your seed and irrational number, I can figure out the next number in your sequence, but you should be able to keep those secret, especially if your algorithm is embedded in a chip. It could use the initial power-up time of the chip as the seed and the initial power-up temperature to select the irrational number.
... when the bsd libc random generator only fails their test-suite 22% more often than LavaRnd; that's only 0.215% failure, in any case. This, to me, is an encouraging thought, especially when I only need to generate PGP keys. Generating presidential election data, on the other hand...
Most likely the #1 Unfunny Meta/Moderator on
Answer: none of them were random; all of them chosen by you off the top of your head. There are important mathematical differences between these two cases. What you have given is sets of "arbitrary" numbers, rather than "random" numbers.
Now, if you'd asked which of the sets could be generated randomly, then the answer is all of them, given a generator function with the correct output range.
proof, n. A demonstration that a conclusion is implied by certain premises and axioms.
What's up with the favicon that lavarnd is using? I don't get it...it seems totally random.
....welcome our new Lavalamp overlords.
goatse
Who cares about security. Games are more important! Truly random numbers can enhance the gameplay for some games no end. And another good use: I have xv pick a random picture from a directory to use as background image every time I start my machine up. I soon noticed that some pictures appear more often than others. So maybe someone can use this random number generator in xv, please!
-- Cheers!
What about radiation? I remember way back in physics using a piece of radioactive material in front of a sensor connected to a computer to generate a large number of random numbers. It would be fairly easy to use a small piece of Californium such as is in a smoke detector connected to a sensor. The time between radioactive particles should be random enough and it is small enough to fit anywhere.
By the way, how do you know my birthday? :)
How about transmitting a signal through some form of changing medium? Really, with the lavalamp approach, all that fancy webcam stuff isn't needed. How about just using a lavalamp type setup with various different floating substances (density, reflectiveness, etc) and shooting some for of beam through it at various areas - calculating the number based on the returned signal?
You don't really need a lavalamp for this either, passing an electrical signal over a short arc-gap, perhaps filling with a changing substance would probably also product random voltage fluxation.
Of course, the real issue is making randomness with a large range (1-100% with many many decimal points) and a large enough variability (that is, any decimal number between 1-100% having an equal opportunity for occuring at any particular interval).
I'm thinking that in electrical and biochemical reactions there would also be a lot of randomness, the wide-universe and entropy and all considered?.
When Americans firs flew a man to space they've discovered that ball pens don't work in zero gravity. NASA received a $100M grant to develop a pen which would work there. Ten years and hundred million dollars later such a pen was developed and it worked just fine. Russians just used pencils. :0)
By definition, white noise is completely random. The question is whether the noise is completely white. ;)
The problem is that for encryption purposes you may need some huge random numbers. If you want to do that from an analog solution you'll have to take your samples closer and closer together, until the numbers become less random. If you start sampling sound 1 million times a second, any two values next to each other my be really close and actually predictable.
One solution to that is to only keep the least significant digits from any measurement. So if I take a 32-bit floating-point measurement, I would keep, say, only the last four bits. Increases the sampling requirements but helps the randomness.
-Looking for a job as a materials chemist or multivariat
"The Antaur also ships with Via's "Padlock" feature, a random-number generator that actually produces "true" random numbers by measuring random components of the thermal energy produced by the chip, according to its designer, Glenn Henry. RNG generators can be used to develop true randomized cryptographic keys."
Is 2 a 'truly' random number or is it only fakely random?
All's true that is mistrusted
just means you lack the information to guess the next event. given enough information, nothing appears random. for example: people used to think storms were random (or "god's will"), but now we know how they're caused.
Could someone explain to me why it is so hard to make random numbers?
Thanks!
Sigs are dangerous coy things
I believe that technique is called "packet sniffing".
Grabbing the packets themselves I wouldn't go for, it'd create a sort of race condition/replay attack combination that could cause the same numbers to be generated if you hit it just right. What about the variation on a ground wire or the imperfections on the bit signals? All sorts of unpredictable crap influencing that.
Also, when was the last time someone exploited a weakness in a random number generator to crack encryption? I've never heard of this being done.
I think you're putting the horse before the cart. The 1st thing you need, as several people have already mentioned is a noise source whose statistcal characteristics are understood. A good source might be resistor noise, shot noise, noise during avalanche breakdown, etc. That, along with the appropriate amplification and a a/d converter on a motherboard are needed first. Once you get the motherboard manufacturers on-board with this idea, then the software to open source software to generate random numbers is trivial.
Vote for Pedro
In other news, SGI announced today that it will be entering the retail market with a new line of products and a new subsidiary called Sweet Grass Inc. Their product line includes items from the 60's charged at outrageously high prices and will be sold in head-shops nation wide. One S.G.Inc. board member explained, "Man, like, when you use our lava lamps and, like, one of our epileptic inducing screen savers on our workstation and, man, turn off your lights, it's like, Woah." Other executives were to busy eating Ho-Ho's to comment. Expect S.G.Incs product line in time for holiday season 2003.
NMG
IANACE
Can anyone give an example of a case where "real world" encryption was cracked do to psudo-random numbers being broken?
It has been my experence that using these inovative solutions to improve one end of secure comminications does not help in the least a whole host of other more easily exploited flaws. For example even a theoretically perfect encryption is still vulnerable to social engineering.
An impenitrable front door is usless next to an open window.
JFMILLER
Strive to make your client happy, not necessarly give them what they ask for
All's true that is mistrusted
I think it's much more important to have a source of deterministic non-random numbers. And fortunately someone has stepped up to the plate with a solution!
Correct me if I'm wrong, but "truly random" numbers are not just practically impossible, but ARE impossible. Everything (including natural effects) can approach randomness, but never be TRULY random. Everything follows a pattern in some way, even radiation.
For a good example of a portability, check out this kind of portable. Just about anything can be portable these days.
the truly paranoid can take it with them when they travel.
Oh, that just what you'd want us to do isn't it???
JET Program: see Japan, meet intere
What about Hotbits? http://www.fourmilab.ch/hotbits/
"Those who would sacrifice liberty for security deserve neither!"
1. Get a brush.
2. Brush Schrodinger's cat.
3. Count the hairs in the brush.
4. Patent stupid idea.
5. Profit!
BTW, how do you make the square brackets "[site]" after a web link go away in your post?
Any technology distinguishable from magic is insufficiently advanced. - Geek's corollary to Clarke's law
That seems more elegant certainly than an external webcam or lava lamp. I'm not sure what happened to these that were supposed to be on Intel chipsets.
-Libertarian secular transhumanist
Why use crazy lava lamps to make random numbers when you can simply do:
int randomNum;
srand(1);
randomNum = rand();
Boy, those lava lamp people are sure going to feel stupid after they read this post.
looks like billy & burgIE are a step ahead of the crowd. 2003-08-08 GATES, WILLIAM H. III Chairman 1,000,000 Sale at $25.58 - $25.88 per share. (Proceeds of about $25,730,000) 2003-08-07 GATES, WILLIAM H. III Chairman 1,000,000 Sale at $25.49 - $25.78 per share. (Proceeds of about $25,635,000) 2003-08-06 GATES, WILLIAM H. III Chairman 1,000,000 Planned Sale (Estimated proceeds of $25,660,000) 2003-08-06 GATES, WILLIAM H. III Chairman 325,246 Sale at $25.851 - $26.03 per share. (Proceeds of about $8,437,000) 2003-08-06 GATES, WILLIAM H. III Chairman 231,336 Sale at $26.04 - $26.16 per share. (Proceeds of about $6,038,000) 2003-08-06 GATES, WILLIAM H. III Chairman 443,418 Sale at $25.64 - $25.85 per share. (Proceeds of about $11,416,000) 2003-08-05 GATES, WILLIAM H. III Chairman 1,000,000 Planned Sale (Estimated proceeds of $26,180,000) 2003-08-05 SHIRLEY, JON A. Director 46,500 Automatic Sale at $26.50 per share. (Proceeds of $1,232,250) 2003-08-05 SHIRLEY, JON A. Director 87,089 Disposition (Non Open Market) at $0 per share. 2003-08-05 GATES, WILLIAM H. III Chairman 573,443 Sale at $26.014 - $26.22 per share. (Proceeds of about $14,977,000) 2003-08-05 GATES, WILLIAM H. III Chairman 113,557 Sale at $26.2222 - $26.28 per share. (Proceeds of about $2,981,000) 2003-08-05 GATES, WILLIAM H. III Chairman 313,000 Sale at $25.79 - $26.011 per share. (Proceeds of about $8,107,000) 2003-08-05 COLE, DAVID WAYNE Senior Vice President 441,200 Option Exercise at $5.6563 per share. (Cost of $2,495,559) 2003-08-05 COLE, DAVID WAYNE Senior Vice President 441,189 Sale at $26.10 - $26.244 per share. (Proceeds of about $11,547,000) 2003-08-04 GATES, WILLIAM H. III Chairman 2,000,000 Planned Sale (Estimated proceeds of $52,340,000) 2003-08-04 GATES, WILLIAM H. III Chairman 100,000 Sale at $26.33 - $26.38 per share. (Proceeds of about $2,635,000) 2003-08-04 GATES, WILLIAM H. III Chairman 1,900,000 Sale at $25.79 - $26.32 per share. (Proceeds of about $49,505,000) 2003-08-01 COURTOIS, JEAN-PHILE Senior Vice President 272 Sale at $26.29 per share. (Proceeds of $7,150) 2003-08-01 GATES, WILLIAM H. III Chairman 32,550 Sale at $26.36 - $26.38 per share. (Proceeds of about $858,000) 2003-08-01 GATES, WILLIAM H. III Chairman 650,258 Sale at $26.28 - $26.355 per share. (Proceeds of about $17,113,000) 2003-08-01 GATES, WILLIAM H. III Chairman 317,192 Sale at $26.155 - $26.2763 per share. (Proceeds of about $8,315,000) 2003-08-01 SHIRLEY, JON A. Director 46,500 Automatic Sale at $26.35 - $26.4 per share. (Proceeds of about $1,226,000) 2003-07-31 BACH, ROBERT JOSEPH Senior Vice President 20,000 Option Exercise at $5.6563 per share. (Cost of $113,126) 2003-07-31 BACH, ROBERT JOSEPH Senior Vice President 20,000 Sale at $26.88 - $26.91 per share. (Proceeds of about $538,000) 2003-07-31 GATES, WILLIAM H. III Chairman 1,000,000 Sale at $26.4274 - $26.605 per share. (Proceeds of about $26,516,000) 2003-07-31 BURGUM, DOUGLAS J. Senior Vice President 50,000 Sale at $26.91 - $26.97 per share. (Proceeds of about $1,347,000) 2003-07-31 GATES, WILLIAM H. III Chairman 1,000,000 Planned Sale (Estimated proceeds of $26,230,000) 2003-07-29 GATES, WILLIAM H. III Chairman 1,000,000 Sale at $26.27 - $26.49 per share. (Proceeds of about $26,380,000) 2003-07-29 SHIRLEY, JON A. Director 81,815 Disposition (Non Open Market) at $0 per share. 2003-07-29 GATES, WILLIAM H. III Chairman 1,000,000 Planned Sale (Estimated proceeds of $26,610,000) 2003-07-28 SHIRLEY, JON A. Director 1,500,000 Disposition (Non Open Market) at $0 per share. 2003-07-28 GATES, WILLIAM H. III Chairman 1,000,000 Sale at $26.54 - $26.8739 per share. (Proceeds of about $26,707,000) 2003-07-28 BURGUM, DOUGLAS J. Senior Vice President 59,729 Sale at $26.74 - $26.84 per share. (Proceeds of about $1,600,000) 2003-07-28 GATES, WILLIAM H. III Chairman 1,000,000 Planned Sale (Estimated proceeds of $26,890,000) 2003-07-25 GATES, WILLIAM H. III Chairman 1,000,000 Sale at $26.52 - $26.64 per share. (Proceeds of about $26,580,000) 2003-07-25 BURGUM, DOUGLAS J 159,729 Planned Sale (Estimated proceeds of $4,295,112)
The original motivation for random number generators was simulation. One of the early mainframes, and I am afraid I forget which one, included a true random number generator. It was an unexpected disaster, totally unusable for simulation and other then-state-of-the-art users of random numbers. They were "too random".
It turns out that for an experiment to be useful it need to be repeatable. Thus, it was critical that users be able to repeat the sequence of "random" numbers. Thus the reason why all random number mechanisms permit you to set the seed... otherwise they could just use a sufficiently random seed and life would be good.
Another aspect of random number is that they must not only be "random", but they need to have a well defined distribution over the range of possible values. You might assume it is desirable to have a linear distribution, which IS useful in some settings, but other distributions ("bell curve", and exponential come to mind) are also extremely useful.
IF one has a real need for truly random numbers, the source for those number does need to perform to a certain distribution over the range of possible values. And it can not be used to the exclusion of the existing techniques which have been extremely useful in their intended problem domains. This is really just another case of a good solution in one problem domain being used in another without its underlying foundation being examined for applicability to that new problem domain.
Check out "A New Kind of Science" for a very interesting way to genereate random numbers without external input, like lava lamps or white noise. The system works, as anyone using Mathmatica can attest. It's the same function used there.
Buy a 9600/300 Powermac, I'm sure it can create random numbers more quickly!
Failing that, a Pentium Pro with 16Mb of RAM.
Well of course the article's slashdotted right now so I can't RTFA, but I wonder how the quality of the randomness from this thing compares to, for example, thermal noise from a sound digitizer such as many computers have built into them.
/dev/audio | compress - >random-bits-file
RFC 1750, "Randomness Recommendations for Security", has some interesting info on randomness. Regarding reading your mic port for random numbers it says,
Combining this with compression to de-skew one can, in UNIXese,
generate a huge amount of medium quality random data by doing
cat
The benefit of doing this of course is that many (most?) computers already have a mic port.
Anyone know if this technique is in wide use already? If not, why not?
...too.
True Random Generator
We suffer more in our imagination than in reality. - Seneca
This system is interesting, but I would be wary of any commercial solutions. It's too easy to embed a predictable PRNG in the CCD's silicon, resulting in what people *think* is an ultimate source of entropy, but instead helps the spooks unwrap your data.
Using the laws of quauntum mechanics and radioactive decay, someone has already come up with a truly random source. All schematics and source code are available, as well as java classes for utilizing it. Check out http://www.fourmilab.ch/hotbits/
This was in the last issue of WIRED
[Patent Pending]
The answer to the universe and everything is 42
OH THE SHAME I fell off the wagon and use sigs again!
http://www.snopes.com/business/genius/spacepen.asp
Mea navis aericumbens anguillis abundat
The only "truly random" ie. completely in-principle unpredictable events are quantum events. So they're using the energy levels of electrons in an array of diodes to produce quantum noise. This noise is in fact unpredictable as long as it isn't biased in some way.
/dev/random except that it's probably a little harder to tamper with.
The way to bias this noise is to use radio waves or static electric fields or some other electric effect to cause the diodes to produce 1 more often than 0 or the other way around.
Random numbers are always run through encryption algorithms to "smooth them out" because of this possibility to bias the results. The encryption algorithm spreads the real entropy around.
This method is not particularly more secure than the method used in
((lambda (x) (x x)) (lambda (x) (x x))) http://www.endpointcomputing.com a scientific approach to custom computing.
Most setups now have a thermocouple somewhere in the case whose output is accessible to software--mine has one on the processor, for instance. It shouldn't be hard to request 5-6 digits from it and use the least significant digit(s) to generate a seed.
Alternately, many systems can also monitor the voltage coming off the power supply. Use the fluctuations in that to generate a seed.
The easiest way to get a truly random seed is to look for random elements in nature, and electrical line noise (from whatever source) is random and accessible.
OK - standard disclaimer - I am no mathemetition but.
It seems that there are a number of really good ideas here to suggest at least seeds for random numbers. Audio, Radio, Heat, Light, Voltage, etc. All seem quite viable, but are "discouraged" by someone being a bit too picky, or perfect. Not random enough, not secure enough, samples would be taken too quickly.
While this may be true for a limited sample it seems to me that if you were to take all of these suggestions, and combine them in some fashion you would actually get a better random number.
If, one of the strengths of the LavaLamp is the number of sources, the CCD sensors. By the same token, is it not a weakness that the LavaLamp it self might be predictable, given enough knowledge of the thermo-dynamics of the device. (I have not read the article yet, slashdotted)
OK - if many sensors is good, then many sensors on many sources must be better. All of these suggestions are quite doable in a single unit.
True friends are hard to come by... I need more money. - Calvin
A bunch of posters have included thier own ideas about generating random numbers like radio antennas, listening to the LAN, etc. Hell, you could use various portions of the value of pi.
What the article is about (I think, the slashdot effect has kicked in already) is SECURE random numbers, which is a totally different topic. To be secure, the probability of the number cannot be influenced by an attacker (who could overcome any of the methods above).
It's REALLY hard to get secure random information, because you need a source that no one else can read (which takes out radio, LAN, and pi) or influence (which takes out radio, LAN, and a ton of other things). The source of randomness itself needs to be unpredictable and secure from outside monitoring.
IBM worked out a way to get random bits from hard drives, (not from the data on the drive, if memory serves, but from other characteristics like head float height) but to keep it random enough they could only get 6-8 bits per MINUTE from the technique.
The wired article linked to above mentions this problem: intel's RNG built into hardware can only provide about 70kbps of random data. If you over-sample your analog source, the data becomes predictable. The camera CCD is great, because it's so easy to get, and outputs so much data.
This sig isn't here.
I've used several ways to create really good random numbers, though I've never tested to see if they were PERFECTLY random.
1) use a crappy capacitor. Measure the time it takes for the thing to charge/discharge, the concept here is that because the capacitor is junk the discharge rate will never be the same. Any change in temperature, or even air pressure, would affect the time. Take the least siginificant bit and rotate it into a byte, do that 128 times to get a nice big 128 bit random number. Of course, I found that in some conditions it would take a couple seconds to complete even a 16 bit number
2) My most recent application has used a radio receiver. Measure the time between two rising(or falling) edges on the digital receive lines. Doesn't matter if there's modulated data or if it's noise, the time is always different, at least if you're timing it in 100 nano-second increments. Again, take the least significant bit from each time and rotate it into your number. So you take 128 samples and you have a 128 bit random number. This method is typically VERY fast, since noise is usually picked up as fast as the receiver can get it, so timing between two rising edges is around 2-5 micro seconds. Best thing is, if I find a channel that isn't producing good results, I just change channels! :D
I've taken a lot of samples using the radio method, and it's results were better than the capacitor EVER was. With bluetooth and all these other cheapo radio chips coming out, and microchips for ATMEL being so cheap and so good, I would think someone could easily create a really cheap hardware random number generator that could plug into your usb port. But what do I know? :D
I am an avid amatuer astronomer as well as an anonymous coward lurking on slashdot. The point to my confessing to be an amatuer astronomer is that I use several SBIG CCD cameras for astro imaging. CCD cameras do not generate totaly random noise in a black box. To the contrary, over several samples, it is statistically possible (and done very often) to calulate which pixels are likely to give noise. I use a black box to "tar" the system so I can subtract out the pixels most likely to be noise in my images. They must do something similiar and then look for the other pixels if this is to be effective.
Just my 2 Cents.
I have never completely understood those quantum-mechanic courses i had, especially since your intuition always fails you.
Anyhow, my feeling says that your proposal does not work. When you place a detector behind each slit there is no longer any interference between the two slits. What you end up with is a system that measures single photons at two different places (which could give random results, depending on the source but for another reason.)
If i recall correctly you can't see the photons as loose particles, but you have to think in wave-functions, which can tunnel trough two slits at the same time. Blocking one slit with a detector spoils the whole interference thing.
karma police: arrest this man, he talks in maths; he buzzes like a fridge, he's like a detuned radio. [radiohead]
Shouldn't that be informative or insightful? Maybe my sense of humor just isn't what it used to be...
why don't you just use white noise AND a lavalamp unpredictable characteristics. You might have to use key press timing to pseudorandomly chose a pseudorandom number from the two pseudorandom producers pseudorandomly. Then for performance, add several lava lamps of difference sizes and several input sources for white noise.
Actually, wait... This may be too predictable for you. You might hate to place the lavalamps on a water bed (with some fire proof sheeting, lavalamps are hot) and place the mics at various locations of the bed.
but if that isn't enough, maybe you should just get one of those new intel boards when the come out.
The system you propose is a form of one time pad. While it works in theory, it is not the application needed here. Random numbers are needed in streams where there can be no pattern known or logical pattern findable. How many ways can you think to scratch a CD? Up and down, right and left, circles? With this sort of information you could start to predict the general "form" of the number. Besides, when you need a stream of numbers it needs to change over time. The CD is scratch once use once.
I can't seem to get to the article so I'll ask this question that has probably already been answered anyway. I have a digital camera and as it heats up the amount of noise increases, however the pixels most affected by noise tend to be in the same place on every picture. Thats how taking a dark-frame and subtracting can make the pictures look better. So how could the noise on the ccd be used to generate a random number, when the noise tends toward the same pixels?
0xfeedface
Hey guys, just to gripe:
;-)). This makes it so anyone can get random numbers of a similar quality to the ones being sold for buku money. This is Pretty Damned Cool.
This project doesn't use lava lamps! It is made by some of the people who worked on a project that did. That technique is patented, and used by the company that made it to form the basis of a pay service for random numbers.
The "new" thing about the project is that it uses a normal webcam on your own system (with the lens cap on
"He's more machine now than man, twisted and evil."
How about the time between Windows crashes? Oh wait, that is predictable after all! What about if we just measure the 50% that are not the fault of third party code? Damn, predictable again!
I once read that one of the best sources of random numbers was from the background radiation of space. And it's really easy to gather as well: you just tune a radio (or better yet point a dish, as someone could potentially un-random it by broadcasting) to a station that isn't used and hit "record."
This method is fantasticly simpler than setting up a webcam to watch 6 lava lamps.
"No problem. I have the capacity to do infinite work so long as you don't mind that my quality approaches zero."-Dilbert
Actually, that's incorrect. At least on the radio side it is. I know, I've tried to get two receivers to get the same numbers listening to the same channel. It was, as with all randomness, impossible for me to do in 2 days of testing. The reason being that the radio waves are being affected by the air, the reflections from walls, the physical proximity to the transmitter. I concluded that in order for them both to come up with the same numbers, they'd have to be in ultra close proximity to each other physically, they'd have to start listening on the same channel at the EXACT same time. So for someone to duplicate the number they'd really need to be in the same physical place as the one creating the number. Even if the attacker was on the same channel, it would still be physically impossible to duplicate the number. In this way the only way an attacker could influence the outcome would be to modulate ALL the channels so that what comes out of the digital receive is zeros. But since that would be something checked by the processor creating the number, it would be reported to the user and the user would KNOW someone is screwing with him
When designing and building a physical cryptographic strong random number generator (CSRNG, not CSPRNG) you are looking for many things including:
* a uniform or near uniform distribution of the output.
* it must be unpredictable
* it should be very hard / impossible for attacker to influence the output of the CSRNG.
The first two are reasonably easy with physical RNG, but the last one is the kicker when it comes to actually implementing the CSRNG.
The attacker shouldn't be able to influence it by poking a pin-hole in the case (of a light sealed chamber around the CCD), or putting a heat source next a lava lamp (so the goo stays at the top)
Always found my British Rail timetable perfectly sufficient thanks.
Since strong crypto requires large random numbers for seed, why not use our greatest resource for large random numbers: the RIAA?
Crypto Guy: Ummm, I have a bunch of Metallica and Limp Bizkit MP3's, how much financial damage is that?
MPAA: Eleventy-seventy jillion dollars!
Where does the school board find them and why do they keep sending them to ME?
Couldn't we just use the Bush adminitration's latest IRAQ excuse as a good random seed?
Maybe someone's beaten me to this (probably, haven't all the good ideas already been thought of?)
Use a superprecise (note precise, accuracy doesn't matter worth a damn) A/D converter and a thermister. A 128 bit A/D can be made quite cheaply on an IC if you don't care about accuracy or sample rate. Chop off several of the most significant bits. There you've got a nice big randseed. Feed that into your psuedorandom algorithm and update it frequently. Christ if that isn't random enough for you, you've got problems.
Then again, pseudo random algorithms can use quite a bit of CPU time. What volume of numbers are we looking at here? I suppse the CCD camera idea could probably generate a higher bandwidth of random numbers since it's actually generating the numbers, not just a randseed.
-73, de n1ywb
www.n1ywb.com
is to xor a power of 2 not so random bits.
. ph p?f=1&i=3623&t=3623
Math and discussion at
http://irresponsiblecybernetics.com/phorum/read
It's Christmas everyday with BitTorrent.
Sort of. Higher seeds will create subsequences.
.... ... ... ... ... ... ...other type of irrationals
But the algorithm also involves random irrationals, so it generates:
10 true sequences for PI
10 true sequences for sqrt(2)
10 true sequences for sqrt(3)
10 true sequences for sqrt(5)
10 true sequences for sqrt(7)
10 true sequences for sqrt(11)
10 true sequences for sqrt(13)
10 true sequences for sqrt(17)
10 true sequences for sqrt(really big prime)
10 true sequences for E
10 true sequences for E^2
10 true sequences for E^3
10 true sequences for pi^(really big number)
10 true sequences for pi
10 true sequences for pi^2
10 true sequences for pi^3
10 true sequences for (e*pi)^(really big number)
10 true sequences for (e*pi)
10 true sequences for (e*pi)^2
10 true sequences for (e*pi)^3
10 true sequences for (e*pi)^(really big number)
10 true sequences for (2*pi)
10 true sequences for (2*pi)^2
10 true sequences for (2*pi)^3
10 true sequences for (2*pi)^(really big number)
10 true sequences for (3*pi)
10 true sequences for (3*pi)^2
10 true sequences for (3*pi)^3
10 true sequences for (3*pi)^(really big number)
So you have *a lot* of possible sequences.
If you're still paranoid, you could also use increments that are larger than one (e.g. use the nth+2 digit, the nth+4 digit, etc), use polynomial increments (e.g. use the nth+2^2 digit, the nth+3^2 digit, etc) or even exponential increments (e.g. use the nth+2^2 digit, the nth+2^3 digit, etc). Polynomial and exponential increments allow each irrational seed to generate an infinite number of true sequences.
This approach is a hard to crack as you want to make it.
What if all Slashdot readers seeded a universally accessible random number generator with the number of times they've had sex (with another person).
I'll start.
0 (Zero)
Frog
Just read the noise generated by the sound card with no microphone plugged in. If there's not enough gain you could always hook a simple noise generator to the mic input jack.
-- Programming with boost is like building a house with lego. It's a cool but I wouldn't want to live in it
Nearly every PC also has a sound interface that could also be used as a rich source of random seed bits. You don't even need a microphone; just crank up the gain and digitize the analog noise in the microphone preamp.
42
1337
69
0
0
7
666
I'm using SCO's attempts at getting Linux to kneel as a random seed. Their claims seem to be truly random, and completely isolated from external interference.
Beware: In C++, your friends can see your privates!
Microsoft supplied the AppleSoft BASIC interpreter to Apple.
Mea navis aericumbens anguillis abundat
Am I the only one who remembers this being posted before? Or was that another project that went from lava lamps to cameras... Well, either it's a repeat, or my brain must have subscribed to Slashdot...
(\(\
(=_=) Bani!
(")")
All you need a is good source of Brownian motion. Say a good hot cup of tea...
I assert that my comment is only my opinion, not that of any employer, past, present or future.
creating truly random numbers using inexpensive cameras
Fussy nitpick:
As a matter of principle we shouldn't talk about "true" random numbers. Even if you have a source of quantum randomness (the best you can do), in any practical scheme there will always be differences in how 0's and 1's are detected. The impact of these differences can be minimized through careful design, but they will always be there and will cause a departure from an exact 50/50 split of 0's and 1's.
For example, an attenuated laser passing through a simple 50/50 beamsplitter and into 2 single-photon detectors is far better than a lava lamp. But no beamsplitter is exactly 50/50, and this will cause an excess of 0's or 1's. (You could adjust the detection efficiency or optical alignment of the detectors to compensate, but the point is that this is a manual adjustment that will never result in exactly zero bias.) And no amount of algorithmic hashing or obfuscation can eliminate this bias (although it may reduce it significantly).
It will always be the case that any practical system for generating bit sequences of length N will never generate them with a frequency of exactly 2^(-N) each (in the limit of an infinite number of trials), and with zero correlation between successive bit sequences. "Truly" random numbers are an unattainable goal.
PassGen is a Java applet that uses keypress timing as a number seed for generating passwords.
The US Army: promoting democracy through unquestioned obedience
"Its even portable, so the truly paranoid can take it with them when they travel."
Which one of this is the most likely: - someone manages to get your low-class 'pseudo' random number by extrapolating the exact time of the system clock and the contents of your memory etc. and running it through the algorithem. Someone manages to predict or find your mouse movements by the indents on your mouse mat and the use this to get the same random number you created by moving the mouse in the box. Someone looks over your shoulder and reads the information/password you were trying to hide?
All this assuming you arnt in star trek
This comment does not represent the views or opinions of the user.
All this dealing with cameras and lavalamps seems like a lot of extra work.
Why not just get random numbers from random.org?
I believe they get them by monitoring certain radio frequencies which are predominantly white noise.
I kinda liked this approach.
HotBits
Basically use random radioactive decay to get your numbers. Can't beat mother nature.
Apple free since 1990!
According to this the lottery is rigged anyway.
Security is inversely proportional to the commitment of one desiring to circumvent it.
SGI was doing the lava-lamp-interpret-image random-number thing several years ago. I first saw the project website when I was an undergrad, when it was hosted at
some-odd-name.sgi.com/~some-employee/spare-time-p
I think they've changed the arrangements/colors of the lamps since then, but it's not new.
You cannot apply a technological solution to a sociological problem. (Edwards' Law)
So let me submit one of my own. To generate a truly random number (in only 7 simple steps)...
1) Reach your finger (pick which finger at random) all up in your nose and pull out a booger.
2) Document the degree of slimyness on a scale of 1 to 10.
3) Measure the depth and circumferance.
4) Document the color of the booger.
5) Plug that into an equation that I will be providing via an application I have written in Powerbuilder (so nobody but you will be likely to be using it)
6) Use your truly random number.
7) Remember to wipe booger on your pants so no one else will steal your key!
T.
Isn't anyone a little suspicious of the similarities?
Check out http://www.sadgeezer.com/hhg/i-drive.htm if you are unfamiliar with the idea.
You can just use my algorithm:
int getNextRandom()
{
return 1;
}
If an alogorithm is truly random, it's just as possible by definition that all the numbers produced are the same.
I use porn in a dimly-lit room to produce the seed. To each his own.
High geek-factor aside, this seems way to complex for the simple task of generating random numbers.
Why not have a simple electronic circuit (it's been years since I've done any circuit design) that's balanced so that thermal noise produce ticks. Stick a USB interface on it and there you have it. A device you could carry in your pocket.
So you're saying if you set up a rand-generator and it spits out {1,2,3,4,5,6...} the first time you use it you won't check it? ;)
I understand what you mean though. I love how people try to stay away from runs of numbers when filling out their lottery tickets.
-Looking for a job as a materials chemist or multivariat
Lame. For all practical purposes, the numbers are random. If you want to get philosophical, that's fine, but stick to your armchair, because philosophy is incompatible with the real world.
Mine is geometrically random.
Inside my box I have two cameras and they are aimed at each other.
Geez... all I need to do to read Slashdot is pick up the latest Wired. I had a profound sense of deja vu: and I just figured out why. It's an interesting story nonetheless... and not everybody reads Wired.
Here's the story, for those interested: 11.08
The power sucks so bad in my neighborhood I could get truly random numbers just by sampling the live voltage! ;-)
There are a lot of ways to generate sequences of numbers which have a truly random element. For example, a warm resistor generates a small amount of random electrical noise which can be amplified and digitized. Maybe the method in the article is better in some way, but the article sure doesn't explain why.
What ever happened to 2d6?
27
Im dreaming ofa big bndwdth, That can resist the
You need an SGI with at least two CPUs to take advantage of the superior LavaRnd abilities! Also, dump Netscape for Mozilla!
Your home PC LavaRnd setup may be able to generate a large random number faster than the SGI-based one... but the SGI LavaRnd has the architecture to generate many concurrent random numbers. It also has the ability to easily handle high definition random numbers without chugging!
=)
Lava lamp? Nah.. Real geeks use this
"God does not place dice with the universe." I don't feel too bad siding with Einstein on this one.
If you accept true randomness then you accept effect without a cause. In otherwords, if some effect is random than nothing causes it. One nice thing about accepting randomness is that it removes the "first mover" paradox of the creation of the universe. So God can be thought of as a random event.
nohup rm -rf ~/. >& zen &
Why not use the noise inside your chassis as a seed for random number generation?
Random is relative. What may seem to be a bunch of random numbers to you might make perfect sense to someone else. Why do you think it is so easy for people in movies to break into systems?
Oh wait, nevermind.
"The Internet is a fad." -WB
A clever person solves a problem. A wise person avoids it. -- Einstein
a project created by a friend of mine.
He's been running for a while now - as his site claims, " 49816 million random bits served since October 1998".
He's got good links to the theory as well as some fairly through test of the randomness of number sources.
What is the difference between a real song and a simulated song?
I shoot a photon through a double-slit. Where does it land? You can't tell. Do you really believe that that's chaos?
If you have a wavefunction describing your system, and you observe it, the state of your system will be random, as allowed by the probability distribution of your wavefunction.
The uncertainty principle. Is that chaos? Wrong.
because I have just that num... ok, never mind ;-)
You'd get ONE number followed by endless arguments about it, including offtopic posts and all the other crap.
A better way would be to sample the actual post number of all the attempted First Posts. At least it'd almost never be 1.
Lump lingered last in line for brains, and the ones she got were sorta rotten and insane.
But the biggest drawback was that SGI patented the idea so it wasn't freely available. Now, some of the scientists behind the SGI random number system have create LavaRnd, an open source project for creating truly random numbers
So now there is an open source project of a patented technology. Why couldn't SGI ask royalties for its use? It doesn't sound like a free project to me. While the SGI people making it probably want it to be, some other people at SGI may decide otherwise later on.
All of you saying there are easier ways to generate random numbers are missing the point.
.sig
I'm sure if you ask on sci.crypt.random-numbers you'd get a lot of faster, and cheaper answers,
or check out this page but how many of them would be cool?
Lavarnd wins hands down in the "Oh my god, why?" department,
although the smoke-alarm HRNG is pretty cool too.
-- this is not a
2. Play with it to discover what will turn out to be a normal distribution curve of frequency response.
3. Connect an A/D/RS-232 converter to it.
4. Blow at it, recording the white noise.
5. Employ compensation for the resonance, shuffling and compression at will--all in software.
6. Call it good.
The hedonic value should be high enough to leverage OSS on sourceforge more quickly than pr0n (even). Neglecting software development costs and software "mass production costs" (smirk), the project should cost $30 in quantities of one.
Hey, should we skip step one? (shrug) If we do, then I'm sorry I said this was too cushy. I lied. ;-)
That algorithm is property of SCO. Expect a call from our lawyers.
I know you were joking, but I want my Karma, so I'm going to reiterate your post in a serious tone.
The LavaRnd source is about to be released. If you want to be notified about the release, join the LavaRnd-release mailing list.
chongo (was here)
It must be, mustn't it, or what about irrational number series?? ... anyways, IANAM
Why not use the bingo number tumbler for the seed?
---
Lousy rotten karmic retribution.
is for when i:
man * > lpt1
>so the truly paranoid can take it with them when they travel."
pfftt, like there is anyone on Slashdot that is paranoid
pfftt, like there is anyone on Slashdot that travels
How much "better" is this one compared to the one in the linux kernel?
Why not spray paint or electrical tape?
Please pardon my lack of knowledge on this subject, but as far as I know and from I get from the uncertainty principle and quantum mechanics, the only truely pure random thing in our universe is nuclear decay. Supposedly there is absolutely no way to predict when the next particle will decay from the nucleus of a radioactive atom. These ideas are used for this random number generator. Essentially, you can download a set of numbers generated by their radioactive element. This seems much more truely random and a bit more portable than lugging around camera equipment (although internet connectivity may be an issue, and you may not be able to generate as many random bits as frequently).
Our LavaRnd project does not use Lava Lite(R) lamps.
Well, OK, we do have a Live LavaCan image that is sitting between two (but unrelated to the project) Lava Lite lamps. :-)
One of the SGI classic lavarand inventors (Bob Mende) is rebuilding the original classic site. Watch the LavaRnd news page for details.
So why do we call it LavaRnd? Well, one of the LavaRnd co-inventors likes to visit volcanoes, so we worked Lava into the name and site theme.
chongo (was here)
I can make an electronic noise circuit using two or three zener diodes, a few gates (flip-flops, XORs, shift registers), an R-C clock, hook it up to a serial or paralell port and feed the bits to
Bonus: Feed cheap radio to soundcard, use those bits as well.
Besides, lava lamps have a pretty short operating life; after a while, the wax and water mix up and it stops bubbling.
You have too much time to format text. Watch how I express Pi much more accurately than you in a fraction of the space:
..))
Pi = sqrt(6 * (1 + 1/4 + 1/9 + 1/16 +
Tada!
It seems to be that by our common definition of random, random numbers are in fact impossible. So I am wondering what the definition we are working with regarding random number is?
IMO, I think one stipulation of a true "random number" is that part of the seed has to be externally derived. I.e. in any closed system numbers cannot be truly random. This means doing things using as a seed, the previous random number hashed with the MD5SUM of the system time along with some external information which is unknowable by an attacker or other program. Mouse or keyboard activity, network traffic in some cases, maybe even an MD5SUM of the total range of I/O address ports...... Of course, that would have to be kernel level.
LedgerSMB: Open source Accounting/ERP
I was thinking that this sounded almost like William Gibson's Book/Movie (yes I know it wasn't the book). Take a photo of some random event at my pc. Or maybe a screenshot from a channel. Just grab a few pixels from the screenshot at a variety of locations and base a random number on the color of the pixel and Bob's your uncle. You have random numbers based on a random event. I think it would work. Go Gibson.
CAPS LOCK: ITS LIKE THE CRUISE CONTROL FOR AWESOME
This was in Wired 1 issue ago. Not exactly news.
this nation, under God, shall have a new birth of freedom. -- Lincoln, Gettysburg Address
Why do they just detect radiation coming off of a tiny radioactive source in a tiny can..mounted on a pci card. Seems like this wouldnt even be hard to do.
:( )
:)
I should do an ISA one from the chip of radioactive stuff in a smoke detector. (pci is expensive for a license
This is of course based on what i read about a radioactive source beeing truly random. If im wrong about that someone can correct me
It's easier to fight for one's principles than to live up to them.
When I was in grad school (for mathematics), I took a course on probability. On the first day, the Prof gave an assigment for half the class to create a list of 100 random numbers using dice (actually one die). The other half of the class was to create the same list (numbers between 1 and 6), but without using any dice. The Prof then put all the pages in a pile, and was able to perfectly separate the pile based on which method was used to create the page with only a quick glance at each page.
We later learned that he was able to separate them by looking at runs of numbers. For a list of 100 uniformly distributed numbers (between 1 and 6), there is a very high probability (90% or greater) that there will be a consecutive run where the same number occurs 5 or 6 times in a row. But the people that manually created their list will almost never add such a run, because it doesn't seem "random" enough.
What is really "random" is a very hard question that has occupied many brilliant people over the last century.
Looking through the Lava site, I get no impression of how much random bytes it can produce over time. That's a key factor IMHO.
Finally, I wonder how many bytes of randomness the NSA puts out per year?
It's called WMDRND()
Simply get a feed from Washington with the latest excuse for still not finding any of the thousands and thousands of
Weapons of Mass Destruction we know Saddam had.
Quidquid Latine dictum sit, altum videtur (anything said in Latin sounds important)
I think unpredictable is synonymous with random
I have two coins, that's twice as fast as SCO's algorithm! nyaa..
Preserve old classics: copy your collection onto all hard drives.
Dr. Matt.
Save the Bottom Line
Strange, but I'm sure this was on last months wired!? Is everbody impervious to this fact???
Murphy's Law of Research: Enough research will tend to support your theory.
I tried, but the site was down. I checked the Google cache and it didn't seem very random to me.
It's not random, just because you can't figure out all the variables. I'd say it is entirely predictable. You just need the power to figure it out.
This lavarnd looks a bit as (as we say in Dutch:) 'old wine in new bottles': video_entropyd is quiet a while available for download.
While you're at it, take a look at audio_entropyd as well: it generates random-values from unconnected inputs of your soundcard.
www.vanheusden.com - home of Multitail, HTTPing, CoffeeSaint, EntropyBroker, rsstail, bsod, listener, nagcon, nagi