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-09-06T17:18:08.799764+00:00 c6e65cccae85b8b694726f010b41f28920f80ab98e1fbefdd9b0983c002e4e6f f15fb7077cbde8d8c3380815894773617bab2dd460c852d19b9a3af1cd75e67e 0726d466ac143bc236e96ab49ce19e69fb552a8ebde67065eec30d3af96c01cc e8bd0b51adef677e9e48a02d5b2e3a15aa326fb27973272c231ecb49e758adcc 721e79fa9e4a91cb4aac831a486dbd00eafaf788f4c993774eb37d0aeba272f6 355dcc5f9eb7c0375babd0cdb7aadbcc44a3e70fe6507df48f1cb4fab4780641 bbcb44ea39a645421bf1df49536560122935a1967a3fc839662b1ef2b1153026 fa1ea5a6ed17384aab0e083a9796d5b65a3ff10986fd559dca9d9c4ecf4e77a9 cf4d0d561de4f75536f60055a0fbb4230c21f86c74ee190d80426860ec167aad 554721068370aa5bce59ba1cff83a1bc7a9a6e9822151b215a75a1f783362cf4 cdf51bc7b5d442f821e5593e7e2abeaeecb40ac1c0e316fe88e8c64339d5f3e0 66ad57d1abca734faa43b02847e7f9163a541175130a3f54625fe37c74f47d44 8fb72fee7e06140ec2cb27c926cefd03acefe195df2bc4421d3cabe0cfda2803 ed5aba9fe140b3ecfd8228331066a5db7605702684a1d03b008f8cc5c6525348 f4873c20d71020a28eb7ddf6222c413c6d45eb7a5bc43e3728d8f7d09ce11ebe 21bac8151b0023e3d6a3a50a9a04e5a463ce331db024636ac404e9646a5703b9 3992039bd0a5d0c0707414e0c719b518ae86490e2d05a69c00e99432b7b196cc 0b0beb4112ca39d237048132cc852208c0c4ef8febf53e67508fb7d4aa2230c8 bb13f24077fa47a98b6726b616d67b0ba4cdc0cdceab8bed5224cf24b3d33110 1e6a60bece6d25f414b35f89976b09c8b656c268fc10a9f56bf383af6b307b97 a668c76b6b6c4bf2ccc59e9bbe35f1bb6bfd50967134abe48d28160409a225f0 fb61d8b16d50a69f83321d78dfb08a824a29b16a92f32f780ee413ec4c836d7e 4101f9d091bd4f6c42195507dcaafff1e4d056aec90bdaf72d881557fbcc2998 6c0fb8d37f21a5ea5fe2f3a677e145fe8a93af368a7bcd21998e561f1ae1b32e 50f32310021d152f0f6316453662f50185d95c4f3f8dd2274e2e084a9cc7bc94 800e0c1de681323d836fd3031b7772541c5fa793666177ba3a6986240c618874 67f2bb9158c8cfa46e5c340ba907ced7fd352e440d6afb24adf1b62bc05ef0fe 2783b51c6ee75a7e98a7efe9373125e07d4d358ed56897a503547e44456426b5 28931598e829cda300e8e79360469b90d4b2afd865fb9f6600c414484266cc38 ca1c98740fb65efeb5f594e4825f09c0375f50a3ce04760f1047809aa6d21097 8d85ec1f691c8248a8fc1d616e8f880d08e72324497b9403f12c8d9626490655 84991ed0ca4e6437d537c30ebd081af5867773524b056e8f6e0f038bb2a29047
From the PIN diode (hex format):
2026-03-01T19:36:58.695548+00:00 c0f4955b3435c3a81ac91d8ae4c093d31493c4e398b4afa8efcb09104895ce7d a3bbaf6de062833c58fa444d1abb5e728894894ee968075498dc0c4e17c5bc3a f2f17f5ad8286d1e93698926637d3cb27da3c232340ecfaeb395ba3f1120e3f4 0a3fbbdcd64ce34d9ef4aff9ab50210fef53490656324e21a9314df237b506b2 e4edf8c2c5c26368b42dd1b5ee9bf083d793f9dfe0b51ce776f59cfe41ef51f2 7d77e506c18ac786f97173cdfe150d029f3f729db0f6c28294161ffaac4e2118 8d89e2d3d419aee44f6cf2889b300179c71aa14bcc120d2ff47354b029d5bd86 5e3d2c4d46d82eb1ec5a4c5d2a31c862e771978828c4d4fb12c9cbe22cfaaa2b 228196e863ee2d79ed7b5c09371755b96e230ccfa70844131cc15739c5be65e5 fca538e59212a32e36ffc24f251d3907895f5b44529fafa01b035b30be0042c5 9f7943357c1a5da360bbb33ea1b0774e01e3950fad24edbece49b4ddca3ad45f 8131929f282ed6fcff53533c5ac24346fc6539f074d2b878c9a6ab722b5d2ac9 48bc559bebe34683e5c012233406c8f42f0050f362170faac93beb155cc36b48 f1db9656cb68b8c49573d4e6ca7f0a9339d9257cc393bf1b153b07c1d43967a7 e788c604e3b06d765572b4786431d216b1476cd14a87a7992a807bcd6d88fe97 60fd7b9a892b88c1776885d27581b7207d6308f8ab0c66f61f97f53c1d38d14f db33dc30eaa75627b5a776200db4e269427ae80d5b0ba7bec9b49e8b548e94fc 1f809a082f8130d91cfadc63e8c3f9946e6a9a640cf185da502806ff2f8766c2 69385692eae1a5fbc87db12a01dc83a59106d077325a094134abc460a3eb419e 49912f9db61ba12e90821718219231402d6309af3d33cf65404b546fe9d7e2af 6027f2b888cd09c533591c65b984b068b63731563d115789f9c9542ba668d9ca ae58c6352b61bd5b90c38e43d266c24bb12cc69d05d9ef1e593fdb7aba490f40 f4377d2ce5b4b5071b1ba1015889b22b885a78280bd4b745bf184c3e5537d918 a5545da894b400de0acb9f059a5d166f4d1f35ed146b9554a207372b2817147e 80d57741deef3b79078b4449c925be671ca0c473d6db82c2a0f5dae75a6e8a64 83c75dd7902bf6393bb8dfe5da6238b21ecdb85a02f7700b96fe11899dc29ad1 6c0f0e4b77c94e6bb0d8b5eff364283dc64d61aad60c3ec1d83583a930f7b724 bc4492980ccae03a90bf6d1207a462d4adb8a0a3b1d8fe8564ae089327a3ed81 28efbb13889ec04c53118988a18aa03011dec4eaf6a14eaa64dd61b34019e9c1 1ad7be870daf2371e229e77262f7dec4e5683b595fdd2ff3c0435d6bd1b75ac9 1861be0833f8e0c107f874485052f698b6f91427d11254fb07e9823bc87ac54c 86cb3f08aef9f627ccbc4ffb1b905472b0b7d6b1a54ce585d15526d6e188c0de
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-09-06T17:18:08.799764+00:00 98927433848248141101116537321085423190765260004678 11958307248995560821377115972371459682555458172607 38027220599454068056580585424289120195135808018911 81730326587260459146582170501178211539443530738873 14302158744574723126720989003647197879251062145393 95588392559171837068631580254328808020066587685766 69662773830196184153615022635702433077214838306566 23567471140858515082906309348557575678781969771386 29855400856080351233081625132866049622227385713306 31127091898628316188225410523421273390176131544427 99816633896226429074801093922236986757027387711579 70677640712258841717191063849895241625684383472606 20149439380372494396662960714003908659647930405116 02651805123832615900434097988283723560321632624283 34446560096922919662554056309033862127003563651054 04649951297636990696040006870385574603556592121620 99258124743473144505665600485083775011116518575504 29503334089296436203804383703448871964197169390338 82222311649271398236367949163006969009372079953751 07098286940416690731750748235166049907070875975855 90538707805013527141402204096237977709806659315029 20763830744177064647201419763109266501458979086625 85077086741145362187415208158427336595661969384775 54382333534286312679468035160229214715992269549801 33927963413978460874569988482814122929506131110327 19148428956747029719865805343612973616038745886410 92521169075346681306367382439294393181281090265267 55493725775342045165038426686900388140472152416300 47967055447875015902009620726602562852161582948148 30950992559580630418151671285466165141333105283072
From the PIN diode (digits):
2026-03-01T19:36:58.695548+00:00 92499152539568262938924720479652807568091672492563 87750998316088687726879414364837780407845212782397 88582790400930470537389925607825639450521474794986 63173210638776775875718033158373068650783369497755 81067894979499048045815531478128185665812519069338 99341315211302596314577694304822317278332441372574 79083655480121992661751813471584764189349461447770 46779076934249981351364096184470433429509945212392 09552385851035126708681928938757979001655646186346 54947937295707379591688259756027039148900066975921 67532426936396877962617619780149157336907380589529 49465940468383609094677001571684206671144393427288 85557031921835520647008098231570592192950772508604 84964915271047573724954791272159079357036736980476 09188514802000492277710874356753422823093651962354 37433693190433172983322599087112023151602956795148 67863981671832138005662213911167908058398442483128 54084729482899954810065400123380400647350294055686 46652577420131654506195090096552719696636558734547 57822761464430232433464964459909756151016475841175 96398436099751892801853276048255498661178737844366 04748898534397899144954267029475774498570530896322 86731564552544808107272761018837784336902040118369 91247662855524658493684880001059055493221177315320 07498462075543402320262819655921073968733790032860 96153094609010380031999344435759849856783084900212 11501737579454081514751978077681004061987797701262 93533169488336886846521258449109180764987384606377 33007408473963294087193658927683173736613860481796 61787000977964259326903513753513411498960459899547
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.