Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Hardware Random Number Generators

Hardware Random Number Generators

Scheduled Pinned Locked Moved The Lounge
comhardwaresecurityquestiondiscussion
20 Posts 14 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A AspDotNetDev

    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?

    [Forum Guidelines]

    M Offline
    M Offline
    Member 96
    wrote on last edited by
    #8

    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

    A 1 Reply Last reply
    0
    • M Member 96

      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

      A Offline
      A Offline
      AspDotNetDev
      wrote on last edited by
      #9

      I kinda want one, although I think I'll resist as I probably shouldn't acquire any more devices I don't use.

      [Forum Guidelines]

      1 Reply Last reply
      0
      • A AspDotNetDev

        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?

        [Forum Guidelines]

        D Offline
        D Offline
        Dan Neely
        wrote on last edited by
        #10

        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

        A P 2 Replies Last reply
        0
        • D Dan Neely

          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

          A Offline
          A Offline
          AspDotNetDev
          wrote on last edited by
          #11

          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.

          [Forum Guidelines]

          D 1 Reply Last reply
          0
          • A AspDotNetDev

            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.

            [Forum Guidelines]

            D Offline
            D Offline
            Dan Neely
            wrote on last edited by
            #12

            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

            1 Reply Last reply
            0
            • D Dan Neely

              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

              P Offline
              P Offline
              Plamen Dragiyski
              wrote on last edited by
              #13

              Some link, or guide to instructions how to use it?

              1 Reply Last reply
              0
              • A AspDotNetDev

                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?

                [Forum Guidelines]

                N Offline
                N Offline
                nistrum404
                wrote on last edited by
                #14

                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

                1 Reply Last reply
                0
                • A AspDotNetDev

                  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?

                  [Forum Guidelines]

                  B Offline
                  B Offline
                  Brad Stiles
                  wrote on last edited by
                  #15

                  Well, if you need a *lot* of random numbers: Dice-o-Matic

                  Currently reading: "The Prince", by Nicolo Machiavelli

                  A 1 Reply Last reply
                  0
                  • B Brad Stiles

                    Well, if you need a *lot* of random numbers: Dice-o-Matic

                    Currently reading: "The Prince", by Nicolo Machiavelli

                    A Offline
                    A Offline
                    AspDotNetDev
                    wrote on last edited by
                    #16

                    I was hoping for something a little more compact, but that is still very cool (and a little funny). :thumbsup:

                    [Forum Guidelines]

                    1 Reply Last reply
                    0
                    • A AspDotNetDev

                      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?

                      [Forum Guidelines]

                      S Offline
                      S Offline
                      Savvas Kleanthous
                      wrote on last edited by
                      #17

                      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.

                      1 Reply Last reply
                      0
                      • A AspDotNetDev

                        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?

                        [Forum Guidelines]

                        F Offline
                        F Offline
                        Fabio Franco
                        wrote on last edited by
                        #18

                        We already have it based on CPU clock. It is random really.

                        P 1 Reply Last reply
                        0
                        • A AspDotNetDev

                          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?

                          [Forum Guidelines]

                          E Offline
                          E Offline
                          ely_bob
                          wrote on last edited by
                          #19

                          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...

                          1 Reply Last reply
                          0
                          • F Fabio Franco

                            We already have it based on CPU clock. It is random really.

                            P Offline
                            P Offline
                            patbob
                            wrote on last edited by
                            #20

                            Yeah the CPU clock seems pretty random.. until you fetch a bunch of "random" numbers using a loop. Then you find they are all separated by the same exact amount. Can you say oops? :)

                            patbob

                            1 Reply Last reply
                            0
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            • Login

                            • Don't have an account? Register

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Categories
                            • Recent
                            • Tags
                            • Popular
                            • World
                            • Users
                            • Groups