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
4
  • 1
    Often the appearance of a lookup table was caused by a simple, cyclic algorithm; a lookup table would take up much too much space! Commented Feb 6, 2017 at 17:46
  • @wizzwizz4 No, 256-byte lookup tables were quite common. Any decent PRNG takes more (about 2-3 kiB for MT). You're not suggesting you'd waste precious CPU cycles on something as insignificant as the illusion of randomness, are you? :D Both approaches were used, each in their own niche. Mind you, Doom was already written for computers that had a couple megabytes of memory - 256 bytes were quite a good trade-off for the cheap pseudo-randomness. But lookup tables were used even on old mainframes, if you didn't need something too special. Commented Feb 6, 2017 at 22:42
  • What retro computing platform were you using that had a CPU cache? Commented Feb 9, 2017 at 23:20
  • @MarkRansom Anything that had the CPU faster than memory. And of course, where the memory was faster than the CPU, lookup tables were just as effective. IBM 360, anything based on 68k and of course 386+ (Doom is the example I used). I think we've had plenty of discussions on RC about what exactly "retro computing" means :) Commented Feb 10, 2017 at 8:13