2023-05-27 | [radiclock]
next: Atomic Clock
lol so random
As part of my atomic clock project I also produce random numbers (why not). Radioactive decay is a well known method to generate true randomness because no one can predict which or when an atom will decay. This technique was used for years in the famous HotBits project which is sadly shut down as of 2023. I have a radioactive sample of my own, but, there's a ways to go from a Geiger counter to a number. How does this work?
I actually have 2 sensors; one is a classic Geiger–Müller tube, and the other is PIN-diode based. I collect random numbers from each. I didn't know quite what to do with the numbers I collected, so I figured I would publish them live.
The 2 detectors are set up to generate random bits at around the same rate - about 32 bytes every 55 seconds. The full 1024 byte frames shown and linked below will update about once every half hour. Therefore, please do not spam us with requests. Also, be sure to check the ISO 8601 timestamp at the start of each file, and make sure it's somewhat close to the current time. If it isn't, the project is either broken, or you are getting a cached copy (check your browser).
Also, a most important note: the data listed here is published globally, not individually, like HotBits or random.org. In other words, it is not unique to you. I highly recommend you do not use this for security purposes as it it possible another party may have a copy of the data.
From the GM tube (hex format):
2026-03-29T20:32:23.317044+00:00 6c71b2066e422547998cd96fc39f03308206752ad6e2128af549c29ba6f468dc 9a2508f5afce9245edc30b8a6d51ab3c916c7c61a195cbb2d814e79c3fe181b5 3d4942e0ad49175085fa1e459f3de0d20e11422e3beb9204516af83db072cc40 2f1eb57dfcaf631968fbf895758f659612743fcc2be334050d04d8da4196b151 4c400d735895610970a44e5a2150cf93b2b9aed569412df2efffd3073763278e 61dadeb867cab156bf3ca9278eff31773911a4b6955447417c92a9c1c7fada2d 44b6a91d71db051f77f7f06ffe9848b1ff7d938e6361dfbbcd8b674f6d247464 bc55429f5a5082bddfdbe5c5c53555f2219123dc6288bab35a403586209cf8f9 bb9643b9f76fed14b272574365d6ae0b9f7900ff9ba34f22a78d5c9048224ad7 5ca73bef96b8f33e561cea210444a2bb4b14cc568686b0191641e9701e56eab0 b3a0a47a0605911b10c0ba3ef00c6f9d490a578701388665359815a9975059ff 0191e0f999dfef9ce6b2740089f064515da47d4f887545c11af2c16b3ce8ebb4 146f8901a333ee308c5f8947dbf8a12f800fbd3922e93c3c0747c2677b89390b e353364dd850c1c84bda4002be59f895d82c2b3be78434beae3549f64ad56343 62ec7a0db4a467ad03e7860ba4fe9da9a5e499e79e42f449cc747791de661873 d551f727004ed6a168c5576038df0da798403b789ed274eefad3213ffd79cf03 6fcfb8d637688e963a95356b6a09c6c865a06741ae15e32be92eec499d524f51 e06adca6a74c50bb5480a345e514296573c963333bc0f9f2acae0fd13b744f61 0b85fa62b6423647039edf55231257bc75b6065840c3a75d6f381e24aa3ad0dc 9aa8a524c42cb1d21bc0f458c8c44e52149538fad4916197d5af052a9d1c7381 9d1292fdc78820c79e36c18d2ad5cfb436498a3f73990855f1b1af973baa34f5 ed7ad910d01ae9d1a8858a61ea1792de05f972c74d81deb108825a590aa03740 0011e7c7067a434bdc80ee5eee01971cbaeb15bb76863cde4966eb94a3097946 bef21a04bf6c8d2a370820ac9a85231530171f6a13ca8c0f31332b44911a61de 3ea575c42bd2584b1db3a0a1be95157e0d9d35ceb098a1c94578fa78009206ff a390ab69b70117e071fb6be7f75a8bd1b59bc9fcae26a3848423a19284cee920 c50415de68493ecd80c2df15e7ac95df4991f26cd4da5e52307be85f368f50ea 6c53a55e485aa8e8b47779550af04d2c853f45d062e84597b08de13dee833fa5 42fec1731cc7eb0c269eaab454c04c7d5f96c802975340d224debcea0438cc0c 4dbf497aba8d87e3533c23a4ddd01e664b6b10eca52b9fb8d2f4135fdc0e961a c3f305666c618d95607d9a542768ccd1e75ab1b4eebb4c0ce673b718000e8057 890a519710c7cf1ddb5f048ca50332afdc457ca67629c4a3cbbaa2bbda8fd2b3
From the PIN diode (hex format):
2026-03-29T20:33:59.317200+00:00 c00fcb32b685dc6e8b9e3dc1bd16c761e6d4ac8f676d2883d7b5315edd48d01c ffba89171f839a785c5cc3fcf5154dc0cbbe6aee732f9f7cbc99170053719514 c6285e5a95ddb1d13d631a57881e55de53ae3045171f3d9ee05704693cf3d20c df7f2ee70446e3344d461653740bf654f842b8113fb4fc0bf386397b83f7ad5f 6d760bf4b17089714f1ed9a8d0141c1ecab199f6b52c77adb0774403e2e79d4c 2fca3cdc8a4ac5e0db9403350e523af5ad00e2d4a9a3b638d3823116a29eb093 0cc281f4367f14b88c3d27a4341cca57476872c09b7b15eae36b528b32933798 e93b486b5aa657710501d12569ecb2b5215f4d2036d89e38c6e67779e24425ba d725f859754399857efa1036069685f12d463a69ffa2a26cd0555f1e71a59347 09b360fc2ef117b2ae4803922b88f6f7438d9916d2b14628729e949023713857 3184f06155a43c6a90f3a6783b5dd61ad85b9908f73c34f1a12c088cc2a770d8 b4d607689929e0ed12cfb70a164d3a6dce63c3ec116072b669eec0eb7baf2f48 f6b86c804d1e8fbca4acad96216684407aa98609fe254b1709aa55419fb62ce0 c48e44afc071e3c099fcfebd3a5cd2eb52b37ce1901e2bf5a6f199b2cbb170f3 3351bdf2825d91baada503c202bfda35c0c74c6bb4c18974b46800120420f55b 6096d10cf52e24e88ad33d0732739aa1c069c221eee97e9de98b7f0edbf2488b 38f6b0ceea0dadc42c7e17c6948455f8e6f142b49cdddc56a2336741cff55ba3 a9744d1e2bd067249959361036de7baf1795729e413e2049f8a1cbcc5cd549e8 4c22f6885614de4c686f71e32b77e0682cdca1e78d2159462c94cde3b9962650 729bb27270cd1d9e814bb93e36056b5fb50a39f17ff2856469a7025a2e52afb2 82dd84c58d989147a4fb8c491ae732942b4cbca26a3a17d6f937d568d7036bd4 66362941ff2ab69f40671a09823db7201077cca381990deb37260d303f89f26f 9951296f50c0c04ade0e99c96b805b982bf4b9bd1bb64eda0a11a3b5bff3fd8e d7aae5dcbdbe2890a988488aecd71e46d06a8d4f4ab617911755af60459d1f9e c14b516a04293d5a481a01401ae490aaf52768716e30f027b84f6b060e8b03e0 bae8dff832cdf1ab3ae56d7d07099e8b3ccfc95c62fa307121655fcf3b085d0e 6c325e2894bce694707782f5198da44158b04bc20061e57d8d0bf7c36934298d 8093b410872355b4d49c1f57a8ea7a1a155067d1c2acb41a729eec1b6feae35a ae0654006d543c138aee01a61010e1e62706704b8e18e964fdf82c139124b916 ae219b7b8e2d916c9012033bc89eca1d19cce148bf4ff8f021dc51f2a09e207e 58a6e2a4b513d307ed0801732c8905e2cf5d7d02645332b5361d60addb6b6c3b e08f6a7bd10b26ae66bd5191f22e4e5f1cb40e9535d3aed11b6c023b5f4a7b95
Ok, so you want decimal digits instead? I've come up with this technique:
To determine where to make the cut, look up the binomial distribution probability. It's already built into spreadsheets as BINOM.DIST, which is what I used.
From the GM tube (digits):
2026-03-29T20:32:23.317044+00:00 08137806106637715340119559034830061742183873945566 04543708754669951138098171604508249761497820566329 81617366737323803330695961141766465946048106617614 64473081257599250449174301501816634352051304655077 81766413158849970912647890338047788574056545075599 39429784037786916069394249195717648249847165244669 93994568826929130531191152727725474299978739037909 36160088856659908030899797538533453598368679906453 34325687506785112078148767017411592100556379346741 92447234749267595084628628330468628775208634347625 22651230867679606422060545271692866212115773108735 01563401535221695180890145535678160037008193642579 36176993269307608020113701635148409537716147281589 57346060077194032337571183547780937564029089494443 59325290745373749967982213806403730334116457696553 58667316194502241581390078610497879656136752645920 58163363210311845504425058495307060998016003657421 43467357827981066667768087842863692041011599515992 72741559167997113398826654710358853518878817820688 64956793115630367058546865369644772792889678822049 56459751750542572815295718469936329958549341428054 73386315530885777551597052221626683338972346051499 77297708309089106055640017990622677528940151288621 87183460730248630921709026049108414255083272543335 21482331061940154951436845269762651796438875297960 61904921261357537652616920200046066344710583012313 07903981557438633232356146323297042104736228942172 49734508948248239554438008836594729068801921851077 44336369986951764161316365669315289912385870808492 76259550025183643688045612779173228641358360356430
From the PIN diode (digits):
2026-03-29T20:33:59.317200+00:00 92155082331039586193892299977243030940318149947228 86372331315420929295217792900615475924885323008313 49209840949049776199268736308583744869233161588704 05601227460470527770228316118466841763801134572331 73950918117712371379306820283077538144197376196803 57764760387497480353148258730069638256304922625876 47129429542720844061396452288771041492552321078239 50475552597207906687130501370578813395773254585698 19216837863789176753332616540650334570580562620885 95301365477109799646237874720346433667415322777040 14584844351356874932978564600644662059932691530860 52614408409467128007045341188310227758099995179614 82059223754772840828773043886472735033023264226934 09377523097085655982449642687592139253895892827924 44304366537877125181893093458673650394029153929976 07809337168004001804329196501246363861075015546192 05943326573927147239567613739644262398483285668056 86625103659163691677304303365389541654237523491458 65623273619273763436862076041113431904446141338970 44488550388014557814122958297585625405079581105727 33000567029046827578303297415245716440732650484376 88620658235504030702544165428259640326093061833216 19632953135538134863371153814111809292741453072891 52438589278278101763819142708990404469367238307006 41797482234523857596695731589375810604416190722601 64264470390413104839847907061439038650715809250709 58396092984813330195590893140850944048884812193025 41646588767594009725411195055241412847801635358580 56318768222621800394728026145827119074068400098460 19380166161639061275422400441945368522743355234245
Or, perhaps you want just the raw bytes themselves. Just make sure to trim away the first 33 bytes which are the timestamp header:
Here is the python program I use to generate the reports above.