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):
2026-05-03T15:00:01.432277+00:00 4dfcd5a164e02afed1e5e31cb0f86c81debbcac6c576185f37bd4c565add0014 13cafa0c11673e5c2706c121baf78790f034d5cd431a6aed6aa8adc937c62ac2 1b19395fea790717b3239da2dd26a220b7623eee17a8ee1a3a051e9abc9455f5 147143e22ff7fc96bf46b7aa1d70d536dfc4e3a7d7d2c80354efe84c22ad2737 eb5de07e5701112a30057351ba16f5b289d8bd481ea7ebb5014afd83e402aa05 164dcea57d4742b0b9982c7ea7affa9f341b350d9d899542ede4f612d7739689 b2521e61820157df82233562c0b933b631ef612d5f9f38c137fbc34b1adca673 79535c5d27d0769700d3b30093df807cdfd0705729d9878a6653734a371b13ef 9656e466d78821acf0910fedca9920d95c18ce7114530b3b2aae431e491a9cf3 9bd462576105cbb93ff26db56a4d7ea489ca9adfbffd43e3823621bdc809b0c4 fa05ea09bd45542c23f95652eb7b2302aa4dc82fcdcbd22137d6df6aa80bff02 64ff681e575160a375dd775f766c4d0d711d8332fafaaf7a1ec63d195b2b8eec 01a313032a2ceb0754f299d851ee8e3b4bef1fe0962fbc7bceae679d2497e850 72d203fcb084ab861caadddd8da2e5272947fee967bd08af2f44aedbc202dfb0 9b4e04f951e75103609f2f1656955ef692f869bda5ec188abb3b0d846cb8f388 ae23e5b6e543aaca578b5044e2299b1b97436904cd991e0e3f3a7acf78514182 19021332003a45c5883e161a45e620ce0107026a273e542c4226822ae7b3a293 a80f1c9d6b4180ddee87c1f1c749e248c8d57ad01cbb8592f3be7e701535f466 ad74f46d1f0fe05cc0a9311ac80d4c22eb81cf0bb2c3ed1b496b46f25df78469 c092f64125f28e8f7254b09b7998826c701bb66a72c910045242332e5bbbe9d8 00d317f0d6fa1cda9508e8bba40b71dffa06c10a7449ada4ab6e2037237e9e36 531a52c2cf274fbda3183f4d41ca048d81cf6f711b7726f657a6efcc3c3d0af2 a83deadfe5c2e7cb6d24eb5f50d55d65e2d28dd3ce921782de1129d16ba238de fc8ff2ca7a7503522c557004932ba70670f43d9016ee7d9f9b5651b6da3a0083 23eb86129ec7e34b1b72679b58b44387015e1f2a21eb754ba1c76ead50743e8f c51198fd4322fcf84f5baa9cd96eb49f5a99471c6080b7caaa7b1031324e2d0b c8919c3d70081e181f9b867e19319fcced76eda3c2b7b89bb4f2223819f607ad 2ab416710655049500fc6e26398d98334335f8c503ed70532a50896c3dfc524d 1f7c6b0a1d26526ece8dcd933f22e2617073a7266119e1794776fc0b34093f26 eabee39dc18fbb7c062bb45c603f341fe3c8aa9f575c4906b355734eaf34d96c 501fa9b355340c5006635d52ad4b17e013fb953aa1c9e1a808645eade8a57797 93c17cdda8ae70c95e0aabb336334b3e98795cef0f43a509b17a5b211d7fddf1
From the PIN diode (hex format):
2026-05-03T14:48:50.630391+00:00 ecd7df256d41a17c874da7b64748580166c14e885a7329ea7c2d093424ad20ec 65c595a23e75d53e03e22cf9a44fc0a8f9727837c5cc08d9e5864e695add8f99 5d97626cdcaf3d8a02ac18bae191b484d20489b4c19b0e6f0252cf01cf5b0b46 00e671c320cb28e63fd671cdc70311a4a084d1d442730cb6bdc5f0b20c297537 49a8ddd87e85d4b47d1523de7a5f51965dda88230db7ccc2c057e85869477fa8 cbab61e6f82435427d5107fe31f078e2965a0342ca47eb0608827dd4ab8286c5 eaaed018c6171ec254cfd4d9c07ebc33701cdf6a8df0bf41a6702e2bb05037d6 31ab8aaa7814e5df1489225012c6b1fc526ac8520fc0febbb7811d886854833f fdda6915a4fec56e751f8e9c12b786f3f47e2e87cad561e944912cbfad7408e2 982a85e394cf894ab50bae4aeca2d761863914ad16b6651c902cd0fe3606934b f6f9de31d1b01aadd7cfb48b24d0fc404defff4378c8802fc13584c1c1bc4302 22487cf20cb92e2ab87c130c7e2abfce7f353546411c8d13468a317138feac10 b91d8cc6f4566e8c17bf6a3653169994dbf24cfed7e19df53c34214b2c9a44a6 4e9600b019cb5e428911ff585d1a52a2b3824074c8e787a7c45bd075bad61586 43e88702823ee79faf2af82bbca72cb8e5cbfac542dac75b101f8ec8ddb64623 a8613b155c77f74b2ffd0f3e9438ecbf9c92d2757abcb3875a302b58c2c2a7f3 8acd1ad59bf2e04daeeedbbedeae98bba033750a0998c9bb68c16376c60db6b6 b498249f17b26f89adc370e177a174f5d4b13782ae90420f25a54d2b85558377 4ad0d08ba826da7d09ea5b9c811933685b7da6fd9a1c3794109a3ff420917eb7 c987d3f1b8ad4c0a14a75539f95abb6410d877d4be91a9fd008e3854782b2b2d 0b29431a44b6323be2602fded4a5bd2352d754e00b402f0369c1420619aa386c 30a497bce1ee5c37af3c57d15b9905e440fae8e2192723b15a1281d8dd825ebb 2cffb778f95fc98a4dd829869b75eae7579803760378341d2d6e02e5d878abce 90322d2ebdf6080cca46c03495add585aa1ec5f749c2ea36fa9ab8cb4ff9e809 db4d4285533dfb6ca0fa373c5253d59bcc913cee99742c3fa71791a1fa11758e dc83e8fa0611d44ac0d3f88d3086bdfdce261c04ac801fc75ac6927aaef0f35c c587c277a7ad8bdb545d44a01b622cf3371d599113b7db76bf21dca9a96fc30f bd0c7c6a6401a2b045910a3cd4c333327f4da1970af1430671411e054d9373e3 cc3340c03fd4d469e4ed4e9cb89bd2ce0ca8c09aa6cb21c87fd8c53348335bee 94d0f798bc65b41377cb2f1ba2aa8245c5f1a82ed110c7576551efb4dab9ff8f 07ac7092740f93d7131f4814ccf3e061803f014cd14b6f7fb9fa861892a0d8a7 35cbd460d66dc5c10263e256ee3117439ea05f272b18a884d76abc5b0e75088b
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):
2026-05-03T15:00:01.432277+00:00 77610042287608298798971824955589768690002019121703 62923906933386354452672606066873559842942725579521 07237935576238623283986223682658053054884885201367 47509170837029125496670384763473395593268701174248 05158186227837897230678101743102700522776525716676 85524426677559522753135737496618155037788230973001 87303553989285518249974595595693559575266615218392 93391851007900472824128741353802831574552719508602 36337245155332922413208311594274673073265655988797 05856309810677266437549167305433890976960509896984 44358682233502707747335506681102000430878196631719 95180877131329315075223098612591434201631903424407 84538142597531504788237403573651801403763271342870 41623941710389087547687494027655780481810396594722 86499446058965243887591332088436743582677087398068 41552751670504533014635822208165302502195000586997 36622226693201070206396284446638304279624768152857 07652835939973722228873346902612215302731609311592 92694926137634291178952773077093320592466537424314 84765521523008122782061416048266514691870023284908 87641113069310167373647110325535265854832682943979 89632463776504412911132719388766606110686194093695 80930141462330174107625643221703824485120447436706 12614422255955868182580031353418589975271403558880 67350194314233177561991073801662439717526734799170 56108059905371289628837023164950784511455661120830 24315534262549591863948384558034562507734280221306 85044900103857415251675397031283428037086182773124 07102938821041476334971215673897252171181152096338 90579343872406438092966352317059879273067985157875
From the PIN diode (digits):
2026-05-03T14:48:50.630391+00:00 37096561243577678271728801029378369015412445095236 73320197496262176203446479926814205597083478059043 53935198087561380272248645803204378093551411028201 91117000139532406313990317646032661512828997781241 17557368263380252135229581509336351383949287880571 27687197365366258107492050900366710608302571303497 74249823309484922688511228064191656612464376805549 71387020202037348018987782068215928783292936048431 63052164971017314256188334264635976845449173160852 42334837748111747462973457207322820128444454064775 49762673803936647767202847935332939388670234722412 85464284241912264291275353706528411970384913567216 85294098861040239106548322534876576052337544546866 78500076259466371788932682627930641635679691178621 34673502306259754243886744849766999116314282703568 97592192197547156248569156461722887935904843889494 67382655777490745287605117100952870493991898138282 80523659237811377395121961167755307444661537657743 33853119743968382509915629255104912566542855481654 63324526833584737610206785579087001619904569004256 84204343451141672668825059964765893582841164470305 93660625705608486451889255756087915305642539357790 18293094874483209538774134551787520318032052294510 02207144504546890812709252497333703097739454548479 09776633836108605560828355456053164463672345611717 42310617749241483489382804722831999098462274929735 94196773398493686027984455298945198318913369691195 15891224060001627669451060955150277761511067061365 30057747155164926305785684551268925466332797517251 91485288018019194727627030699768461699870181808543
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.