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-02-20T23:24:04.673719+00:00 54530230c96c1a76f6f12410f0e91019b6b85a473e44485e29e3b705dea8f0e7 084d0cd39f6e0db6e071e150c1336f47df3b698711c3c4108536aff97d9f3930 7b3992191aa9a0398173adb1758255d71e25a3cc563a18d00587b899a1fa5db7 d954bc73549542a843f16cd8ab14c4094e3016e3c8f499dd6d8c012e0781a509 6e33e317538b080fe29baf43a89bce8923cb01e413fe2f946f407c5dfec12e4b b0e03f089a704ffe81f3167af35647734b2815a420c0d054907f13368411d31a f8a7b3a60e361810f6e0240a220f01c5e42b97f6dc6aea2ecad75690b077e5e1 23727764f1e193d34d03652b8f2714c7c4a69710835b1097a1c93c5fa94157c7 b8c2031e00d6d1ae3ca506a3277a0d36041260637b1d6b5fe4ba07c7ad178e3c 75b1d0614364c787801f40610c4c094bfed4ed9538ad469f53f3d9a7a5669e44 ef1f842ae6b43aff5c71e3589e2a20bae7a04e9de164dc00f14dbcbc61e42782 6b231c30f4c4b8d5cb967fc4422031142b72d0b46ed676ec863698e80e73f1b6 1b4beaf98e9436f4d67a2a19e5075c983fa6147aa382b69dcff399e44b238b05 1296c46357b7f8b0575a6d3498f2755b50567435cf8ed89ac63892a5963d9810 3d63b474837f6d4c221619ef2bc7c0495477bdfea1611e06b4bf4e8ca57659d6 fc2578bd5a26534be7100afa8330c34e9406b79f8fd08a37fbec32e8ff504222 e9fca2df551124ce6ed3b8e80124c68b4d7ced125a2262da7a8b1696bf712776 fea468f674b9fbea3bffc4c888eeb226861011b9ea5833f253c234e3586c5d6b bdc85ded6e8f7eebfe54fe4a8f50d2152985b7c39207bec3ce04cfc577d6a1e2 eca715e58b4a255a234ece2b5275c13009759f75266e3480242d2e8bfc4667fc 9747e18ead28c526ba070fe6e41d6b7aa69d479327431fa99e7a9ec0fdf93565 3e05bb08f3b8f33b3c5c968cfa4119c897511c5975431855a5022cfa85f73365 cff918d4e552dcee8b04e758578848f9b033bbe49a51b4bf2b9e115646137fa6 9548ad54de9b1d48281154c58291498058caed1a6e505c9f105d4e79929e7354 3ca393d09be58308f1d55574cddf4c9f21297866a9a9331c0d8e94f50dea392b 613e5e627f1a44d40e68ea981bed859d4b7e0fb2df22160cc3425fa9daa20652 eaa813e247f216ce0341ace29ed03122f6aa7aca74ec48610c2c07cea3cd824d 1243ca9bccf471028de685f3d129d81edafe51e73f7e6464059f9fe14c20ab06 6257613e1ff4232a63ad76d943908f91a70439d2ef5d7b72471eee215a4bea25 ae3dd5100d667b0b98df59e73f0ea604753f1f546739ef9406b021d04e1de8db 4776f39c6a968724914fa26f72597a72976f7ed61393a6869f3e94fe2b5e179a 38efcb07cfca195eeba1ee6adec80184726a07d8f706f17332e35e6365f6d8e2
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-02-20T23:24:04.673719+00:00 84830248082618361616258284907162687294418305680877 12591013821380935111715905351795961633547525595748 23574625266960572915737717308530376386582405358453 61938384881584496668670871209609784822530940014607 29650910512383390815557567685537350119474811642493 93467576630854127929222286711575402164329284442719 54321726677966145424163610341501974351064686447619 35141900477703014343392099966651163191165161609569 65879984940330007460650663392213540418969923290795 86079973234260177797670099352831649712760975495673 70598367650258683132428058921388584232866078570000 77888897393007352848968450279666324920431480101834 54521415822775424854224225079252636620226330825753 75353905185096998783768790095252179180861653425498 56466550615216619980163127097634222543999273841989 61973006809178406518893720899038837516103148957848 06835943385550806634628517361084013698397724189034 98223922509113391864041685599636783834161785885183 94528808930789931043268474438021413383954607909504 97196167213974379035784382179348091759173810522836 45463970035171427340973886071529072266577147396731 69582258925301620587088459609250406525518128891767 24856502443351012482390488873672765187548180914358 17867019276649727384552972401784973045732888261080 92591693782146581584606347553108851676593341200269 69512813424813574397629498272668140452273357752615 78342212956695696206826819712203657258493470221672 97124407633077186755130241334130816326000005595976 32710698879762313542997318674443456704579323147130 33907537746116130223115289631466041763318403574806
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.