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-27T22:55:31.351683+00:00 c13c0fb1515b35a983bc5c2909761d378920dceca0f8da0665e733b31679c7da d17658a036f427ace27bdcd9dfafdb134bdf8fe898baec07ee1260e220dcb113 c9a13e6adbcfd65ed2776d6a52945b059e704c47cab5beaf1a9671fdd4044688 ac9ea46d8173f045e89db3aa6be09aa7f0a8dcce052652119a1c25d0e92d2ac9 1a52808ee841b41e1d6e799852c49ce34ef8666821dde15700dc38c419e42bcd 401f8829998b9cd100c8bf59e1556e858167b44c5f05f253894349297a9c040b a812cac0a264304b20ad022af3977de7b41ff95e3c3eec8381c3773ef12f4483 a0a0861c4d3626cd042033e3390dc70814b7b84f81b9c274d751ae3de0902c72 ff1f6a868713bba59874f4fcddda6f7d94570a9178434afd1c4254ba71d816b8 efdaa073c35af48e9145865357e2340d25e2ebce5ba0f2765a189b025d5feb29 f17b5293b6da607ac977229db7c816573e1b837654f9f3840f92a99c149046dd 56927bc93f8f2c2c30a3c5e769aa56bd2505806260192307aa5b84615a173d1d 4711f5d195480e232498277d0b75a1a7aff6dc54ce15b1e74dcba04e415d50af 05c4313785494fb570b85d5a2fe9b0e2eb19d6bcf83d4dc6ceb82f01737813d7 86314e11059a4020311f39dbd944aae17b96fa1101b23fe9d6285cd2cc4204c2 d27faea083f414de660b6e0818529d2958e601662f2b423bee8c5e2d77082761 ad5266b80c3b41a146416578741f518294dcbe22fa7fe638e5d870b6f934a1f0 0436309e7bb732af76920a578d2442400368fe41b7e3f2b9e0a948cb98f1da49 95d44e669e379a2192876ad37d334f8f236488735ef9347f598cd687884a9c23 55f06b6051ae9fea380670d0143e6bbae9444ed2520636588c756d59bf7287b3 b39c2c77b99d180b5fb1a89502078f5eca617fedb6c809f36d89a2224d03ef3e 9e21a486fc320a455786791540e8701cce3907c4f1894ae32a973075bc599f4c 7979f9e3004e31f07ed23e806f3de29f866dda8680a03451e28f5b10ce92fd52 f82da65bce9a32f074e2059c6539a98519769d27ded29cc81603135f4798a0a0 fd87f53d65367539f84f582618aba9a5e6dd1fc7ca8929cf8fd8b3f221e74c68 97df630746cd0b3842e46740254109bf6695e467da673f516cfcff3930c70c10 f53265fbca6ff75cffa7add6b0ca14da8e78ff3e84b2bd2feb736a05201395ed 662633dba794097f207539da243a4ee4403dfb02827c77408d99892a19f5d393 02c26757220175b791598a361022a5f3403de2761d24e7f39ab48423d9c16e05 6737414a87317bc52f4af4b940aedc99bc310ea47a1b58f2b352beed29c4f6d1 a8e56201885e74ee0895bfd59b87788a2f8ddbec3ad476e608622c55a83ca81e c4b418d002468bd865ffa212396f29bbd270475b92e39c19333ffd6f4feb483c
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-27T22:55:31.351683+00:00 93601577819153693188924109182955373260060151792221 99188860543972237519754352860718963277196162069419 09068248910558127671819075265013047036725864092915 69577970075467680538821754283745422682284265803029 10215282965678020433870056962543643136415339560091 89851033290380769505833767734122560411681892620048 75327302425125803194606231299519624768316060342877 54380432515713990820838479298594168174614444143106 34351987655216112548871045206774286684861322846015 95904245693483875213379160189024550293954123824782 96221934578322876227311884321546695620447086462363 43444448639705708689370528989625350770913297902361 29711749721435365239251117616775842177776078659380 75059649553373798112849390477625886177988447011520 19344978170554643249315768702350170178634092660494 27746031200211100824825741880102474366594094451908 39977382028412596561706501201631813048903427561282 52610454485823835075184610874136666403046583856972 52734978025855543346350625517943350036159452278940 35367456358507968174595606122062078668788206548840 17098991143579795644198557241195776849020743949727 82090937623477036258336434501069873421216412285707 96377442514817888959762121007849266228116159340934 28605281439116468245669154501605560157693325185739 56220319957152606035610154175779883824716965319937 41437933760451990770115666036437650991024903036381 08574899121650011192677376204220623278894715060532 19490238516748092732175736587864610230241964415337 42254702940387340117834589385416346564611829365480 32359310050355657435492397477485647453884914642227
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.