Why Randomness Is Harder Than It Sounds


Why Randomness Seems Simple

Randomness = unpredictable, right?

If you flip a coin, you can't predict heads or tails. If you roll a die, you can't predict the number. Random events are ones you can't forecast.

But here's the problem: this definition is too vague.

How Normal Computers Generate Randomness

Computers aren't actually random.

When you generate a "random number" on a computer, an algorithm produces it deterministically. Given the same starting input (seed), the same algorithm produces identical results, bit-for-bit.

seed = current_time()
random_number = algorithm(seed)

This is pseudo-randomness: statistically similar to randomness but generated deterministically.

True Randomness vs Pseudo-Randomness

Pseudo-randomness:

  • Generated by deterministic algorithm
  • Predictable if you know the seed
  • "Passes" statistical tests (looks random)
  • Fast to generate
  • Used for: gaming, simulations, non-critical applications

True randomness:

  • Generated by physical process (quantum events, atmospheric noise, hardware entropy)
  • Fundamentally unpredictable (in principle)
  • Cannot be predicted even knowing the algorithm
  • Slower to generate
  • Used for: cryptography, security, critical applications

The Philosophical Problem: What IS Randomness?

The Determinism Problem:

A coin flip appears random, but it's actually deterministic. The outcome depends on:

  • Force applied throwing the coin
  • Air resistance and pressure
  • Surface properties of the coin
  • Initial rotation rate and angle
  • Exact landing surface

With perfect information about these variables, you could predict the outcome deterministically.

Is the coin flip "really" random, or does randomness just mean "too many variables to track"?

Chaos Theory: Simple deterministic systems with extreme sensitivity to initial conditions appear random.

The weather follows equations (deterministic) but is unpredictable beyond ~2 weeks (appears random) because initial conditions are never known precisely enough.

Cryptographic Randomness: The Standard That Matters

For security purposes, randomness must meet strict criteria:

  1. Non-predictability: Future bits cannot be predicted from past bits
  2. Non-correlation: Sequence doesn't repeat patterns
  3. Uniform distribution: All outcomes equally likely
  4. Independence: Each bit independent from all others

Software (PRNGs) tries to meet these through algorithms like:

  • AES encryption in counter mode
  • SHA-3 hashing
  • ChaCha20

Hardware (TRNGs) generates true randomness from:

  • Quantum photon behavior (photons passing through semi-transparent mirror)
  • Radioactive decay events (Geiger counters)
  • Atmospheric noise
  • Thermal noise in resistors
  • Timing variations in computer operations

Real-World Consequences

Weak Random Number Generation = Security Failure

Predict the random bits → predict the encryption keys → decrypt messages.

Sony PlayStation 3 used weak random number generation for encryption keys. Hackers predicted the keys and jailbroke the entire console.

Common Myths

Myth 1: "Randomness is straightforward—outcomes you can't predict"

Reality: Defining randomness precisely is unsolved. Is it about unpredictability? Statistical properties? Information-theoretic properties? Different definitions give different answers.

Myth 2: "Quantum randomness is perfectly random"

Reality: Quantum events are probabilistic, but whether they're truly "random" or just "unknown due to quantum mechanics limitations" remains philosophically debated.

Myth 3: "Good pseudo-randomness is sufficient for cryptography"

Reality: Cryptographic randomness requires special properties beyond "passing statistical tests." Some excellent statistical PRNGs are cryptographically weak.

Why Trending Now?

Post-quantum cryptography requires new approaches to random number generation because quantum computers can break existing cryptographic systems, even if randomness is good by classical standards.

Complexity

Three Categories of Randomness Hardness:

  1. Computational Randomness: Looks random but generated deterministically (PRNGs)
  2. Physical Randomness: Appears random due to unmeasurable variables (weather, coin flips)
  3. Ontological Randomness: Fundamentally random at nature's core (quantum mechanics?)

Each requires different treatment for different applications.

Conclusion

Randomness is harder to define rigorously than it first appears. True randomness (unpredictable even in principle) differs from pseudo-randomness (deterministic but statistically similar to random). Defining what makes something "truly random" remains an open question in mathematics and physics, with profound implications for cryptography, quantum mechanics, and philosophy.

Read Next