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-15T06:03:03.514924+00:00 23172059f1090c83790bf6b3efcc94f94be58ae00ba2875f35015b91f4230d50 832c69bf1f3f1852b27f36bc94ef1fe47cad5a368f8693219e9e5b9f84776c7b 09c8381f6600600fafaa77416ee5ee5cfe36b4096cfdd4e21fbc27d1bdba2d1d 18938f11e79be0891471239b4378203caab1692fb6ff27c6b1a69d7c90f25979 0c4a76c82635e65168f5e8a96a4bf049f82ef3c78b2d0256e59e758ed042319f ea21aca61b2490a834acc8e7de81b365e11890f868d0b64c0af7217ce1f8a629 89b89c07a4c0ab07b302b6e00a2561902bea517c633d186a43a344ddefe88535 e96babece610197d4ad10bd84d89ff63c9317786ce0e670736da5cc32a41af43 1866cebc988b0609d7ff451d49522cc6dc49cb69a4a22e34c1d53d18b813aa96 8eddc8be222dcd7d97ded287802772751fecca447a186b9a8da09ccba552b0d7 aed7c1f0224c6397fee55fdb989138ae9ab30b8ea2b7d68cf8540cf3fac17483 d6044bed0987595c87e180e74eb670d864d4350e6dd17e1782ccbc7526a82d63 4810fce03494ca23fc966ce6dd3c3d7acad7be671bbd09f4d21fc1f3e073c73c 5c2aac04b5820cc2e5370a604915ae627529e5b5860262b6cb29512672ddc8cc 258f30d652f81af5ad0c54bb14952469681da138af8d3b94619b5ba945c8b977 4d4232ea86cf5fbdf4ac6e73a4a2569965edab4d73258ba82881cd95f3b0ffa9 10666905b2f3658eb5a6be8b1e83e4e75c5d04a8cf5681d99a895b32ce6a1cb4 66cbd923fc89d77a58b7b5b83cdc9a673e7ff15c7a091100b2fb0757966d8725 d41d6894527090f2297dad1d0a9534facbeadc0faaa6f4efe25308ad925405c2 1a78c5b8a5e357f4d94c1f280576f51450c95a88997f7e815669e1cc65b7a230 6e43a0b5d5f85fceceffb6e2849804b615adcf578721078550df310f9b338068 5ead8a471d8dd0a93fa00a0e9f4f9e4277654a5db1ee2214692f0e9f8ccefd00 4ee435363565d8f8ec0c74314b667df86071d57646b9f9231e7f80751c590340 a0c68f4f7ffea0ff8a8ff0e74e939a10f8a7820cc4f4e316201640945d98eb60 2c3ae91f1fa6394409e77b41529f6cd61f38d7dce2dd78f198deb1e22c73dce8 9da57b18a936c3b9fc608c1976c89a9e6b59b05c313a8c3259eb9cbcd6678752 ca780ad2ad9e31709940e3b83df871fc1bff8a74bf78554b5de39a42abc183f5 b293814551d457e731c0defb71593263abbd9106207135652b3e1a4915463733 0e68a00c803b4022b94768fbacad6e109af84de3fc98151010a16cd4aaaabb1a 5916f3c838ea3d6d1c5f4df8f7a1055432d8c3fb23b6fadea795627864d32727 ee88fffd0559b5ce4bae108d1009fd501df8f089bf01d2b37abe28151f70a3fd 3dc644c141d5217cc667bf6a24d266f29466d28fad84c2ce42687bbd14b7ff34
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-15T06:03:03.514924+00:00 35233289091231211179487538116235955301914535138031 44059131632482782754884831247390544334473358589159 32190823095631020096157570196510925480090831883989 86452924474317553720133555672032607077054782399877 66572444892112741838538104690675734699394502865817 42664959337266273644685272297901244404827610332466 41378456076492710779028210379744438124996124066763 68335307711625257411773799491934140307549295426575 67240288523906096929738244987305646246529361248419 70504290344525513528391417316822240754416056658276 74933476995195524556745479114262834084129316310475 09358992352878821200531409262330881738684599721652 48355008606122900327890931931599609242720481301294 55109673217498174181340298824181381437434882267312 84872049360504296156754159489755916969851977665034 95897210156462865301717715373968402949766916020505 78014281669039303192930468862954379150062880023537 22888381846054036227922209170078078750093537290448 82124441257329104952157066830873468405942620978465 87763140051820809036532726298605018362481067608195 82325204822173873533073380491555512804947338712941 69636010145979586619017493773420054714594000785354 53011216497502259613187085353027281728890364609843 79276038437847541667301296223222644893529644583131 66576809236582590831562052774415576523246954958596 40251854580789769249584050895688033582201073584912 53648461132738169120857593546671933178472969818749 92138950997189450632135301436226732170555114046012 28596434857104727310165477522116166108707087268922 56610928957761058450953582674998200039393605898175
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.