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-22T11:55:33.803315+00:00 d018943f67f07f1366d4304106c2b69ce10e0b982ff87a0baa96f35f408c2bcf c93e2d0450558a6ccb810a98485befe209ca77d7a109a82ee1bbec0a95083e66 c9774d4d560094bf2d4c197995125cec931a310cd32fb3590bf89f7a3d8add8e c9197f5b0f9c3600bd6c5436939fb08cbc3db6d6fa393b403f39a667b4dab978 b64ff6b5fb892d1a697062b0ab7dbb97c9605846209131a1fcbc5ce3929553f1 f1fe2c01795724db30b38fdd481660a15182cad008384cf14345629173cf9656 babf9f19bd914b7c13db4528b257e17c9d83be2e091e50871e1af39694b68a4d 9f1cc698554df865d13eb9e0439f9f140ce61502eb3c905faa2047c20f720d13 a94ac034e9d1c406d9e2298e6e76e436b1a1294970d1ee4b3cb171fa41cca371 cb6d2e66deb354a21489e9edae66797ecf68ae471a559aaa95475bab31d461c3 ad2b1850ac8a02bb3807adffd4f9da82f96c647b6e5952c3ccb5ea8a9fde1072 9335e47c94bc0844865fff889cdcc8f3e2f09171222961389a2a6175d95a2216 5c9055c2e9f353f362c96226d01611a7f2ff26397e85ed711c27c7a34860d84a 33571b73218203ffe3281af2adfcb83a4acd7e0243267826992201bcb35b8c57 ffad2a36b09ffdb3d5dea7518b13d0b496fc1f6dc487e0df5c6c947c2a922125 ccba5870f5566a869773c2a7ba7a5a83e715dd71796284e19c8331b5a4c84041 d8aa5a5fe3b9f5e490fb14ae7db4bc0b068f3dec070f1e8160e51bfa830ff5a0 95d9648e38e57b14b506e6097ba6f6d10f5465849fec781f3e71b805525829d8 ca72a3bb590376cf8add5e58496f0c0089a24f876be6c17c1842e80b887c2c9e 0d0738d426baf540905e5a6ce19966743ab7e4556f959059e15a35efbf23583e 2d6aa3da91513c52370175591fa42cc88c63486476dad9cb002f4ae1afbb8567 22f43a4fe367d6a9318de1c84f1dde39d489855b2508fa915d815a3e2d32196f ee84cbc390b2d4be38ff4e6ec40bc7ecfe58e995aefab31de51002b6da62be09 3f4e4db37c455b952c25d76b860f86881b64a59e5b6e49854738a5d57ddb9735 cb9acea0935f0a6e635c6c5b502fc3b389dcd71f54c4c813ff07725d3b67807e 74aefe18b495f05dc3744d6ea1cb33ee066771d49433ac10cedfb1b198c0dac2 373dbdeaa8c2475ffe6a9b9b8a1095c0fe9c288f889180a21060acfdcce152b4 842a826c1960e693b8612a3e66df4e766b490b97435535d1634f21fda7853986 ab5d4e60622d1ad68eb85812d1840e6579699fe3300eaa5ef53bd5b9a704a75b 4b412594fe5749a821f0bfd2f7f498354dc3fef7d6c80d0638f44934256d7a9e 5a147a0ba9197608ae524b8fcb2adfe0c94c04b7b9053e13fb5f522c0a0c3a15 f019e95a326bf0cfec8deed6624c481ff24017bc27f4732eec2098502c591311
From the PIN diode (hex format):
2026-10-22T11:43:37.201414+00:00 25634d0946113d7aa6d4f611cb224a620c580d8cb71b5904fe6c5c1c0fd254ec 72a8ed1d09843dfff83878596fc01f8b6a1011832b6a6efb58b7b1d9a0c44150 84f63747341da9cfc61ace8a8800938a7d5eba9415f8786c8a6be0769c0c074f c3cebb5360f50ab83170427f4312872f202ffdad1b7e2bd44ff40ffd0e124bd0 e175e85cbf4e383c891599434883f1cbfa12e15c3ef10581d7c89f6cab796b2d 79c78b77c04d0151aefeb45cecec8bd53f712d6bb06561fc00b293f005a349d1 d078e58719dab440043e7527483479c542cd33834c5a08d6051147a7edfce360 d65eb7644618cfefa5623c31d7d3649e2053fd7c669d9d9a3b1968b114eb715f 0f8ee0cc515a126788aa4e1ab858641ecb8ff9a57f89ff145fa9a6a3f997454f bdffa01fff2f4505bb9f273e0a544290efc5d017cebdfc1d9de552ca38249494 7a83a8591410421d51747e7e4bf6710af2c1f91952b7c52f093760b92a668cf8 5ce1c57335281626fb64df045f060435bba58433d1c89bb65d343f40359a108b e680f9cd3cf85e8f116a9e905a439c45afaa1a2457624446a876819b6fa47774 42fad174750460b99c8dfd405499af6f59fdbc47c5562b059070c889e878d0db 56ab07b05e1ea707867740e3d34163afa2c781fb8f59a838d19c402454cefa94 1a55e5dbbb3c7750d243b991fc40ac415e4382de4debfb95c348e6817e8ff38d 120dee0e22a8fb19d26a44f3fc8246d48a44aade9979f1d28340fafb11b33d98 40f28894b5fa12ebb5a18545c4ae609712d15753dd5ec530873b7c398c793281 c0bc310f72057ce935cc9d319d21f02317b7f186cdd21d7e00d33b3a2df4554d 9f7b1d547a69e6ef7c34c3cf42299908b2270bdcf25a4631ae1c1941aca95e71 1fa44419cb999dbf186910c65e8dc43a91719a974cc37feb3f3dfa3e355b1e85 d6c2d5cc91717564857d15fc8a278961708c1437c6ca4ebdb6a2988c188cf6df d46d679b19c61a75c2778af6a6cad86c40f23076228a6ab4ef322921e8e53402 64f81dd5f665218ba4f2dec3fad9fb5c68860f47e250657fa5de50502f3c2580 c2e2ee8cacf826f9c413076cbee6094b9b7d3b998b44b45434adbb572dcabf69 524df1acc1026b49ccbe3684ab26a0a6deb5f660f50a1e8fd08b10c14aa82bae a6c335456aae950a63f3ec432ba7e64560acbce4abdd2db6312ce3a12678148b 2c7255a85c6b24ce63631c50c4cae2bb3ccb9f1cb238618ab95d9b9584e4ef6f 64e4e768415b326074b5f50dabc79cb0cd53e66087391dd34641c4e799a05bf9 e9c69f8c9e358e4225ca4f86349e772e9529913dc41f061801f7202d2e79530c 9ac951078facf5e33ef89e1669775d4ac643f55bacc1f8c0c673a88bc4047d85 f923b19adad27e6f1d71aecaca5062bb9c73e5261737e47022816fc80f964551
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-22T11:55:33.803315+00:00 24486303271902486506948256141152472211705095644043 62450480853808291052729109196109684687104908620219 77778600489145762521491892472649124779891159226138 42252791155654008908845447597640886182575964635766 03808520827981374526051298767125875196887032454961 88924649834401218736487943722296618130085676676998 45155086869159258945752419694078872457319046093080 35302650488238775928985285770162856759592012210260 44957032719415141319697492529606414210185477614173 12756077136563130946027984622037740221260474712685 54704971917149979573432480723802875607733008002310 89829581385916144753244888086834953656451334419756 54429717903422924485948398983822176738572633132839 99637296745187271533300340267384587426026738203853 34018879914087734254765979678139198050310996359208 48244246333786881286063451159467862290312113219832 56314981646465709095854420742580881106436107153029 96273115604900425623208106092366158401325920316213 84058288411463878903183894887311120037627935079324 24661136244458130756388664449490085302165883851149 44899053913588624506634581608255011789316444409972 00180047747587330334587903694941792957373391370845 93299062455025113295447890567810961199884974792916 02829890096378777924699149443707341534362700655891 10733371566525515354604795101099920891804795793731 84961907149359032826167424804993951677106151060313 48517216777752929455618968947195065555381649925640 43364528621696728280324230082596478497426202781807 73115167855399793367335734719378969845264284881832 14012105594814709459856704679175653748877368339152
From the PIN diode (digits):
2026-10-22T11:43:37.201414+00:00 37997709701761226617347498128813408327890408922815 84146829093261562089119231390616173143061088837760 96658032557152296998263836004738259486482120083807 18561207799587839610844912662767183547324773272643 79151418751792917856603721536772311892620529590871 21074521993919927701817480923963134507760197007847 05637320352580640462173972522197665131769008051771 67969483007024659860490058328324025757545925047720 13951542819018033670782684880030436527372095696663 51697989603147690587593962108466449723892957825636 48482231688920166629811626267513109325828397470955 96854202409297155340223800049506045387653251558293 52636453541639286094431706584490675669757026368798 68706818295511641916661617049685564164845375118988 71978643054412372086710776943067073419646599756299 29438968565664368448268587601980678545647265946730 77499572292643411813143468250668307038687053213164 17796152643648811881613369967496511887839497483559 24574021502992884915140524535749573335238334292600 59584585775923298422052452956641530878391190704974 28256572699413316468255357912405169894419658451354 51769527636162539130339445131700332521383937971240 20559878898262524024400903552598261794193866086448 18343806805041335202002901333964959204341571800127 65808047603728944072389619070890097555255953396880 84527387874591058277729302077390543271386066819610 30433916937468437466955369067449109967436769967288 71458249446138202039441485689207369999288096876059 28785697388593554932110004659150961681137199567683 96355729706596536091985940585342663779345258194649
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.