I’ve built a real Quantum Random Number Generator, and it’s now live.
http://www.gabrielcybersecurity.com/QRNG
A QRNG is different from a conventional pseudo-random number generator because it does not rely on a deterministic algorithm or an initial seed. Instead, it uses a physical process whose outcome is fundamentally unpredictable. In this case, I used the alpha decay of Radon-222 as the entropy source. Radioactive decay is a quantum phenomenon: while the statistical behavior of a large number of atoms can be modeled, the exact instant at which a particular nucleus decays cannot be predicted in advance. That makes it a valid source of true randomness.

The approach I took was to use a RadonEye detector to observe decay-related pulse activity and an ESP32-S3 to retrieve that data over BLE. From those pulse counts, the system derives entropy using a Slow-Clock LSB Extraction method. In practical terms, I sample the detector state at fixed intervals, look at the change in pulse count between accepted measurements, and use the least significant bit of that delta as the raw entropy bit. Those bits are then accumulated into random values and sent to the backend, where they can be stored, visualized, and analyzed.

The main drawback of this design is speed. The current setup produces entropy very slowly, at roughly one bit every 10 minutes, which means generating a 16-bit random value takes close to 3 hours. That is obviously not suitable for high-throughput applications, but speed was never the goal here. The interesting part is that the output is tied directly to a real quantum process rather than to a software construction that only simulates randomness.
The system has only been running for about half a day so far, so the observed bias has not had enough time to settle toward a long-term value yet, but the early behavior looks encouraging. The bias currently displayed is the raw bias from the extracted bitstream itself. I have not applied any additional debiasing or whitening technique to the displayed value, so what is shown reflects the direct output of the Slow-Clock LSB Extraction stage.
Would you like to receive notifications about new posts?
