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-10-02T20:12:40.536385+00:00 5340f894906d3cdeb1c8d2f193b8bee501e652a1789228cdfeaca57b0dfd5a15 d80af1574a53f09da8333302f4315ba4edf2339812367137f61379401b158f35 18415e97710e9271d4852d3e79814a1cd67b51cfb199693b3a50956bb2f886fe a8782518f121ed26f1ec983420a7f5de0cc67844008c2d80e4d1b14b4d6a64f4 2f043f5689cacff5ed0279ab1956cde7220e97a91cf81ada394033feec3a3291 614fd76708ffb6a0c16736a59948a53a27ad68fdcd0e9cb2e6a5faa5115c827a 3e3c2df3fbf21b96b6f724fa4e8cf55c71c19b99c05aa104916533ce6a3ab992 b0ce84eb8e358e7ccc7a99ffd69591ef07573e06b40d0e06dc77898834986cb4 1aad0b6f0db8865ab57f36111b542b672464c6be5770bf1dd8cec1f495a6c8e8 e37a27682b101088577e8e539c055338590152af99d7e3a34231237a66b38705 4374e69d7d6529fc25d49ef42d1cc8a8879320724b28cf23136153d2019c0de1 198483c2e8dbe9431ba7751c4411aa621aa10ed1e168022cf917054777d5d2d6 5c2f063fbcb42bffd1ca776ce837c75f0a847bb2170d71c252ce87607fb2409a 04baf0100aebeb9012954570d7e3f1c02230498a4221d7fc3f928b0bb1213dea 4b431a5dabb875eeb4a71c2a0853cd73957f51c5844210057e072e2d6d617a47 a5c4c69a5958a384a372439975cb191dd949e171e8fcad73bbcc43bc5b919cac f88b49b2c4512d3fbb5d1c99eb5bbb04809df872e1e6de0e0cb1e4bde0577e81 3f94ccecbaa1dabf132a03ea7a60b3fe8a3483cf967d97a0240caee66527343d 1c26e74c20dcfb49ddbcc06b6382f0a161fe8ae8b81d784ffb91d28dd2b4e396 87254288debfa104923f80b0b11ca2e3db826f912f16d8b25fab28ca5af499db 54bfd7b4e5227ffde54e4d81f38e23f486815bd4c85ccdf7109d533d2122357c ff5cd20aeeca2cb6164c628df5d7769d513f2403c1086fffb9b311970ee309a1 aa924c09ccff1c8c9b3f53c63503a745930e796f0babd098bf4eb08736400d47 b0eb67292fd95ba6a497c2753615e9131b068ab5aabfbff65e18b072c4bd369c 44acb6db9a49edf53707e67fe083cba07f3e49a0c9355b36456bb8fe97bb43c6 82aa84caf98b47f38f9034ba5cd0c4629cd1b6b2bc25d19b4b507ca228f70170 637c16a28b0edfd5097c2f043441386eec90906691fdde7a78077fcc18401c81 4652f83e3c06da02452f43fd22ae02678a053e75ca398949aeae0d441d4c04f7 66cb5b8b1e475e9f82bb0dba63b564ba27624ddf2e4da421fb4875968097c44c 984e89bfd2d3c319161fac0104f6a66bf4b5dcc2f41680e125fc74f44198924f 640b7c1fc93bcfd935327ff8b73f3a453620d2cac5a7a7ad7db5c9d76a8d85b5 75cd57b4d5b10ea9b40ce248fb2e824297179fdc35123873bc6c8c1099f4b3eb
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-10-02T20:12:40.536385+00:00 83644844096077478490018261204640726523139021108774 83576851510249916451521854135519216427214353246594 51131446133345622129742823817753055958804907783468 20372433385252326712982068004045287775770600470463 86370221712586341451692826576451585045977903088260 93035465537265583973041456786565179230226260452750 82367840921393555392906104450151065885467632425342 24225349450787620680131406193736525208802673111113 84349081275417278443033600989087129129934966223904 43161636872642835605835689018275536366493522027935 05671657250141375845286835473214754035199783015613 25323194672767172868177098266114040244230571199247 06638880431908559995103223782313139482359627786454 04861610441849691292344873386633634639117733617567 26937184178067284208831549278197326616052607464509 97227165969854898863326314675317252973137315876788 91455672397378968145638793285391870428571414127789 87262963488661911942032296793852315025516036127401 39526128387632738892079930619738842920794541805035 37663691610446632876772862301145472278957140905384 91803427787729423534299192165783613334532492104482 22769841185781633603930811857917511409617046760928 40556383985303676947142111117152917876355464137176 03414791666451941754211927063881709191942476149689 54566872825473550727316027627360539154690784518767 98307032397143445286929698568278883755758024624001 12992422623914092447045265561044440245222007272464 28297082626006026947673474020338056217573773747413 68297604029139307194593087138699810086399877467764 33721750285196765278379195252231720104660781942228
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.