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