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-10-22T14:46:02.442665+00:00 9aea3e0b7e57bfe60da6a4b4d58406fc801b7d49fff0c84a18f62ced775d3f14 d51e5356ea53b89207840a19f2b9a545b140a22ebbb648b9ce40d36be4a63ea9 65ad3a44759e8edeaf52658fe40a690fb82d61f74e9e3191cf66fdd77e41e994 d1828f9afa9e5dbbb7e640b16e9d0f0f43370baa8a741dbde3963c2f695a7a19 49f7b99108c3ecb9062116ebd25d7697863ad4a16cbe6e488ed6de8ae22e2e25 15cccb596e3a1247efeeffc3f91f557e3885f616a6e25e31855b35f5cac72ade dc4f683ee3195ba0e2d221ed539ebd8de9ec47fb7346613b6e9f18590fd9b82c 79dcb7c1a7703e04943e7c834c45212afa1a67f139fdcb63b859eb8ed1a6e3c1 224e66572b048098549148d2ba0427db042f75cc0a2845633071c3bc93aa7215 be8498bb95be6e7e3936dcf4e65cd46ba7d1b77352112b06d7f40736a435f61d 54bee2ba5e81799190267da355c3f8e6b34ce2a98de395906a41461eaf583b06 a0384aee6133f67207614d2c4ef59482ddaf99330dd864e45829a9d5ad5ad875 9b761d1726b7cf002c34a5859f92e4a177f6e68452f5dc277ee361ac2fe50ea3 3c61fb3a725fb9604e48cbc560fce199537bb8b1a31026a2143c8a22074e2c61 43d6f660241c87a25f50a3a33a34a5f36f6c9ea7410a27855f86467d0a2dab9c 04ec278765102b3e7fd59a962a6eebda5b33a1917789ec8c90d249bf6804c3cb 5b3635ebe72a0dc1cf0403f0a0eaed9eed6c5d506affac72d4a372b951841498 b87224b2b55ce223286c696b59f3d1c336dac8f29aa81eda5eb6f551bdd2a630 42ee1a96bb22d488b1eecc6c2a6bd2b13687c36081552210550d10143525a214 21152814d786b31c2f3eec0b642dcc14544d6667586a9166e13a4a820df285d9 2dc8c120d03d6bff5d51078bfb01d702b1684654022c2be6b3195514622dcecd 18e8f2e2605444719183b235c60537da086da597ac9059f205ee1f7913cbebda d8d496beeae07e46cf6d45b66dbf51f1b210d54014eb11ea157b50f3fce87ddc a5ff673b4781c2a2fb43e392b386861f10eb1e94ed7b24799a78ea349dfda6d7 b815f7804cbdf2f6aeb269cdc9c6d95cbdbbbb63003a8057fdf1176e05aae0e3 4c68239fc9370d4533c6091b5f01c6d7f925a5139f7d35864b16deda79cbed79 df675fe00e126de4515e7fba1162b1187f07296a83fa9da266b0b3686eeaf96e 3ffe46d13720a1dd402246c8973d03d48d6d540d6d3a90e1a52792671a5759ee 39d61fd9bcc3c83ab57c92c927c86853f6cf74d82da629c397471fb2a526bc02 234edd45bf2967b171c22df0f3c5d0c5e66679b934353b5862e92df02f55bf74 6b729b72f955d783df51448bdd6d2d98ff1ccef1bac0c29f8de3f9bf15669d41 1d6a092b9124bcab52cb3cd68528804d7b46d9bc6913b477c2e397d0c4d13917
From the PIN diode (hex format):
2026-10-22T14:41:43.642850+00:00 789f9c3dcae61746de69cf5885f03be473d88d17d272e7d997714022794b0f3f 53b8ed5f4f95af98e106b6c8eb1cca8f3f3fb8f76e233af08e8e6e56aed72f71 53aef978dea26fc03e85e77eb13ba64878acd0e00c2515860a7d41f0aa91b37a e27918e03192e6f2b3e3c33876976a0e3926d6a9265a3652c6e405119ead33dc 7e74d7cd8d63e2f0496c686cdb9a6cf1f545322e5d7cc79e6a6f38828bfeb8c2 6c22011aac3e0077e0fb2e2581c653776b2a84682302862ecc632b06d857a12b 3bf91913ac053665003f93ddd338b56ec936e8d362ff1d125ee59d7031f8f259 e64818c1309a6e76c46785e35e7dcc6ddfa504ab9cee9905f27d6d9d20602951 83010070aba4c2d95f9925e71349bdd0b8ca321650e6bebb7e91e682219330e6 f2eb889c50cb0f51527720f40293944e3abb950fb1d911f2c26ce6743a9766d7 4171fe480f239d6b3128461ce7004b311e9fcb11677a39f78a7fa18cc9308903 8b15ff79a59cc08ccae6eae12872caa945126d790d1945a82059256c9a969513 664a0bec0048beeea4b5079ddc82ab09fbf2cbced0e057ef8a0393d324795cc5 9190c2fdf7bbf8b1849afd837da2c2ecb38a03f7ea071877837fcb44ac407d68 4e682c83358e9afaf2b121eb1b8e58e157ee218d9a50727de795d20d0d240210 134ef402d060a4345e9f2fdfffbb35a1aa1bfad90e06480de49ad10e0b9f4438 4f54b188b421f430fbca7e0330ecb7aea594b6b668c2eafe095ea16d2592950b 2ec22047a3b1d378a61a2849a360e7313873df2ab0d9f09c753b6b4e693887ac 1803f86f6881580fd49b4f9c097c7faa04a740adf758cc31fab5b77adcf1c57d 927f8fea87629b4e37ee73542f97205c6269c3b5ef4666dea0e7513df2fc220b 7f4d46ca62c9d77d90ae46a55e1af3144ad8fa86c035a244d05bf73023b661ec 1e2a8e561818fa39a1911e77eb2b9abc95df5ad045675372a06248069a970f21 86055d55d199cf20abb9df5f50d12c16670d29243215b4aa685a0fe53a051121 ae639d28d075bb9a36f5eeb3cdb9818b306c12e7f76dc65b21bc5f0766ac2c0e 8d644636ed6caf73ed109657913cdfb81e35054caab957a018750f3f8cc0907b 9fe9d25a222932bcab0d0ab1da55ea9423985ff6d90f51aea157ec2db29c6b9a 4e4620718ad47ffd59d365b4d8b3f69b9c9bdef02a2ce358d6e6307ed8af1d7a ba3fe3e5132fdbaa400024c20fcc9da02b38fbbf2323ab9536869fdcf99a98d5 3e65e18415d780e152e13ec05f5e6e4ce5d3c6299ed793baab8a37f7fb65368d 7c34335f71db3bcc4635697cc86111579329cf7670cf4644d0a2e35bd8836149 c1cd5e1f7414908ce0cbb4ad100476fb67bf8602d558c9841272247808c0fa07 4078cf8516c27d072b62457f5bdde2837dcf49ac3c2f079c8cd1ad1f6cedd29e
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-10-22T14:46:02.442665+00:00 54621126879113666480320628272573742444199363203083 86838446073210258565697764624687827285640766626901 73586817584275820143100515844597785849450226654830 43545893878364771057151567551170381629895060470590 22257385450895850633229318513458610890107242384646 37218910581871953185265633226694493391539942790462 25916033835889417115709759105924891584442183936712 62044862243176693342260357998489426693347802874304 28528445728604390447171040699948139588477014219032 52874990102657549207678315821743060754645329849086 94292145443825638595797669414944066570307588590660 56749751140797774478483075535113008841697390175518 29233883004452653359466119328239269772471463609758 14958596787297965383238477631638622060383407784497 67963628356295806363585265110858676510393395347025 10457156043935011643622754504210915161451937404473 91040495915453421393040360580893800672146314858132 20528414367881923540080507899554546830948281896648 66265087343677084207775435959629853416851316205337 62203321402034792847621100452084770203880645025874 30133345933261079381073901027704708402444379258520 98452496846813453178539805550809655172448905312119 50902670096982099181781664201721238025650359712994 62674679343431163048233621542052576684212876897478 05989289878799005828872310057076043559551369519809 27950198376519592553347522212103951418098194278617 98772427074106315762027679041010637055326164347051 61034109841309584465394603268789573188955881244639 04831645664195517131786538880235786991410377139445 97970221855253598898454785911607145514853181683909
From the PIN diode (digits):
2026-10-22T14:41:43.642850+00:00 20595661237005883359154123145113643421751563838495 79497552068228436363841035584242108674471383742062 11926233267759667220721237213410256570457922212449 46799556185106145738693890548298051758735126164199 73080408540869504693249958061156303984940834012672 62001946372998831907423204350234469943068761435925 19720554010063475681105498291894571249897224934854 10189603339425096504715653052509573296418131010012 71649495533719738984502280908726453033474836568015 81821932024748785887491577179408165851026513721535 57074940702800754930591703225738276140483703392121 65569240401469691809211325696832893708545049190274 11007290648107573071098738034736219297454494877732 54312562947938030724193127687264250478044431534254 77332742888733415480142549131336021619780296645294 59478753617027140672135414115968567984773680334826 03488374654882820494099461093746491146943271637720 66264073639649561542765617590778055635722403110429 88155579560924277004676473884981832297254627433598 55785515844751329298059581700260816134112777709825 44747065942620743492536268914835829730424286242457 61453019435488499069038314609872065451153334059385 53327185958044220313413650218070049015580517337499 57401787545479852939480818099891338895070272441441 00705408751516508745608430530576708587602417156340 92442359903441508871131077854835529515817461874578 56075478703213382789018079555655424488482675292286 63194770640036941557604356913535714954345954526201 32212882629295941076984158478671385501544124525195 13597053052497178747411812706862913197739394311620
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.