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-03-26T09:48:54.103044+00:00 9f016d3af5eab942e5e5e1a3cb9c5a3cc47a8439d3957c0504281091de0273a7 b6644abfede08eec4346cceb2b165fa2911f9b6693b31213a5cb78e08b414a4e ea3ffd68932022bdc11aef9acf14d5fbfa36430a7ad1ed2d45325f1d1795dee1 b4d5f62148e1304d2b899767b4af734d42bde71369c76a2c4c13c257c002ede0 bf6fcb6a1bc382a3a06c85ed22b1d25b1636e8e30cbfdce10f97f7579e1acc5b 7714ea8aabc43256693d462ac7ab06ba216710d7b7fc3dfa28fa63a9d8bfaa01 803eda75a849447cfa84d677ec24681e23d004ed30117f6cab4f933b97a7c98a f81ce2739fe8fa9e2adcafbb003a793952f21d5133dbb9d34ebfed9a583b2fe3 9ff5522cd0f7f6e80933dac1ca7a8ebbb0bbcacd0f94b221e5ee124208a495c2 bf7a28535c8c73646912d1a3d3e690ff7beb4080acb36788e9050964f2631d8b 9d9e8ca536514f2bde17882e9507f813c97ca38c179024793d3fc473158873fb 7c962b029e002e259704787409fa07beb3d4c215028badd0a3e0df56a9f8763a 228a6f979c0a8b46f98540b44d9de53a4925fe1368a29ba73fd7fbb26f914637 5be122a11ae0a4b692a082da85c368213c7e8d6ddde6a0df15fb2e1afb62d6d9 9dec30c16a4ba547dfedcbf885d786be16d8df72c8c6aaea3e28d8814d4a5627 86a534a8452b36564cce231779e5b1456d7b6f3d198408b836bf1d338cff2c25 3449cf4a4c2c867a179d85901afc6c77932a4bec2c1516d9c32cef6a73af4d24 39f92bbbea399bf4bbd3d51f43ce02662ccd7c45d8f7be059acb84673498ae51 376f06062888452e29038f717382373ac7b1a1f4e265784ad7af6a3d15e9397e 80eec481733e3395cb21d7df9d6e215aaa6c031ff71e17f25740cdd873e355cb 9574b0596a2690118b44c20d1bad339144b03e9329c3d44ebe7e95463d52a06b 963db653d4b37f34a48174d68a2bc93a138534c22a0e6d57ea9ceb57ba548306 8413dbd66debfdd6b76e549437f77bfa6f2393740bccd2b4bdac1697868d590b a4c15fe9ce0e24cdaee476e1d3d60c8daf23df883f4572c9a113a68fa4c0865e 6a4080cc9371de745199287a025a2eaf0a0c75080e8a33b3d600b324f1dc9fb2 4a2805279183d03a2618c866a91724211620973735be4e1e070972422877cc43 bb1f9d05f7e576c1297a3fd4c6c0c2400f2ef3b0d6d6652d96cf170370091b18 18fd7869958cfc80d483c917378ade69eb6d18767c74e92080546ff9e94719a5 382bc33ef4ff2a92eb4d6ce0105ff4cf556c438180633a5d9dfb8073474a6727 ebbc737a5a6260ee45d59a2d96df670ec4b94fe626ec43b89ac230e21c1bccfd c57fda1cb5c6d391a0b5be45b98b3270ee6699431f7064afb6660fc1878556d3 44361317885b377ee0354757655375f6a185731ccd25c0af685785c833058b2d
From the PIN diode (hex format):
2026-03-26T09:44:52.902411+00:00 e8e5d060fad66c5eb57a11cb27540b6a35ab4c399fbd5355024bc2b77d8c3ccc 6d430dc4361ba2e030ac42dd1043106a9a872798c6dc726d93f7b8576173ac0c 36fb6afbad3a3048fe46ba1dbe794ea38ec06792e827e57fc776e15b5d7d1e91 8677863edcece9b834340d2790d6a0d6e75413e980953d3709f50134ca5e31f8 92aa7cac4d53f2145ee7f0e03b38b3ffb1eecba3908341f8a77a196acf261bcf e79f00f372c78472854e6587da14a06db883358566469fbaa1896769695bc3a2 0049d140f7179e3cf981e087e19892a7345504a251a59e758df43d5e71955287 77467940bd68282779eaa08b6f42a320dc0d55830c66906015971f170881d6e8 54f57d820b8b20898f7a900bd31c0fd5d0273bd255396bf729f3877dd9db3f60 8cf6d785f4464b7656c2098da3837053718d19c9066269fe535cb81255cde843 13bbe11774502678a58d9f171f9eef4368bb9b64645d8c8bcd1542279c126fc6 245e89f88d305c95164d1bf78f3d84ae631ccd1c6a1087a9ed95791f22def8c0 06bbd560dd64821268e84678e4c06120a104d40dbc814a546f701ac764c310fc ef5eaf8b6963dfe42fae43fb5ec6156ce5052b0c7ba323892b2109980e3a1660 53e6c8f70cb0baea8c165f6891edbe8a06a622f6ffb4dc9f6ad691cb833ff4db 4f035c0a55becbda9a6437c239e6c6cbf1e7a5d7c9afa130d76fc6491a9fb12e a1f8fdb00a19952adba809f635fe0fc6ac9803c284e1fcc0d58c1f1724c76202 a4cf186fc7f26340515c105d1b31ee3b54c3faea1516eeeaf6faf927d757ccc8 9425d4de00c3cd2e49596b07a014117dc049dc898562ae14ac04a409c03e0821 4c7b3bdcc8479655c3f764f9499c8fa8d03601141bdffed3ae5d06757988931e c025613d50e6ef832acee51c547acc032cf7fd18b7561032fb418cda5eb39f6e 61e590105be6d5f35bb696d2e9873d344b6c93c89c1d8f91c43cc6b654f5f007 1f9b69905c7e36659fc5363923819d939e53ef485798d968617f75378229fe4a b34052f28ebb9d368a5e0114d2c5811cb856aa61292aafa72d04c62170bb5a99 51a080b6274e5530e2161203445a5f36dac06c66dbeb7447aa55bf079f13897b eefe0cbabfcc9bd66927450a8d7df25ad1664c441cbca6dd8bdb731ef9bf67b3 393744038fe2160fb7fcec1e498dfeef85bbbce05035c02ac0c4d8a051caa93e dc62dccfb63f934b58fe5e46b2d342f41d5f91a524c16d780c3bf24498e94144 2dfd6a99522a57f046be589bd8799ff02c96b5f9e6b9788cf8cf2472d7b57319 ac17c6cfb7eaf170c784cc64d82e1387abb71ac0354ba6125d63fa3ff2847b63 68d3843fce398b602cd6557628cf7a85dad512246bae724f9355a8d8eb3a5300 3788bbd03c3c19317e46281b644604e332458dda6914f3c44ca7e84581709625
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-03-26T09:48:54.103044+00:00 59010958856663569060962232574924050440164502156782 00749142677043229562453155024779181965203965747863 04473234899326542054671022456950952923498033724877 43375103807515776689190599064476199487920291110627 95306360083334779122541291155187582691192038719650 86056170429971068633031683614099699170012862176873 68243219360430350448172708717947595167382815595842 75870058215782298151857891548859475982440951932242 87768715487833186608644994912240839240150005186344 23642872790336050900992939575840655481794323364649 07192463402344362161639615213615245043025800463751 04201609079079942102397363866918583438115156103970 33648077575873371904625567637811457055913461266482 46603033950433602641096021462698574893067565713334 90221498706240297774863934655268694354867635232177 69092311612532088454912951404437527374764434222357 33442608194742754421229544061575773657438757558731 67020244246990055432035252748155110606403669464103 43131530555899776101207475066121572628962915625149 33571033907008033130238764158549167689063844173968 94132773514568766247419578902649706182600750618283 79275264291638435819335294421409875687868431063219 09831084485523113547161180897222513441891164939514 36741812417535366369146119664364923494066428471316 81534022029046751012170814385179007936597874400539 45315838240269233633223251555390783007091466401967 87315705189341226398929464154676014550230312092724 24200549402831235538050924182416322884117125655643 95624246770816958508672928995893572815717403398815 22909896695445500314968579386784549448282797272881
From the PIN diode (digits):
2026-03-26T09:44:52.902411+00:00 96089481221739841106537176575989838502759483254060 09671396542762487266166716065435395298140947848797 15721254067358487270862990217863429203463927991891 93253045341934628452521339446084192849615509015294 49467024727783209459567977634431656722250638275900 14993214337801352060098431533302705986613703050591 95620073642358602935524667528504628165581741619413 49823519702164890440392160391166633213853112024496 21513123082984253011393237432244112815395985570741 35256396403370751886940941633112831341250698058392 84188567198723168038206541592331586704875500009340 39216639561811983694374148924922772743613274992828 06163569492131349206879600301804702092973261041388 29748411122699009516947539059947746794982108054312 23633537433309521458229683127686402295044590380666 34805906453163790392108590540055945798657561481198 73265977466176102549426809531598725203943292403123 36999802642411999964819216932749598495212239874837 00954673890707602017259273373398742072046409926208 33762359715085950073564368540120277493061721364730 92379761803142288422034424838616506540947959109744 16919182503561527508475629434596609882840731550544 92265401599754573529574758837287520497271755304174 79648242875754389401209729288486709741427567450498 33128790538160288239788548221803689095549208021671 70859107591937231286915505396910412590027668288866 39153091037957556803432215833073413387888053924292 96608169629882634775889470786629954565369309201259 68526568450653824287709088552159445081852040361481 15257223988312993200461935718326925375661893996332
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.