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.
  • E Ennis Ray Lynch Jr

    http://www.lavarnd.org/[^]

    Need custom software developed? I do custom programming based primarily on MS tools with an emphasis on C# development and consulting. A man said to the universe: "Sir I exist!" "However," replied the universe, "The fact has not created in me A sense of obligation." --Stephen Crane

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

    Nice.

    [Forum Guidelines]

    1 Reply Last reply
    0
    • R Roger Wright

      I think I have a solution. The old dot-matrix printers used wire solenoids to spank the ribbon where a black spot was required on the page, but very few people use them anymore. We still know how to make them, though, so it shouldn't be hard to find the parts... Line up an array of 16 9-pin printheads, with eight levers attached to each printhead wire (one wire would be kept as a spare). On the other end of each lever balance a penny. Above the assembly suspend a digital camera attached to a processor with a good image recognition program to distinguish between heads and tails. When a random number is required, print 0xffffffffffffffffffffffffffffffff to the contraption, then read the pattern of heads and tails using the camera. Set heads=1, tails=0, and there you have a truly random 128-bit number. Use as many bits of it as are needed for your application. I believe Okidata is still making the venerable ML390, so check with them for pricing.

      "A Journey of a Thousand Rest Stops Begins with a Single Movement"

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

      Well, something kinda like that already exists.

      [Forum Guidelines]

      1 Reply Last reply
      0
      • E Ennis Ray Lynch Jr

        http://www.lavarnd.org/[^]

        Need custom software developed? I do custom programming based primarily on MS tools with an emphasis on C# development and consulting. A man said to the universe: "Sir I exist!" "However," replied the universe, "The fact has not created in me A sense of obligation." --Stephen Crane

        _ Offline
        _ Offline
        _Damian S_
        wrote on last edited by
        #6

        ROFL... Random Corporate Memo generator... Here's my random output! To: All Employees From: Executive Management Date: Wed Jan 27 20:41:12 2010 Subject: Important Announcement Having a shared tangent that is interactive, it follows that a corporation time frame will ramp up progress on a progressive big win. Having first verified that paradigm shifts give rise to (take a surf on our World Wide Web site for more on this) a web site, a careful examination of the high-impact key player reveals that an interdependent antidisintermediation strategy engenders the standards in price point. As our company President states in a recent memo about the geography, " leading eye candy continually gets up to speed on visual computing." On a company-wide basis, the vision provides an indication of the object-oriented objectives. Customers need the eye candy, and we fulfill that need with a high-performance customer partnership. The established standard initiates the supercomputers. This leaves Strategic Initiative uniquely poised to provide 3-D. -------------------------------------------------------------------------------- Disclaimer: We cannot be heald responsible for any advice or direction that may be generated by LavaRnd. Any resemblance to actual memos produced by your own management could be a very bad sign. :-)

        I don't have ADHD, I have ADOS... Attention Deficit oooh SHINY!! Booger Mobile (n) - A bright green 1964 Ford Falcon - our entry into the Camp Quality esCarpade!! Do something wonderful - make a donation to Camp Quality today!!

        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]

          P Offline
          P Offline
          Peter_in_2780
          wrote on last edited by
          #7

          In a previous life (20+ years ago) when I was designing cryptographic devices for Electronic Funds Transfer, someone (an offshoot of a large US telco, from memory) sold a "secure random generator" chip which IIRC was based on semiconductor noise. In those days, US export restrictions made it a pain to even think about designing it into gear for export (from Australia!), so we settled on a pseudo-random setup with an effective key length in the region of 650-700 bits. Since it was used to generate magic numbers for use in a triple-DES world (key length about 110 bits), we figured that was strong enough.

          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]

            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