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):
2025-08-05T19:20:48.632433+00:00 9dc0fe8c55a13bd34adfc11bee074a79556cb81e4752417bc9bd73fd1b5254fc 87d3aed71169beadf9d1d227e99be44c384896dd295e524f21efd28b4d57cf05 275051ceb079cc9a445003b9ceeaa089ef3db508e33017af46202e8fae306885 baa8bf00915c92c7289ba9d669a98636fa6b6c00b48d3867a19c1fd38cbc9421 c45f06f16ab734f97f3ab9480e5b25d32654f85f345a122159405bdfe0b13128 52c3bf97cb06e7e54fe58bbbaefcca2696272eeeb1062f1e5983e3ad56b5d240 abd4391c54899f2d850fce851be427746d8e890a3f1a9d0ab3fb6b1d625df3ea f04b0f93ad98fef5d0fc8de753da32bcd07c6836d04616140070a2cb76762234 e2494bcf47a7aa3a6f241d183045fe2bee1c491e96c9a0951ce6d154b5a1bd26 405700f61e0b49b28e947d9a84b096b59c6b0429be42a6022ecfe6c8f32525ac bfb522cc0ba107bf3ad8ececa2bb19c4c57c7919081f6ebfd1e5eb35890e2dbe b4dd73556b0e1ef811c572d2d9d4ebbbee30dd81702c5afb3f04b49c4f1b5ae1 67b7dffb8b2606d6daac143a28777fb701173d85aff56a4d9ccbaaa8629eef29 7bf495d8e1be89b6d09b279127dd8956f9250df96096d2d53ff8cb2774359f19 4302cecb4ac01dde60e57086806133db8468d707dcda73194e77a6c90bb7daed 361b584778f04c80a73d3b77bb4357eb07c1ba5381a05ffc32081dde386a24e3 436079673f9cbbf09e99e8df71768fb830c81d641295c8cbc6d0498d3c29120d de3a70799065f5848c4f7361cd6dc8b42de856c2b6e32b53efdbf9d56cac38b7 ed3df8d53d3deca69f16885648af833211fbdb015f152645cdd1979c3b01734e 0be836d78c31af1cd64bb0efbc9ddda70e93d96c01fa5ce1ae0f97f74ef33a89 4dfcb61d52cd8d3056a303d9a213107140f52154648c75c3d604701dbb2c9d19 fa034ebbffee3f3e546aa8f54dc56ecb58bd5aef01d760887a9caab05bf43d4f 379b2420a4695b99fb68b2b5f12785a3d0409ef65108970bdb2bbac719d275f2 f9de5f7c45d416b1f16b843a871dbcc0ca93c882bdcf7b44b68ce9712fa2a56d 56834a93edf7e671a606ccde3d37036f303a4eeb69c5ba60cd0f848d7da3aa2b 3ba8d6d4f1a37e890480dbf0aa50dbaad27b1e9064364a12916fd0ca3130f17e 743593e2f114cc3ecb356bae80264fe20867606bbdd40791cc6085bc57959f85 8841a9b8dd76c34e3c27ff3f4bcb470544606a48f1ddfbd71a1d507510d58ffd 3857754e0b3ad7f90a9fc560377a179c5b5958c524c6235316ad5bd7245653b2 241e20670fd47114f6010747725da36406fb8178a65c861062531d9994f378ac def43c2664e7d14faba5e02077067f8eaa6527a12ad15257efed1ef0b2f03666 2bbe8988aa0a5ceba6644fb2813572645faf61a4dc95a712a77d61b161006149
From the PIN diode (hex format):
2025-08-05T19:17:23.431546+00:00 599400a8bc0c7957e142763ee6e1f417e9b5cc8f58c2c97d46a14410832def77 e8994f9773f04c05467d1145e839c462daf1cbd13781a03c7e7f411028c5b095 51a06e95f8c96fcfc4db4fb3788e06c548eaf31601897e2d153a57b927caf108 37b1753811ce3f964532b9d6bac4f8e4de1ac694cfc2473e045bae5fdb3cd907 963924f2bc63b5877d861ade3f790e9d6ff1343d321eef0a4dd737741d6bb761 b59bd41f1784b28d24e5b0ddeb74b38921e8b65d0e368b935adc7642154a02e1 bde4d08edf002f0812b534f3c5ee992bc9b3e026f02e72490050ec4a57c32bac f8ac989091618170933678cdb9c99627178d820e489fe7b160ff8cddd106a9c7 85632ed3dabf9300a17dd45513361f5da844374c986f2ba6641aec0ba472fe64 c11ed97807a31ffea7060cae9614afab57ff088b482a8b1812a251843783044b 019130e5bc17ff2c5735b87c3f74c584a17f761df15587c0659d72109366f52f b06bd5ecafd49c75cbaa926f1b459187cf855b5e1d039da97ae02eba93d7ef12 2429720d567b59439f59e75f38d86c091b44bb662ec868ab766a4a042879924f 07f4f546b82e2241ec32fbe52a4401728b724c101c46abd64c86f64b28939242 c3dadc46ad492adaa4b8e1882a8414cbc2c56b841b973af4d2f530854449f11a a3adc93ebb9159e11f7c76181b567a38b068c1b9b11432e26e84c21c549af68e cc4020f47c078f7b43f90b20f0f187609f53d0a47156ca55cde94f2661bb503b 16524ceac86759b7d7cd20dd67378e94cc4a912414637bdd64cddbc626ef1264 ef4788ccf94de9da42178aa3ce2536aa81c1e37a7109ba7b5bb8d55aab2cd6c1 3f88a5ca73382a3a782d78f79dcaf039cc300edef94c015fd5b9c4beb43b5fe7 c904f293a952474ecc4895c1e8875a522799d60e2e92c6a323da1709db2f621c a7c1dba42c4f5ddd8992f9bc43b4fc729842f31cbe47139b0ed58842c869fbaf 4cde1915e05ac7bf8ba2eaa7f1599f5eba894e3a7ad80cbab5d4e725688ec4d3 aaff211bba2ae1aaa31c4c74192564da215ecf37dbc9be926a1db929d887d396 14c69eba62dcdf3fc70e5cb297e70cb2c30bb917dda2e796de5e5070899f50cb 2f7c93d4eda106006a4ac00dbe16e37cedbab8f0c5e538b55b53ad8a386574b2 cc02f6788c5172806866ab8698cd14f0480e00abdf51a4fd0e47a1299449e26c 4c86a7d1806b7dc63704c7b5a2c9e3f4de5ff02a687871da88e8b222431bb562 e1b75dc9717244b7b265213f29198ca5abb18ba84da96f3081eb797e127b5920 40d6244e927f6405728077354b8bd894eefb0d34136beecb1581b00ea6e01fd8 a7d4fe265690dd41b6dc166ff2064bf0530d5245b2b8e087fa23fcd53f221d1f 7186b78ca7170a165f7f86c8106bf1d63ffc91c3f68dbb3093bd7bc1c0e4afd1
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):
2025-08-05T19:20:48.632433+00:00 57924085615974932707742185088430718265238915278284 35741705907339557656725041948279333977870539808176 21546880038560376181084823757032464374480433866891 00459246994055690569345407080080415603615631408848 33969506068352275885721491373884955290183389649177 49408295915106793987743850394677064730893173868164 71572884375945331533273916094237106326571079072998 93751547735241835088240454702220001262181834527375 71677058113629244869432873305060492884816189386487 00301173784248255432765081560704419066660246373772 91813411610791586287259697242125083110915337144590 80158507143017971487482912449063048056792790038339 38067220584019278301236133750677567068985841234990 37825539453937863713965063391653592567027492299612 34289751320407152578196611835427887120762867615919 87678707938683296095500829560636679621036356875853 13184384482900184998734160411813581221440132407915 97098045869482438308725683616161665922368672753150 17019521386951565901157811544049752875768857671447 08019274155178583777822982414886630362191613643384 00401795041229874457250378876362840668779710888990 01963622567076916179555536326405915304788139336364 58810851114386992517952469227707325835298892473089 23688240134762650986317447136606615503114858780597 86961532412563704359686326370428708070233044005474 18451149482616534720625307742838790803960789074596 33888749593336656984189578603963757105689606722629 80171643568717781158105997965522235691898897369835 83227391368683783630320315132001077114936300062920 66923416988329534820726038007971653219062742700139
From the PIN diode (digits):
2025-08-05T19:17:23.431546+00:00 89480068881221876618622381438894257061681631451953 79511576057025176957969855296060262765164097764981 60104911967979204206977222013726452158878539085577 17561763506950858696269848947162049174956007505736 88998135253426632114571152615030107755162907839781 55312332784136761679373382931454394790186621740289 42004708188152975343793846147300807487954372725244 45972912475420855039234130147259779640066999339946 91470061258519543193686855765211436600261164140093 30200763316706127450207571870839724239241862813255 31047501454888234487538424631697326127182985359201 57141647024776077556177046112769453533919429035769 22468647183641141386238967598995560809276887024604 71180674044021467907708446346550426801143914761628 70717634754047466695707373426484364232209497073227 51584833687326637362874589312418242786225676049385 77205010329428845442643224074323671132359659836413 86857938978780592282760389833203554248744536209923 00983818007136776623386337547029932213098623918490 71449363366515564258204520575748147601958596908059 95044769827178724993359082395314464698633523094798 28679364447993374688678014526628907119551436660575 76252190999139626789599486377858221286813704429670 33278642706328761625370033945590460629854135502098 58869863991492785112789511852362509480123759804724 47610600067492139022248684975681918373385601167802 20408114280402713452207214007181641471614148730876 34672807259855049981629542042013367834672781988393 13146883780133634125406571773968776911482921261823 89326436784627000514281953753948135219072129761466
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.