Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

Required fields*

How was early randomness generated?

Many programs make use of randomness, from BASIC guess-the-number games to encryption key generators. This randomness could have been generated in many, many different ways: hardware, software, software seeded by hardware...

What techniques were used to generate randomness in early computers, and were cryptographically secure sources of randomness commonly used?

Answer*

Cancel
15
  • 12
    "dedicated quantum noise source". Hooking up with a Geiger Counter was not unknown. Commented Feb 5, 2017 at 13:05
  • 27
    This is a bit too harsh IMO. What's a good and what's a bad PRNG depends on what you need the numbers for. Sure, some cryptographical applications won't be satisfied with any results that can be deterministically predicted, but for many other purposes like games or most Monte Carlo algorithms it makes absolutely no difference whether you use a simple LCG (as long as you don't choose ridiculously bad parameters) or a true quantum randomness source. Commented Feb 6, 2017 at 14:13
  • 23
    As a minor quibble, Mersenne Twister was not "the first decent PRNG"; it was just the first that became widespread outside crypto-specific applications. ISAAC, for example, was published in 1993, and produces considerably better randomness than MT. RC4 (which is usually called a stream cipher rather than a PRNG, but those are effectively the same thing) was developed in 1987, although it remained a trade secret until 1994. And the DES block cipher, which can be easily used as a crypto-quality PRNG (far better than MT, anyway), dates from 1975. Commented Feb 6, 2017 at 17:11
  • 9
    Badly indeed. On my first job in 1989, I implemented one RNG algorithm from a textbook of mine, and added the wrinkle that the client could specify the range of numbers returned. Should be no problem with random output, right? Well, one user tried it with Boolean (0..1), and discovered the algorithm merely alternated. Commented Feb 6, 2017 at 18:49
  • 11
    The Mersenne Twister was not the first decent PRNG, not even outside cryptography. RANLUX produces a much higher quality, predates it by at least 3 years and was widely used in things like Monte Carlo simulations. Ranshi predates it by at least 3 years, is faster and also produces better randomness. Commented Feb 7, 2017 at 6:29