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-12-06T05:20:12.932624+00:00 6bb5dff9fff3d2c94c5d59ddd29003ddad1d399e7685831ebaf09d56bfc41796 7b6c5ae4c147e01e4f39ab7a092719340113262937da2523dc4a2c67bceaabda a0043e828fdd93e1b82abf34e480e97fc02158933abbfd1844cbb0fd77d00707 80cac66db07ceaab152b002de20a9aaf03765cd82cb8d9e24f1229e2f9200660 40e79f0e0bf9934bbe18e1831288ff619e69c48da659b222775de29d69f24f41 5fab4fb093ba22746cbab48d06c8ce0b33bc31ba6c6b8a857fd1656eb303a325 a66957e9b6775fdcee02aefc1a5678bffa9f0326e3fb3afe0fa02bfb279d2e06 311c5ad8dfb573baf3c9f90d0cb5b888d84de5d812d85d684541a070ce2618b2 1dec22c02605868b9e773d7e6c812f67d9cff45982c7364c72caefedfa13ec12 478cc84014d9c226e1a6e7fdfe5f71c6e890b02e08b5d313282a102de9c9db5d ab2c41d31b587d98ff18087e8d927a85e9309845930515cd6e93462766b575f0 e381c5b2c8b06047a407a938d11db830d5407c72d4ecadfcfaec5e2d6e024e03 df781246e4987cfa7a9bec0241159eb21a0cc1988f1cc43a185061a8ebb3fd34 9fe413105054e74a11118f0eaa5e9446987cb3ea045ee31e4abc126c2dc2e2cd 99fab7459e530337c5eefbeeda03e05400717c5ec8986717395df5db2e328db7 19cf43f42688848841278620dfe64d7389fe260496db62c898d02cefd6a8e7ce 85cc63110f8953c3e603aec3a385bfe9b05141c1bc6accdab44afaa267281b60 cdffb75b185af211fc8962e8aa6777d2402710b88584b78d86c804e976fddaff d64b2669ce4c7612272f9e78051c79740eaab78b003cc4cdee402d022c28dbd2 9ea5f2277d210eb5e4f2f49de5b56800a3b25e0c3940fc1542413ad270e9a2e2 5b3e859fb32b33b60a64401457ca98ce7b5cbfc52af5b039cec976e11f1e6af4 e9eb35b00ca65fde34ba3c2be2889e0046bef1ab55fa04aa1fa9441ef4cc9bb8 730d2ed8c656a9b01262ab2af39038158fb878dc5643dbc3b2f2526e2a81df52 6cbcdface3631d1630af9b63e2e4264433304bc30d806429399496d2efcf1021 36786fcf4b7a5c3abfc11c8b6591a2bef3dcb9c7dbaf1eed3f384737d3a13ddd 5ea6ee14cad77fbfeeda8ae273df18f219488bc1bee1f36762d5fc58a3460d82 e43a85524d110fe294af8cccd3ed7ab52a3258fbac3d2c9cd0f4392cf140b593 cfc7aa4712c2ebcbba0d1e597021c4948f5b987c80d91245af0cadd096dc356e 71f059dc3a05e15868972cc19617178ef5cf9aea1c906c7267c82331d32aa974 1087e98d34b69204cd6e2ce473d7744172f530c5fd59d47e569ef92b39add71b f1d884a98c1a73532986948e530eacb9a78983fa1387873c40def5c44e1e0b23 4843d0157a1de6711599485b4268ff0a93bc0f3d1baad0c3049d3a8944706f12
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-12-06T05:20:12.932624+00:00 07817693894403732957581833313086578691962350230890 93713079577122093925520119384155373574440388716004 62304347844291522827923388475887246876190707289809 76247121430045105475031892448479184132069664591411 47759024311836975805964166897834199357057965957179 76478634160886804106115188498608073833270110790363 37660587821995027426862091590338581560433957460649 28908115861312818436771893046965601238247829349238 05343958196126082947038930995476141918714064209438 66951398447646088119404216459371446527882552240826 41462233485269470521104770390281172997787696716407 69562984486424147394451002780320187052242255026521 58782612935243289658248097687952591916808474171743 14709448705224790494307488180845945383695883035597 03840013249452032357934650418325673836323665393432 77153738045098524468339917153783950374956333917681 65938806807462034027968391249017379870031964391684 33328341340418753805761818394758200528211614708339 00609664450244405865392533148157810400637894125764 21666558126291623359794351821000642087522392919742 76571831300653761266955286604336580070907185047031 69683055841513469886697618987142445621438420866795 78821042298208887299292248755599386851487595132800 41574850163354201175229258919328390145629085997530 63567155616194662027913815242572399390039888637013 30583382771715487540228142508872614456574464814799 70711894861330891233964843915224281869751273505310 13895805880451449350232342542844081403354942691616 35415282460410441516651448978926865843577327326940 26158341344842831472856737311935356064967830113572
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.