Hardware Random Number Generators
-
I was just thinking it would be useful to have some sort of hardware connected to your computer to generate numbers more randomly than the pseudo random algorithms out there already that are seeded based on the time of day and so on. I was envisioning some sort of clear ball filled with various types of liquid (think of a magic 8-ball) that you can shake every now and then and some sensors on it would produce random numbers (by detecting fluid velocity, transparency, temperature, and so on). However, I did a Google search and it seems that this concept has already been implemented, albiet not quite exactly how I imagined it: Wikipedia: Hardware Random Number Generator With the ever increasing interest in data security, perhaps it's time motherboard manufacturers started including devices like this on all motherboards. What do you think?
-
Here's a fun one: USB HourGlass Random Number Generator http://boingboing.net/2009/12/23/usb-hourglass-random.html[^]
"I made this letter longer than usual because I lack the time to make it shorter." — Blaise Pascal
I kinda want one, although I think I'll resist as I probably shouldn't acquire any more devices I don't use.
-
I was just thinking it would be useful to have some sort of hardware connected to your computer to generate numbers more randomly than the pseudo random algorithms out there already that are seeded based on the time of day and so on. I was envisioning some sort of clear ball filled with various types of liquid (think of a magic 8-ball) that you can shake every now and then and some sensors on it would produce random numbers (by detecting fluid velocity, transparency, temperature, and so on). However, I did a Google search and it seems that this concept has already been implemented, albiet not quite exactly how I imagined it: Wikipedia: Hardware Random Number Generator With the ever increasing interest in data security, perhaps it's time motherboard manufacturers started including devices like this on all motherboards. What do you think?
-
Meh. It's been implemented on some CPUs for years. Maybe it's time for Intel/AMD to follow VIA's lead for a change.
3x12=36 2x12=24 1x12=12 0x12=18
Directly on the CPU!? Not sure I like that... I mean, wouldn't that potentially slow the CPU down a bit? Seems like this would be an operation more appropriate for another chip on the motherboard. Than again, I'm a software guy, so I can't really claim what's best when it comes to hardware. Also, that's neat.
-
Directly on the CPU!? Not sure I like that... I mean, wouldn't that potentially slow the CPU down a bit? Seems like this would be an operation more appropriate for another chip on the motherboard. Than again, I'm a software guy, so I can't really claim what's best when it comes to hardware. Also, that's neat.
I don't see why it would. From the wiki article it's not a complex device; so space related penalties shouldn't be a factor; and if the device is only able to generate 10m words per second the 100 cycle wait state caused by calling GetRandomWord would still be less than the 100 + bus latency cycle penalty from putting the same device on a separate chip. There's also the fact that putting the module on the CPU (or in the chipset) makes it effectively free to OEMs; while putting it in a seperate chip will raise the cost of the board several dollars and consume connectivity resources from the chipset: Either a PCIe lane, or one of the PCI bus slots. The former would be cheaper to implement because of the lesser number of traces needed; but on more full featured boards would run into the problem that the total number of lanes is rather limited on mainstream chipsets. The PCI bus is increasingly moving towards something used to attach legacy IO devices on board (eg PATA/firewire) but the extra number of traces make it more expensive to implement, being a dead end bus fewer new devices are being made for it; and eventually the chipset makers will start cutting the number of supported devices towards zero.
3x12=36 2x12=24 1x12=12 0x12=18
-
Meh. It's been implemented on some CPUs for years. Maybe it's time for Intel/AMD to follow VIA's lead for a change.
3x12=36 2x12=24 1x12=12 0x12=18
Some link, or guide to instructions how to use it?
-
I was just thinking it would be useful to have some sort of hardware connected to your computer to generate numbers more randomly than the pseudo random algorithms out there already that are seeded based on the time of day and so on. I was envisioning some sort of clear ball filled with various types of liquid (think of a magic 8-ball) that you can shake every now and then and some sensors on it would produce random numbers (by detecting fluid velocity, transparency, temperature, and so on). However, I did a Google search and it seems that this concept has already been implemented, albiet not quite exactly how I imagined it: Wikipedia: Hardware Random Number Generator With the ever increasing interest in data security, perhaps it's time motherboard manufacturers started including devices like this on all motherboards. What do you think?
There's already a highly functional random number generator available through the Win32 API. It's used to calculate the amount of time left when you copy files.
Matt Dockerty
-
I was just thinking it would be useful to have some sort of hardware connected to your computer to generate numbers more randomly than the pseudo random algorithms out there already that are seeded based on the time of day and so on. I was envisioning some sort of clear ball filled with various types of liquid (think of a magic 8-ball) that you can shake every now and then and some sensors on it would produce random numbers (by detecting fluid velocity, transparency, temperature, and so on). However, I did a Google search and it seems that this concept has already been implemented, albiet not quite exactly how I imagined it: Wikipedia: Hardware Random Number Generator With the ever increasing interest in data security, perhaps it's time motherboard manufacturers started including devices like this on all motherboards. What do you think?
Well, if you need a *lot* of random numbers: Dice-o-Matic
Currently reading: "The Prince", by Nicolo Machiavelli
-
Well, if you need a *lot* of random numbers: Dice-o-Matic
Currently reading: "The Prince", by Nicolo Machiavelli
I was hoping for something a little more compact, but that is still very cool (and a little funny). :thumbsup:
-
I was just thinking it would be useful to have some sort of hardware connected to your computer to generate numbers more randomly than the pseudo random algorithms out there already that are seeded based on the time of day and so on. I was envisioning some sort of clear ball filled with various types of liquid (think of a magic 8-ball) that you can shake every now and then and some sensors on it would produce random numbers (by detecting fluid velocity, transparency, temperature, and so on). However, I did a Google search and it seems that this concept has already been implemented, albiet not quite exactly how I imagined it: Wikipedia: Hardware Random Number Generator With the ever increasing interest in data security, perhaps it's time motherboard manufacturers started including devices like this on all motherboards. What do you think?
While I understand the coolness factor of having a hardware random number generator, really providers like the RNGCryptoServiceProvider .Net class (for example) or the CryptoLib C++ library is more than adequate for almost all uses. Both are valid RNGs that can be used even for security purposes. I have to say though that I would be very happy to see a dedicated hardware RNG on all motherboards.
-
I was just thinking it would be useful to have some sort of hardware connected to your computer to generate numbers more randomly than the pseudo random algorithms out there already that are seeded based on the time of day and so on. I was envisioning some sort of clear ball filled with various types of liquid (think of a magic 8-ball) that you can shake every now and then and some sensors on it would produce random numbers (by detecting fluid velocity, transparency, temperature, and so on). However, I did a Google search and it seems that this concept has already been implemented, albiet not quite exactly how I imagined it: Wikipedia: Hardware Random Number Generator With the ever increasing interest in data security, perhaps it's time motherboard manufacturers started including devices like this on all motherboards. What do you think?
We already have it based on CPU clock. It is random really.
-
I was just thinking it would be useful to have some sort of hardware connected to your computer to generate numbers more randomly than the pseudo random algorithms out there already that are seeded based on the time of day and so on. I was envisioning some sort of clear ball filled with various types of liquid (think of a magic 8-ball) that you can shake every now and then and some sensors on it would produce random numbers (by detecting fluid velocity, transparency, temperature, and so on). However, I did a Google search and it seems that this concept has already been implemented, albiet not quite exactly how I imagined it: Wikipedia: Hardware Random Number Generator With the ever increasing interest in data security, perhaps it's time motherboard manufacturers started including devices like this on all motherboards. What do you think?
it would be handy to be able to retrieve a Random as a system function, and not have to keep the memory allocated for the class data. With gaming becoming such a large part of computer(and console) sales, I am surprised that there isn't a super small RNG chip, to get around using the conventional random deviate block, or at least shunt that "work" off memory because there really are A LOT of places that use it.
I'd blame it on the Brain farts.. But lets be honest, it really is more like a Methane factory between my ears some days then it is anything else...
-
We already have it based on CPU clock. It is random really.