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-16T16:21:29.316109+00:00 d7ae5d3925774f78e3a6398bc4a7afeea4b11f76c1bed30e88366f6432eb12d3 d6d40dfef296a8b6bf01ef04946fa4bf64613e981d4e58b5b4f726a7518fb10c 6b9bc22a7c344240d0da2df7ec43f05a18c5f7a03744e45da93c2dac2f871622 591a9d60082f8d53eda77bb75524f38575b81b9011c5ede8e7d738c0ffb50b2e 887cda4f549d6351b64faf36b6328bf054826cc76d0a81f1d17f9d15efcb7901 7f7a4a7f06dc116638b743d845d6db7e31cac5a36e4ae9ffecd94adb66664444 b323251de2b9dd1356ce851015ff11b1aaea91a4c2e77fbc1983ce526c0abdfc aa14399fa75fb0ddf3855fedd68cdc381fafc03ffa72e09e88e686ae735a6778 19e3cde53537e435f334e7e436361f269f9c11db1a75d072a5f35c27f0800cad b3ac84458f286b3159532f5a3afc0beb5fe0093dcbbdbec4237491d6f66e8243 76ada7e3fd178047e1aa3387e66d656274882f49a91e8fb87e25cb48039cc114 da76444dbb56f1187d84823dfab52655ae9c2e1d390a11895bd7688214b9827d 5e40fdd80abf41cbdb850cda50080efbbee89ecefe449c4dc6d87a47af4b9966 3da9b95eb3c3ee4bfffd2a8f93e423b1118c7d11b4b6f5fdb8b9cf139fe9c0c2 6c1f3ccf7ab0b97b3c76cc1c3a24ad75af49315b294b43e9ab1cb66b572c8043 7d3f2a3c832ee0143720528f39ade6702a360e882e56f56db4a8c0a1e7095c98 769791fa6dc67fe4f962b4569a266992897176666f725dd0cf66bff084a82925 b32605eaf42651bde7465ff9050c0739655c7a82edeba08e98ffa546342ef499 fd6ce8ec39a48f21461040ad8762a03824317bf34690408460048b7d6dff04f3 c2063b1881d823348d5416ae40bc65a0ea7c68b7ecf369e623085203aa767e3f 70dcb8c5b96690acbeafc80b6b0d448b9209bc7d0006ce24ce507f8640ec2ef6 750844e75ae7c30c105187839561769fcf862d5676910deb12903e6cb69344b6 044ec2e7d9715da7c671ea29f1fd18a2d77ff36cfeab01eef6a36ec33be11fae b49e97be8d32369a876e9169a6ced55760ddf66d84c85727df89d7a7532dc9d9 5433f9c7befabd0fa323aa66eb7735bfbae44842f37865dd5974ee093c5cba23 ee5eed0207f62d561b4df41b7c9a86c769a2a2edf9bef4851419cf3bfb0652b5 1f3f090ba92f796d50eb408840e963343a2524ee7990bb844e7c758bf1592ad2 937d7c299a0fbc0514b423a40a714ab26faaf4baadbb68a8ec2a7e702fbcf36c 14cdc3db0d88521227e8ff4dac824d3240a2cef70cbbe42752fcacd3d2c42e99 5c49e96a5ed22dbad782c7fc5ac548cfa3aa89e973ba71a150ff7b07dbfb7280 f74f55653070743c40098f4f6f211c9465a331d6a539e4871fb5aa6513c4ea5b 264013c0562f4dfce84588d210c7695cee8630fd2e225806a88fc265df5ce87b
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-16T16:21:29.316109+00:00 74935737197920665739966775647731189390143654110050 18135068829101044811649100976252297888818038678143 77120755944224526664456790249760556893696045724735 22348926579608474183672383853633178427441797569281 11463624798457998182797554825039843008990910292757 21210127227427061702568367692649976310747402026868 79353729851986331621177770456494278825318208108970 20575967957633954056317592631458363474159003202553 55535254543138595617261714659239281273797232694340 07498983479058119509618990963516451030671873672328 71705135090198163647736930438426377203569320186877 87862425323061813885745646295710173791043020853025 94641091653312800814905868567798227175755302616985 94799575424347357717402517808284851959929408316022 76852360182858367317757349914175677128820787442867 25634260314620553282435773124254143646860980689261 09925218514509982798808654380546371318021114930291 32684137793805388189709505120757019222306042526570 52465308576443337016647335986056364923704464329604 39250904940659242935524184227464880160240483053508 82037018266312849785024472907511071368394609882500 06368027346446170868909512168135314997185934458618 45131844620882476882047894139367981341246227087101 63109559317480585190415054543510450566879609328739 37678345845199908915633570021953918672662001891609 60928635940207458627772724543499056262903320255906 82813163091169472109806436649952583736214487327824 17398942472524415415880520803564101374781170867387 04684226124788082095133682183977723077506462128739 82729646539273069445863099909772637037158613618023
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.