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-11-06T03:05:04.877213+00:00 3c24c61a5c8079bfaa102d2c2917e556a54d9135595d61e46f339e7f6747f0dd f516cd6cb0efc026549e52f160c0e1f5eb6413f457b54eb1814953b0ae941521 4cb2ee808f66aec92b7a2e4979a4b0ad91281a517a3dd201e081e1ee159674db 6037eefba0d329751017671461b3367f5ef714a2238fd364f1c34bddb346ff20 beae99d6c1032ebb5f2b805b44ffb65b512ee8246c57bd949d8037a5a826ce53 18580b67dc4123290896abf88404994cd55d4272a4b9f27b852c72cb78421297 03a579c064750dc9f0c1f7b4d0997cbac82af90b2755f8eb8a5c04e018e0ffa2 2e7354af852bf566502fb4213a90893da1edaba6ff329ec0d4874690f4564b9b b17712b9de352e1f0dfd9e9108a7b884ebd455102cb7f5f31250db65b58f2642 8c702ce09b47283e4f63f93302b08bd51dc8b514c23ed3f1c3bf878598944aa7 9dd669bd91e76799e92e55260e9708e026ac39e2e882ad7d3fd5e72b54d1dcd9 6ff3dc5717b4c6f08ceec53b751e882bc1036bfc3ba6e0df45f87410ba164412 21252075c56514651c913692e0e0c602efe39256877980b384265776755c4762 1a4e5acccb35ddc04e7f651aa3fa4176ff3b66a98d7861729cb958921fff37d7 c545a0663443801056760b137feb6641a78f2990ea9088e68a9dfd4dace180e9 cf80c32bdede779538e8e3b21ae913635334471d81e2bd60fe170bb7d0b61796 d9138c45b0bbe04dc2f12198ae132f1030ef69e76ffc42bb1dc7874e41f68c36 9eab6e9c5a4e9eb251eea0012e1058cc9f1a89164e8dd0ed57ae865e2e0e8390 229a94cccd86cc95a5fbce1f92e02ebdb094c0a388c24d8c9ec015c5a34af5d9 3214a5ef0f645f358aa9706011a8a1dfdcf3df5dd4303dbaeda531f5cdd0b76e fe0a86c0094ea8a6176f2b102657bbf305aa8bc2c5c27dfdec26521a922248b3 825cba1c34d05c6a16eb64de0f966a54556805273a4f970c2af05f227eb3541e 87445b82aaa07202f7031dcbf38ee94e040eeed0a03a110f9c9736c32a691abf 0dd3c02a152ec9f9a24606478eb4e227ac98fc1ce0169d03a44c60d6a02a2193 ab8bc0d7a68365027c8bd7887235e84f8cbd57f47e47582059299f9fdc6e44c0 80f559031adedb84631038fbbddc1b9371e2c548b4b480e064fa0fdb070b9997 e1025a3687f8dcb659a8889cedf932b565cd5012434eb66d451842079a56a880 c2b42fcc57d389af05201812653c3726b10a3c412e8ceb66d5476912e4bf3599 f3578987f64699b6460fb94cf80ca48600d1754f447834b0910202d2fd139bdd 4b91bbf4ea7a5dada952a558924bb4256ffef216f7370e3bb205675c47756cc3 d2eb055d34e98674df49706738da460e5efef55159e1708400cc0ea8e94d3ec0 955ab753de10ddee3367eca4c5293f29fc957a3274016959ab955a134fbcb9fe
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-11-06T03:05:04.877213+00:00 60369826922821917016454441238665774553899397115158 27037122087692388458829692001987817877297383767448 21337678284302744322467321647673454026812261012921 50169655604117162303209779542794206235430095757970 32907453930346879543289168829181463608878948572855 65683883248811036535410850713204537693661464852333 44142066185103652192001713938053248642113985389204 24624615847533430280478033584437616171665058923570 44867555771918855346311358450867843285164483188001 81433866401244557140627999510276392981209462959135 33524874675705894503534685381451083872573073256343 84118723809840975917303643930307596669161686226818 33373217970120012845544698024686352128793238871817 92719826789053927827012663651859026941209714568588 46315597696002526728168618111927026567434144443638 57777228289543194956782619998352712929899623118382 23501940697687779433527419471648051166872999357865 40545871105690785878816001461688592637227841877434 94461431443454483449653146468976489263369477405892 21976374502065150095533869129617686193486186654983 10103492097868662311431638878705703994979425388226 46347279309286285292062200155006848504053958795112 42953426798430356891307060140203294278041460581715 56515495420526911392422146627006714280397252282257 03647696604233477139926631010224393614537940898726 71883289415959106892288903263299165689274713977280 80280015071153510290543582896836565081018018677882 09692466075486682894804787377505322418016055387710 60654640027105189153538737357053827015857612643400 17796820527645020219557545872293736982658846758037
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.