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):
2025-09-15T22:52:18.481705+00:00 3879c0443c7aeef507e62cbcefe93d07da2ca38b2904d612750687bf92251a3e 8450b8e66f9d8697c494cd0e8c9cafc6eb915bfdf5506f0d51497e7c7872573f 549fe1323501cc0e12a4aad2dc8ba481913a233ab52db06e709044894aca7923 9723f1173e052613815bdba78226a84a76c230ede5af7f3cbe2580ba9966c207 d6b4ab1fc4fa4a641b400ae21078528ca2c43143b760afc5e179cdc068b287ec 6dc9ae58ef25f5ff1e5b19ab1d171d89494a055cfe70488a901606e25c2120e5 3fc00d4c111970c82a8b8aa3bfc8a9129c4717231d056d35e6c4bbba12cc8cd6 c6e398af43385bcc0877feddb4e7c4049965bc3d27e169801646a953c65699da 29abd52d754df2c8d5dcc80de0cd04db1f8972e831d4295e7b1ff1673c564ae0 0cd989e2af495db670061f718a4faac4025cb42ac19f20097210a49d404f0875 1b5ee8930ad29dc25ef623a92fff47cb0afdc0e588d5132b3333d94b64ab09c2 48a7c294b6c599f76b849b8ed440711d7f9576973fb34959988c54c5126af29a ac469e4ef4990e66a054f4b9bf153e1e989d8d9c665e14d81348466f66d6e187 d706fed10816c0844b3017e749c192d1db14db44027433d1137fc72ec573bf07 385cc932c7d89024ebb1f6d27c7d6e2a723476e99a7e5b101fb359dcfa232893 6860e0ddede804c0e9182a784bc7d8fd48665f31bcf1482fbd85fc6aed4ca795 b5b05a28337d8fb444984ece8614d40386bb873c93e1a476e9244fc041907d95 0f098673f6c324dfc4b2756a816a35b816b61f5eca84d94b451cbeed9e72a44e 462c014cc6b70730f0561dae5f1d6e088548a115fc724094671e9b5e51a055f8 34846e913cf064eab7f78dc9a2af255d3d83bf25273dbe27e9def7d58bd2a786 59d67e34f7f249ec60ba9c77c841a7aea4f52d6090a250d4529f2a311af8ee92 00f17291969326773c60dae951c2c72b72bdbb46fbe17fa11351d00230a6bf83 c92f571262a917224a2637aeec69d6cd2cc0fe684c97641d6ceaaf51ef3db9f2 d522a88200dd5bcf65ceb89ab8f8afd136da3ca13ae70d304528fae8dbeb8b6c bddbfe2bb07733ee98b71a55de3800dc3f6a98d5cf2208838f04e1476abb1d77 89f4755a3884c5203076a67dc064fb45436382220e9ec276b7506873bddc9fcc 834371cdcef85c7174f2af4d67af92eec7e1cc9ee2f2ff50306fc6f4f17972b1 be92ac4cb5359ecc80b1bbfa0c1cac5be34a0d0082cfc00fc01d8aa34f9ec66d f3158e333b351cab57164ad5067f57a0051c70f126f4a00439deb5cd4c0c68b1 9dafa37573bf281eebd8b46fbadab02e888988e1f71e63a7c1618acceb99808c 91311f2f1cc4d23b588050313bd0f692c83e69549986c9121dff754791d73c41 f0ea3eb4945d6317f1bd912eb1536c44fa323eda0e7e00c9d4b8b94fb692e2b9
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):
2025-09-15T22:52:18.481705+00:00 56219268602207448861074463394104181706359146372662 32808411573451964814405675984591801113817326242014 87638459505301141864703964294558355881457610124468 37742135513523620538192991673038687418944875276090 37288653029407807131967400276410162082406296496783 96759721920478350974883730912571292329377374059212 72384422069233326392137617251242393863916918567123 35290509539687861840985275675691081980960453018861 39052822706983988653417145177713043137144941942331 03608674123775739382120631133879709602928042935932 09141664576479081727944710579494356947711092361943 51517500710994726794488297530732554264132927491851 63797389524084971806547270587853140260848591216230 52574156029420197270110235060822923275482373934620 68021651192799469715910756925099443677242510421452 18542691163179893540470496049224422075997202954988 72478933067667498176904051254380685278342003348735 60476418367992654425491509341595369678170629065384 22823194327569289058146478704401769883074886297495 29100833726121146448033055948160855232104560008341 62753793613191373961903939673489265273968656196567 74644596446280825942492646001445504738196096819499 43148987702761198102486691314787189869233474385574 05449204765100290875816185346830009101845484755460 61581348694039088943761951528326855600630652340831 43047106872919371790563297324818662592006967993034 14589418838004158959316713921316757703754699588048 11982114779046727681535828778712287291741300309215 92293863795898092142515953287187227406278760052812 38600457817612047757756317159140308011867646363736
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.