VIA C3 Random Number Generator Reviewed 289
An anonymous reader writes "VIA has added a hardware
random number generator to its Nehemiah C3 CPU. I found a recent review
of its security. Interesting how it's done at the instruction level as opposed to
the chipset level used by the i810 RNG (also reviewed there)."
Finally (Score:4, Funny)
Hell, I couldn't even predict what would come next
Oh wait...
Re:Finally (Score:2)
It's like people that would be surprised if the lottery results were 1, 2, 3, 4, 5 and 6. "That's not random, is it?", they'd cry. It's just as likely as any other combination.
Re:Finally (Score:2)
The Prototype: (Score:5, Funny)
Developer: Hey! Gimme a number!!!
Idiot in corner: uh Seven boss!
42 (Score:2)
Just to keep this on topic, what's the difference between
Re:42 (Score:2)
You'd use
Re:42 (Score:2)
Speed has nothing to do with it.
Re:42 (Score:2)
Re:42 (Score:2)
Re:42 (Score:2)
Re:The Prototype: (Score:2, Interesting)
I
Re:The Prototype: (Score:2)
One of my teachers demonstrated this once, by drawing a line on a piece of paper. He asked us all to mark along the line wherever we wanted, and most of the marks were like this:
Stupid cocking lameness filter. Well suffice it to say the marks were usually about 70% along the length of the line, or 30%. Never 50%,0,10
The Law of Seven (Score:2)
News Release (Score:5, Informative)
Combining an integrated PadLock(TM) Data Encryption Engine with a wealth of enhanced performance features, the new generation VIA C3(TM) provides the lowest power native x86 platform for the fast-growing market of connected PCs and home entertainment centers
Taipei, Taiwan, 22 January 2003 - VIA Technologies, Inc., a leading innovator and developer of silicon chip technologies and PC platform solutions, today announced its new generation VIA C3(TM) processor integrating the 'Nehemiah' core. With its powerful PadLock(TM) Data Encryption Engine, this next generation VIA C3 is the first native x86 processor on the market with embedded security features that enhance the protection of sensitive corporate and personal data.
Available now at a speed of 1GHz, the new processor core is based on an advanced new CoolStream(TM) processor architecture that delivers all the necessary performance for running even the most demanding digital media applications while maintaining ultra low levels of power consumption and heat dissipation.
"The launch of the seventh generation VIA C3 processor extends our leadership in enabling the development of secure, quiet-running small form factor system designs for a rapidly growing number of exciting new lifestyle and productivity applications such as home digital media entertainment and connected computing," commented Paul Hsu, Executive Assistant to the President and Head of VIA's CPU Business Unit. "Integration of embedded security features in the processor provides the most robust and cost-effective solution for addressing the increased demands among individuals, businesses, and government organizations for enhanced authentication and protection of their data in today's connected world."
PadLock(TM) Data Encryption Engine
The PadLock Data Encryption Engine has been integrated into the new generation VIA C3 processor to ensure greater confidentiality, integrity, and authenticity of electronic data either stored in the computer or transmitted over a network or the Internet, and enables a host of powerful new security applications, including heavy-duty data encryption and safer online transactions.
At its heart is an advanced Random Number Generator (RNG) that uses random electrical noise on the chip to securely produce random number values, and features a direct application level interface through a new x86 instruction. Developers can obtain random numbers directly from the hardware without having to use separate software drivers, thereby providing an inherently more secure and efficient solution than combined hardware/software RNG architectures. The RNG includes several operating modes, offering performance from 750K bits per second to as high as 6 million bits per second.
"VIA's incorporation of a hardware random number source on the processor die is exciting for developers, since it provides a simple and effective way of obtaining high quality randomness. This is particularly important for security and cryptography applications, since it is notoriously difficult to generate random numbers of adequate quality without a hardware random number generator," said Paul Kocher, President of Cryptography Research, Inc. and co-inventor of SSL 3.0. "I am enthusiastic about the benefit to applications such as secure web browsing, cryptographic key generation, and protocols where randomness is required."
CoolStream(TM) Architecture
Based on the advanced CoolStream architecture, the new generation VIA C3 processor has a highly efficient design that, when coupled with the VIA Apollo CLE266 chipset, delivers performance increases of up to 20% over the current version of the VIA C3 processor in mainstream productivity applications and up to 73% for 3D graphics applications, while continuing to deliver the same benefits of low power and minimal heat dissipation.
New performanc
Paul Kocher is one of the experts (Score:2)
Testing bittorrent (Score:3, Informative)
As a test, I put the PDF file of the review of the hardware RNG up here [ofdoom.com] (The summary is here [ofdoom.com]).
If you have bittorrent installed, feel free to try to download from me.
Cant the randomness be predicted? (Score:2)
Re:Cant the randomness be predicted? (Score:5, Interesting)
Mmm.. thermal noise (Score:3, Interesting)
Re:Cant the randomness be predicted? (Score:2)
What I'm interested in is whether or not there is any way for crosstalk from the zillions of other high-speed signals elsewhere on the chip to have any real influence, however slight, on the operation of the random number generator... if so, I wonder how long before the hax0rs will be trying to 0wn my RNG by writing fiendishly clever patterns out onto the address bus.
Re:Cant the randomness be predicted? (Score:2)
Thinking about it more, why dont they simply use the random electrical noise level for the random number?
And isnt there a limited range of 'random' noise that can occur?
Re:Cant the randomness be predicted? (Score:5, Informative)
* Freewheeling means that these oscillators are not tied to a crystal, and the frequency they oscillate at is not precisely locked at any exact rate (as would be the case if it employed a crystal.) These minute variations in frequency are the source of entropy the chip designers are actually gathering.
The sampled bits are then "whitened" to reduce biases, and the whitened bits are stored in a FIFO queue until used.
The paper in the article explains all this, and it talks about a couple of other cool cryptogeek features. You can change the bias voltage via CPU instruction (which would affect the jitter,) but each request of "randomness" comes with a pedigree indicating what bias settings were used! Finally, Cryptography Research's testing showed that they believe the chip (with whitening enabled) is capable of generating bits with an entropy of 0.99 bits/output bit, although they recommend trusting only a conservative entropy factor of about 0.75 bits/output bit. And since it generates bits at a rate of 30-50 million bits per second, most applications can probably afford to throw away a few in the name of entropy.
Re:Cant the randomness be predicted? (Score:2)
Yeah, there probably is an external way to "reduce" entropy (other than by using the provided mechanism to alter the oscillator bias voltage.) But that will require an attacker to have physical access to the machine, and enough time on it to sample the effects of his change in order to see what's happened because of it. Since these ch
Obligatory Dilbert Quote (Score:5, Funny)
accounting troll: this is our random number generator
troll: 9
troll: 9
troll: 9
dilbert: are you sure that's random?
accounting troll: thats the problem with randomness, you really can't be sure.
Re:Obligatory Dilbert Quote (Score:3, Informative)
Of course, it's not that simple either:
If I have a RNG that spits a long string of the same number. Is the string random? Well, not really. So I take the string, and make sure it has the same number of each digit in it. But 1111222233334444 isn't random either, so now I make sure the same number of each pair occurs, so we've got as many 12s as we have 21s.
Re:Obligatory Dilbert Quote (Score:3, Funny)
I guess they don't have humor where you come from.
Re:Obligatory Dilbert Quote (Score:2)
Re:Obligatory Dilbert Quote (Score:2)
And if you can thoroughly check the coin to ensure it is NOT biased?
Unlikely is exactly right. It is not impossible. If any sequence is impossible, or any more likely than another, it would not be random. So, it's just as likely that you will get 999999 as 123456 or 274579, or any other combination with the same numer of digits.
Re:Obligatory Dilbert Quote (Score:3, Insightful)
One of the few accepted truly random physical processes is radioactive decay. It is however completely possible that 4 decay events occur, each exactly 2 seconds apart (for instance) - it doesn't mean our radioactive sample has suddenly broken the laws of physics.
Your arguments are frankly bizarre, as determing randomn
Re:Obligatory Dilbert Quote (Score:4, Informative)
In norwegian the strip is located in my Dilbert-archive [de-slumme.vv.no].
Ofcourse I got an English archive [de-slumme.vv.no] as well, for you Dilbert fans out there!
Truly Random Numbers (Score:5, Informative)
The idea of using electrical currents secured on a chip is much sounder - since the noise is locally generated and very difficult to tap. I project that as quantum mechanics become more mainstream, the random quantum effects of electrons will be tapped to generate even sounder and accessible random signals.
Re:Truly Random Numbers (Score:2)
Re:Truly Random Numbers (Score:5, Informative)
A myth, for the most part. It's generated primarily in the front-end amplifier of the TV tuner by virtue of the fact that its temperature is above absolute zero.
All dissipative (resistive) elements, whether active or passive, generate thermal, or Johnson, noise. The noise power is expressed in watts as
Pn=KTB, where K = the Boltzman constant, T is the temperature in degrees Kelvin, and B is the bandwidth you're looking at. TV signals occupy several megahertz' worth of bandwidth, so even the smallest amount of noise in the front end will dominate the noise from atmospheric and celestial sources.
You can prove this by disconnecting the antenna. Even if you short the TV's antenna terminals with a paper clip, neither the audio nor the video noise will change much.
Re:Truly Random Numbers (Score:5, Funny)
Randomness (Score:5, Insightful)
But any human being would prove horrible at such a task... In fact, if you ask a human being for 3 random numbers, odds are very good that they will give you at least two sequential ones...such as 7 6 2...or 5 9 8...
I guess that's the point of computers though...if we could all calculate as fast as a computer, process data as fast as a computer, and perform other tasks as fast and as well as a computer, we wouldn't need computers, now would we?
Random number generation is an interesting topic though because it is often seen as a fault of computers... People claim that computers are "incapable" of generating random numbers. So are human beings... I can understand a computer not being able to store a floating point number with a hundred digits after the decimal point being considered a fault, because FEASIBLY a human being COULD perform the operations and have the value exact out to a hundred decimal places. But with random numbers...a human couldn't do it even remotely as well a computer can, so why is it considered such a weakness of computers? Maybe the power of computers to break their own codes because numbers aren't truly random is the reason they are sought after in the first place.
"OT" (quote, unquote) (Score:5, Funny)
You know, when you're able to use quote marks (" for example) in a written medium, you really don't need to spell out quote unquote as well. It really just doesn't make any sense - we can see the quote marks you used, spelling that idiom out doesn't add anything. People sometimes say "quote unquote" because you can't see the quote marks in their speech. Even this practice is ill-advised as it makes one sound like a drooling marketdroid (e.g. "At the end of the day, we need to quote unquote actualize profits by exceeding expenses with net income in order to meet quote-unquote business objective. Take an action quote-unquote item").
This is the most bizarre thing I've seen all day. Please don't do it again. Thank you.
Re:"OT" (quote, unquote) (Score:2)
Problem is, reading back the text that had real quotes just didn't have the same kind of flow as a spoken message using the silly "quote unquote" substitute. They each come across in a slightly different way. I couldn't find
Re: Randomness (Score:3, Funny)
I'd expect 1 in 3 odds of that happening anyway.
Humans vs. Machines (Score:3)
What do you mean by "very good" odds? If you ask a TRNG (true random number generator) for 3 random numbers, odds are quite good (40%) that it will give you at least two sequential ones. This is just rough math (supplied upon request) off the top of my head with the assumption that 9 and 0 are considered to be adjacent; odds would be slightly lowe
Re:Randomness (Score:2)
With a true random number generator then the pool of numbers is not altered by a pick. Consequently every possible number within the indicated range should have an equal chance of selection at each request for a new number. Under these rules a sequential number, or indeed the same number agai
Re:Randomness (Score:2, Funny)
We need computers for porn. Nothing could ever possibly substitute computers in that regard.
Re:Randomness (Score:3, Funny)
What, are the other 10% not listening to the question?
Man... (Score:4, Funny)
Sample convo after purchase:
[girlfriend] Honey, what is that?
[you] (with great awe) The Vee-Eye-Aye Nehemiah C3 CPU with-
[girlfriend] How much did that cost?
[you] Wait, lemme finish-
[girlfriend] Rent. Where is it.
[you] But it has a-
[girlfriend] You are not going to tell me that you spent our next month's rent on that *censored* piece of plastic.
[you] (correcting happily) Silicone!
You stare off. Slowly, you speak.
[you] But it has a...random..number...generator. For strong...uh...crypto. You know, cryptography? Big numbers? Random?
*the sound of footsteps trail away from you*
[you] Honey?
Re:Man... (Score:2)
Re:Man... (Score:2)
Re:Man... (Score:3, Funny)
ERROR: Unknown variable "girlfriend" encountered at line 1.
finite state machine (Score:4, Informative)
Still, with IO this 'problem' exists anyway (although only at ring 0 -intel). It just makes it difficult for heuristic anti-virus progams, and debugging etc, when the path of execution can be arbitrary. Nonetheless, I think its a cool concept, and great its being done at ring 3.
Re:finite state machine (Score:2)
Re:finite state machine (Score:2)
anyone with a cursory knowledge of computers knows that the original poster was trolling more than anyone else
Re:finite state machine (Score:2)
Re:finite state machine (Score:2)
By having a ring 3 'user space' instruction, any application can use it. A pure ring 3 application is possible to be determinstic/finite because interfacing to anything arbritrary wasn't previously possible. All instructions other than IO were previously deterministic/finite (including memory access), and IO calls are
Beware this (Score:2, Funny)
2. Everybody starts using it
3. Some guys in a CPU company change it to not so good
hardware RNG (for example f(x)=exp(sin(x)) etc)
4.
5. Profit?!
Random Numbers? (Score:3, Funny)
5,246,549!
Is that a typo? (Score:2)
They should hire my girlfriend (Score:5, Funny)
Re:They should hire my girlfriend (Score:5, Funny)
If she can crack that, DON'T LET HER GET AWAY, she will make you both very wealthy...
Quick test... (Score:2)
If you're using KDE, click on the little gear icon (generally in the lower left corner). Then selected the item "Recent Documents."
Do you suppose that might be how she does it?
-- MarkusQ
Re:They should hire my girlfriend (Score:2)
External hardware RNG (Score:3, Informative)
every character entered in the serial port. They spent a lot of time
isolating each stage to ensure no noise got to the thermal noise
generator
to make the numbers 'more random' There were 3 sets of batteries,
a 9V for the noise source, C Cells for the microprocessor, and D cells
to run the serial interface. The whole thing was encased in a steel box
with sheilding around the connector and indicator lights. Analysis of
the numbers showed very good randomness.
Unfortunatly at $200 it never really sold well.
They did release the code in the processor for inspection,
I'm not sure about the schematics, probably not.
Random yes, but (Score:2)
I'm tired of RANDOMIZE TIMER ing, dammit!
32! 98! 43! 12! 0! 3! 453! (Score:2, Funny)
feel free to use any of those if you're short on cash and cant upgrade just yet.
THEY ARE ALL OPEN SOURCE - FREE AS IN I'LL SUE YOU WHEN YOU GOT MONEY TO PAY!
Is it really so new? (Score:5, Funny)
So, where is the novelty?
In the interest of national safety: (Score:3, Funny)
I think 23 is a good one, nice an prime, and close to 21 too!
Nehemiah core on EPIA boards (Score:3, Interesting)
Does anyone know when VIA intend to release an EPIA MiniITX motherboard with a Nehemiah-cored C3 CPU? Apparently the M10000 they released recently was supposed to be so equipped, but turned out to only have a 1GHz version of the older Ezra-T C3 core. Since the Nehemiah core has a lot of improvements, this random number generator amongst them, I'd rather hang out for it than buy an M10000 now.. but how long must I hang?
Wolfram (Score:2)
more random number generators: (Score:5, Funny)
number 9
number 9
number 9
The monty python random number generator:
6, no 8...AAAAaaahhhhhhh
the ask a person to guess a number between 1-10 random number generator
7
3
the Slashdot random number generator
3.14, 1701, 2001, 69, 1337
The Microsoft Random number generator
7,7,7,7 yes its random, says so in the eula
the pepsi random number generator:
1
the buffy random number generator:
"you dare insult buffy? you are stupid AND you suck."wait, that was the "angery buffy fan response to a minor critque of the show generator"... my bad.
Where does noise come from? (Score:5, Interesting)
Now I sit here looking at a 2 billion year-old hypernova and no one here can answer this question (There are at least 5 cosmoligists within spitting distance of me right now)...
Re:Where does noise come from? (Score:2, Informative)
Why shouldn't there be noise? (Score:2, Informative)
What if space and time are discrete (Ed Fredkin and so on)? Of course, space couldn't be a rigidly even lattice (it could be a network of loosely connected nodes), but in this sense you have a rigorous foundation
Re:Where does noise come from? (Score:3, Interesting)
I think there are several conclusions you could come to:
I would lean towards 2 - aren't quantum processes such as radioactive decay non-deterministic? This seems to be a matter of opinion, even among great physicists [hawking.org.uk]. If, however you hold that the universe is deterministic, I suppose you would have to come to the conclusion that nothing is entirely random
What does this mean? (Score:3)
> If a machine can not generate a truly random number (not seed based)
That's true, a deterministic machine can't generate a "truly" random number by definition. On the other hand, we can generate numbers that are cryptographically strong (infeasible to distinguish from "true" random numbers) on a deterministic machine, and we can build nondeterministic machines. This is about a nondeterministic machine.
>
"Turing complete" refe
Re:What does this mean? (Score:2, Funny)
10 PRINT "You fucking kharma whore!"
20 PRINT "How the hell is that +5 funny?"
30 PRINT "Quit fucking bitching about Slashdot posters!"
40 GOTO 10
Re:Artificial Intelligence vs Artificial Stupidity (Score:2, Informative)
Actually, if Heisenburg theory of uncertainty holds true, which is supported by the unexplainable phenomena of singluar photon diffraction, random numbers are totally possible at the sub-atomic level and are not difficult to manipulate. This article hardly touches on how the numbers are generated, which lends me to question how valid this technology actually is.
Re:Artificial Intelligence vs Artificial Stupidity (Score:3, Informative)
Re:Artificial Intelligence vs Artificial Stupidity (Score:2)
Re:Artificial Intelligence vs Artificial Stupidity (Score:5, Interesting)
Re:Artificial Intelligence vs Artificial Stupidity (Score:2)
A Better System (Score:5, Interesting)
With this system perhaps it's possible to emulate the electric fields that generate the random number. Admittedly, with any complexity at all (as in a chip) this becomes impractical to do, but hey, why go for almost random when you can have truly random?
Re:A Better System (Score:2)
Just a thought.
Re:A Better System (Score:5, Informative)
Your proposed method would be slightly skewed, as the half-life of the material would give you an "expected" number of events in your sampling period, which would cause the result to lean towards either even or odd. The effect would be small, but present.
An alternative approach is to have two detectors, and see which one triggers first. While that method would have no systemic bias, removing intrinsic bias from differences in the samples would be difficult.
The system in the new C3 chip, though, is also completely random if they designed it well (i.e. amplified thermal noise and rejected other noise sources). You have biasing problems, as with any other system where matching is important, but these can be overcome. Noise injection from other parts of the system is the thing to watch out for here.
In summary, purely electrical random number generators can be just as random as your proposed scheme, and your proposed scheme is not significantly easier to implement.
Re:A Better System (Score:2)
I don't know that the random number generator that they've described could ever be "just as random" as radioactive decay, but it looks like it can probably be made "good enough."
Re:A Better System (Score:2)
As long as neither system has unwanted noise sources, both are perfectly random. That matches my definition of "just as random"
As for unwanted noise, both systems are suceptible to noise from many sources.
Re:A Better System (Score:2, Insightful)
Actually that would only be true if the sampling time was about equal to the half-life. Extrapolations from the half-life become much less reliable with smaller sampling times. So if you use something like plutonium, which has a huge half-life, and a samp
Re:A Better System (Score:2, Insightful)
I can think of many solutions...
-Use an isotope with a really long half life, like Uranium. The change over the life of the device would be trivial. There are problems, like other atoms becoming radioactive, and isotopes in the decay chain having dif
Re:A Better System (Score:2, Insightful)
Re:A Better System (Score:2)
use one sample, two detectors, one on the top and another on the bottom, AFAIK what triggers one can't trigger the other, esp if the sample emits beta instead of gamma rays.
And that is a close variant the system that I proposed for radioisotope random number generation.
The original poster suggested counting the number of events that occurred within a predefined period and looking at the least significant bit.
Problems with the two-detector system with one sample are in making sure that bo
Take a look a HotBits (Score:4, Informative)
John Walker [fourmilab.ch], the founder of Autodesk [autodesk.com], has made a system like that, from which offers random bits:
HotBits [fourmilab.ch]Re:Take a look a HotBits (Score:2)
'Course this might be dead handy for other things.
A Cheaper System (Score:4, Informative)
This VIA chip is producing 30-50 million bits per second.
Also, each radiological decay event would have more potential to cause bit rot in your normal CPU, memory or other chipset's operations.
John Walker is already doing exactly this, producing random bits with a system he calls HotBits. Take a look at this page [fourmilab.ch] for his system and a good explanation. Of course I also think it may help to live in a castle with a 1-meter-thick-concrete-lined cistern located three-basement-levels-down to stick your Krypton-85 source in...
And while using nuclear decay would raise the geek factor so high as to be measurable on a geiger counter, the manufacturing and disposal licensing and other handling problems that would accompany any usage of nuclear materials would be more than onerous for any company that had an economical alternative.
Re:A Better System (Score:2)
Re:A Better System (Score:3, Funny)
Re:A Better System (Score:2)
You are basically mistaken, because measuring things alters them. We don't live in a deterministic world. I can't explain it very well to you because I am not a physicist or anything like that, but I know that very smart people have written long and detailed mathematical proofs about it, so if you could make your way to the nearest scientist im sure he will be glad to explain it.
Re:Imagine a Beowulf cluster of these... (Score:3, Informative)
or imagine a giant P2P random number generator, something like Linux's entropy pool, but across many nodes. The problem with this is that you cannot trust external sources for input, but perhaps you could "cross the streams" and safely mix them?
It reminds me of Random.org [random.org], a web site/service that generates random numbers for you. I think they even sell CDs of random numbers.
1. Random numbers
2. ???
3. Profit!!!
Re:Imagine a Beowulf cluster of these... (Score:2)
In fact I have recently been working on some code [daimi.au.dk] doing something similar to that. Unfortunately the time complexity is quadratic, and I'm afraid it cannot be done any faster. If you want to work with megabytes of random bytes, quadratic time complexity is going to be a pain.
Re:Imagine a Beowulf cluster of these... (Score:2)
Good idea. It's getting late, and counting sheep doesn't work too well.
Re:Imagine a Beowulf cluster of these... (Score:2)
For example, DRM encrypting stuff on your box, or perhaps placing a magnet or something in someone else's computer...
Remember, hardware can be compromised too!
Re:Cool but... (Score:5, Funny)
Re:USELESS (Score:4, Informative)
Re:here you go (Score:2)
Re:Ok so I've read (most) of the posts here and (Score:2)
Your mathematician annecdote sounds a little far fetched. There is only a few widely used algorithms for software RNGs, so I guess it is possible to guess at the core algorithm, guess at straightforward software manipulations of the RNGs, and then test against the stream