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-11-12T13:16:26.389312+00:00 bbc2cd57ac92697abea165a4c171e0c633b74f5db7004c91ca777294f6d33547 5b2d647c02a50d6228432d7b4ba9f727528b4f7c2893a3e3988a8815dbcdda71 0c883e201ae91a60e1703e0c451f82ee58ea37a06f73a907668d77437f99d1fe 256d07888bf784338fbe7661d0a229fc5a3bcf9a48618e032b8fbbf26bb82a61 a90478ecbf66643d2bc7559962bd60c3f4d3627f47252b87414a1d9ade37e4c4 fac95d5d1f0966abcd7500436ccb4d3c27ab6d59ffb192e05275d95a96b1fc58 b2d52f2f90543003e50627a29086cf8ba7bf4827d270ae936827c5ad9c347a8c bce43796fbd59c8e0e486a0e80dc6a6781b820085fa0441ee7c89c30e278b555 63fc2abeb73cd307a5958574da2b543b8a3eaf652ed6e7c8913ef4f444f059af 6fc8f3c2fb6f070012701d6ef97e04ef0f72edd2f0917dd3021dc41e37f318bc 4d42ae49cba5ba6dbd2552beb444c89762bfc57d80ba457796ab62e17c996582 bbc4cde9778c12c2f8e2b5084681149623e85c3908a6b76a39fa7a462f4b6b3f 95e87b34684fe20bc2de3eaa5bfe3bed8739c80cf730041125aefd5bc30632eb 87ffda620142dbb88f412610e677cbd1b24e30f44ffe6491a485fe88b5e96453 b7ebcc50073bb48ecc896d99e038154f20a26d355bb4ef6d1e4a3af28f30d61d 42d27726c02d85ac9c5e0dcf6b4655b6320830241fd8efc0d632301d7d5c1f8f f0643e720758541b1c412b49893023d311b89582bcaeae5b6eca42f5ea730ab6 8ae65741f25f2bdfb799e12f759c316ea52c21ec98f5097c7fff3c062d2c3c7f d1e99c26a0c4a6ba5f3d1b2b54d891cd3dad2a9848f3a844fb20ea85460eda0f 9ce7db5948c12a353f8d0bcc58601c6b23d41a44a887488e7456af424f282222 b067f5353fbb714f5afd66e06e24bdb6a065dc16d0a1c6540c96623dc2bb9966 165ab14a7e08c17fe2738398e2c395959955b2e183527802a724a2c8f0c77268 453d0fe0050f3e35b2650b71a7168e8bb48bc4465181e8b63467893cfd8f9306 24ead8d9dcefe794337b64d5474552cd7878a56be0ad38396500a34f29ff10bb ce79ffd66d680a6ff46e4b2090050e5c7e690300ed869b30a993dbf3c0ef6e46 40414c73ee597dd0bb3ede0d0092d1040c73d3d917b9ab75f2f186e720b20905 a00ce9ce605999974ccb98d6b278c4617614d9d1107501e3d70b31709be2a40a 13425675c4fe6e378851a7b72ed72f29c42a70435b7694d5aaa593c96f034b09 bf962e97d6009f0cd75e06349298e91900e535e9844d8a02049d8e18680f4bc7 ebcfdc941401ef97bbd3bc7dcc8af0a7ea7e827c4ac963a631f9c704b6f8fbfc 025e5650bd670706cc088cea0c871e3c48259e72f7955e095108d10195f7cf13 bbd147df22ddaa9b2726980f2c21692f4b20786d78856630af0e90efb0c0fc91
From the PIN diode (hex format):
2026-11-12T13:07:02.786679+00:00 705946196b1e12fdcd8e5d5033cf69ca471772001ad7be35d1c94450e0422629 e5a3f1591d71ae120ff76c1395190fbbc21e4fef5931acf6166812b70fb41c54 91cb8f029e76809a22f22d65abab1e4949109e52db2ecc61ab70b2dad914a739 bb0ff5fe1ce6cafaf590e0a88f9afb1bddf89a8db469dbac69ecef0a7eec3679 8623ce31b0d8a23ebd784e762d36b577aea2d7bbde85c5eb47790a30fccb1559 82e47f4485fc63a621e4c204f3ec25e62498f6b9bcefb79181c36fd2c4474cfe ef7e594dc6cabad9304bd48b7618aef6c85fd71eaa08a1a8bb46032bc96d1cdd c28148ae442fa9f09e371d36cfcc69875defabc9f0e779447d7dc3f7667f96a3 d0b6bd3c8e781ae0a062da348760ea656b9b3ec34862a804b6867f68dcef6ab6 b1b36928f12c13ec42e7cdced29700523228333c82065ede2db8fde1c7dc770c ea31cd0bab477417935c48f5fe1a95af504ade0f6bba7f2211f70b696f1a8b28 4d8a03432bb9d55d80e868841564f66be1c30f6706c0326a3a43aa8a17708e15 bb003eeebd014fc4ff9a18b716ae69637d9cb371a409c9a93a25584cf76a1c6d 67df815ac9c192748279fe62123b2b2c4222a1af75d81e7667b2c198fa578c49 3ab10db43035a0150a8e29eec82f5a17f302dda5d865126b1b90bf21a8278dcd bccffdcf71f7dce06d73389179f752ecce0b4a0152daf59c38319d2551a472cb b90cf00b49e184299b79ff1be43daf559063734e05abd84617000c4b81e62346 afed5520b5f405bf9beb92c633da1bb6a89a7935a72ac4292694b31a9405ab20 5cbb7d83909fe2bdb3a9170f05228f6094b3dcb20fb3a18d3d922a37e2042f47 088e0a5e91912851b4a03188c95872457d91b1e4e4ebebfd3952021f5eabe691 d190e8e1de1eb873a9c2ee0354ba97e12dd664639a26bbb610800a5d71590662 805d381ffd52c2386a566b7449870857ec42bdf166f97feda4ade00dc9a482d2 1d7ad1bb1333a86631c3196e9694fc9b94f8399e306d545d19c12c8a044a9575 4b70d528fd14d7354195c021a7a4459cb46327baf56f07b953c59a14280b95dc b4dd806e78037b292d3d510102a1d464b17ccede8b75c1955f275c08b1300edc 812f6baedae6462e5b1ee8254d1e44f293ee53659a4a9c31863dc3b890b951ed 0adb67e1df9e13a14920ccb4f5c6717058e8471e2351dcedca77bdc1c9aa718a 13fec797a456956fb558aadbbdd2951145fec3c516228ceed405d5e710f37fc5 e4dc4007dbad060a32259fea5dd3d7d16b87a1acd99cc2d115d73508024eb676 35db630d51676bb0d098e8b67f10a3319e995ac4e30b4f6e90dfda8e72046cc4 4ac7f75b5788b8abb323213cf4a9c9e576150633e561e7303f9b8178968034f1 d97128ed3c9e833fb4c33e85a691b9413212f8bd9565ab9c6534dccbcbd2b36a
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-11-12T13:16:26.389312+00:00 87948772460522906101649313985183799383007645191448 53719145002402651398406745237569398239792440476352 38362113123662322626961262126931308855601115690702 41196727533709073639325143901897624190595472974203 43438707844297690420910200614399855398899695982771 37433565742954559693933109027117006708776039710989 77468217905077887847474484480306396244343967917239 12744704399773565222408855505642147206142806032984 32089560683056482081859942908360076549331643845938 62750146456268897511941107001812291026041514452502 29963055248877667473658609893782908068519891972528 86691950719824530130879619401894810870292050359257 08668306572270477507634923520479119462709159355712 48041737749195065035980166844365381619787848790045 64333681008383800759804237095356217932620953918009 30745843482966193892453372569413077085825008483631 92504829259231430062140788842728654373374835178449 30887474911066151082388765954383534717564910654433 52092427600645446027563860966686956127438445617342 52726868323370141556897293425363411188962807352668 68357242168675667940343476035363871379900210368982 60012261988412509861948753022290777426089327153152 95494953857831822002673662991404696115051562537801 11136722423980399670812982520337604347063648512300 71698220206507735657010063794116872109041011107532 44051492260503003455486947921070646576158925876213 00460412152385711734327809056012968953517652782096 97182016170111491255641019668617961055368167834647 41964212679118487065471103750991504651005912940652 46522500533277380204574224041575994820015187882538
From the PIN diode (digits):
2026-11-12T13:07:02.786679+00:00 12897025073018429380510571231400269053688066384163 89291374181508194925158794307989497222041883158028 84454302581828543445017171307373165882469771127820 67578715284468435427544180057205102654213435497662 62892078184554811974628733977121104821893027683399 66339404373652858883452995119671762689779886487539 18247495307008616887700343092894297274684769585529 54053593712168252595022750638289604220266098523596 01075562957298680482342704068277790540441966510082 50405160300694458499191249117171162347927226497580 74150786273417110511263940773803674385932804322100 07951503069250065867703823124221870062890179965424 83227405992556791364096958378876062809032990934616 30219818594344663461751730180378935287407358771380 48536021104241479023026501180727449133683941881309 15564521821174018256564957378164148512117332415521 27617585449915780571702300127529357075853281059155 46985127826854215367429641384879264805713292872531 44598979692315053443964879781579614161464255044771 08421094454540818060493688146925457757820231947145 44308415699403848651450099543887821628109313890698 28935631829456068607167335088766890227647313643029 22871951680249952510504855485758480984932593443804 74491775124020536549923367646956809939861107858397 54204011498028102003234145618101026100772439179349 95399208774814294707747046913037773068478301547456 49346195844485811003581961733280981312887130358119 89937013381999516486491181887089491769959722344005 16279764077306105037599307356172569421530802788218 53991381030776528227166349585390961179104442140408
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.