How Can Computers Generate True Random Numbers?

TL;DR
Computers generate random numbers using algorithms, creating pseudo random numbers that can repeat sequences based on a starting seed. However, specific x86 processors can produce true random numbers via built-in instructions like RDSEED, distinguishing between deterministic software and truly random hardware outputs.
Transcript
so any coding project you have done I'm almost certain that at some point you have come across random numbers however if you use the any of the libraries and functionality you find in a program language you most likely have generated the so-called pseudo random numbers Mike pound for this channel made a video about lfsr which is a way to generate s... Read More
Key Insights
- #️⃣ Pseudo random numbers are generated using algorithms and are not truly random.
- #️⃣ x86 processors have instructions, such as AAND and RDRAND, that can generate pseudo random numbers.
- #️⃣ Some x86 processors have a true random number generator called RDSEED, which can generate truly random numbers.
- #️⃣ Generating the same sequence of random numbers can be useful for debugging purposes.
- #️⃣ Specialized hardware devices can also generate true random numbers.
- #️⃣ Pseudo random number generators have statistical guarantees for each number being equally likely.
- #️⃣ True random number generators do not have statistical guarantees and can produce skewed distributions.
Install to Summarize YouTube Videos and Get Transcripts
Explore YouTube Video Summarizer or Get YouTube Transcript Extractor
Questions & Answers
Q: What are pseudo random numbers in computer programming?
Pseudo random numbers are generated using algorithms and are not truly random. They follow a deterministic pattern and can generate the same sequence starting from the same seed.
Q: Can a computer program generate truly random numbers?
No, computer programs can only generate pseudo random numbers. To generate truly random numbers, specialized hardware devices or x86 processors with true random number generators are needed.
Q: Why would someone want to generate the same sequence of random numbers every time?
Generating the same sequence of random numbers can be useful for debugging purposes. It allows for deterministic execution of the program, making it easier to reproduce and trace any bugs or exceptions related to the random number generation.
Q: How can x86 processors generate random numbers?
x86 processors have instructions, such as AAND and RDRAND, that can generate pseudo random numbers. The RDRAND instruction utilizes a true random number generator within the processor to generate truly random numbers.
Summary & Key Takeaways
-
Random numbers in computer programming are generated using algorithms, known as pseudo random number generators.
-
Pseudo random number generators are deterministic and can generate the same sequence of numbers starting from the same seed.
-
x86 processors have instructions that allow them to generate pseudo random numbers, and some processors have a true random number generator that can generate truly random numbers.
Read in Other Languages (beta)
Share This Summary 📚
Summarize YouTube Videos and Get Video Transcripts with 1-Click
Try YouTube Summary with ChatGPT & Claude or YouTube Transcript Generator
Explore More Summaries from Computerphile 📚






Summarize YouTube Videos and Get Video Transcripts with 1-Click
Try YouTube Summary with ChatGPT & Claude or YouTube Transcript Generator