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-04-02T13:32:45.406175+00:00 6ebe8846f6e7ab1a11a3a573a32666ce5cf46daadc01c3a42f7a942959d692ca defffcb875fc473b5c74534a0956fc5682609654633b32780acf53632b7d490d cac4d7888f65acb53b529b39924ccbb08825eeca5cd37bc9f4b9a2cf07be79a6 71d98bf4a6613fa6b36877cc717742f80be000b20e51eb761c76c37ff5bc6813 c2a3b76f56109d521e7dabedfe9e9ec510bd20b2985250b03b805832ed8fe935 fb0ebbd6cd7fccfed38c2e7bc626284f1ca3a61ddd15c50415771af4f7aa549a b0e5b9f11edb60c104b15f1fe3964876a833e088dff82e50b60f45ad21c49f31 8acdd904e34c2a93ddc5d2aa0a60b5c3f2f8ff3ae51eff7371da5a351281e9ca e16b76f2bcd844f352e733b3572812a20f2af46387718e394c20fea510fa58e3 81ce7a98643aa9cf4f7e28a9183e3a5b637ec60e01705898b3b412f9c6d2f40c f71bdca9094764f2d0263ddb2c910fa18d6b0ad886f438d86ad8d51c5fbd954a 00183cad67bf3a53e02aaac85279ad881c58df62207c8a27f260486ebd08228c 7c5b72f306990529e9a546ad11aead3890a83e70f4b0a88e0d37f3f284004c51 9a62b545ee16a517ed2228c5755726a9f461be457745b4ca53ad88ba50b4fb11 4c0ff4d34d443a4d376e6b4e4f2ec0760c57cf8a5bac47b72df445cfb0ba504e 08c174b576ae166408abc1ff2cb17d58eed51c9996f41d544e94af1922374a9e 8aad883b220fc38415530ff90a6f7367bfb0f84796f1b1d6718fb390a19418cc 32a129d49fd53184a013cf30928e76cb01b0e01d79775c38da9a568135383437 b24040f41968b035ca75bce7f08837d23b434e3c884fab02ede24e49ebdfc8f4 e5bedf781c4738a73f4eb48b3a2a2ee625ee8b39379122ac8a6298a470e36f1f 7afc5a19328350282e7c733bf3c3796c55eb34ddbd9498526aaad14372affe28 2b100c79411c662146c09f1a6d31287b25be27e28d47d90a239a46ebf5783c2a 97c25e5c6213221bdaa4b10207a5f5df61dace1d784fa95259a8b10ac30b5ecd cc5c8db277147f4b280d7a7ef767ba1f58834314e68fc4eb97732758da033a7c 6cef82b5e672a0207d731f61e6d6e7ec12f0bbc4f95442a4abd69f2d77883992 3f9e2b8ca42f8c7a5ffd5405f60d45aa90078a19c307ea662438c02c51f05bcd eee8abe92beae5faa8bc8137055cd8211d4427c6ca20e757e96442d678874c07 38eb21655fa11e7d685c0789a8d96e6a4fc4fb23a032de28aa90901a8d680366 3f08619b3345da6798876c8a1168eaeb7b2d34a18da11576bed327dd3a17f3f0 57946e0ddaa8f2acc2b4f675137af4334fd66cf55584b55c7a399071d3b5926e 386f2744a484372ed4277f5a744880c9d15dd5f459de2c0f9d9e8a1ce3a9390a 73736246f7bc923a0ad6ef24bcc358e66d46cad7f74edab3a6047eef7ba8ea5e
From the PIN diode (hex format):
2026-04-02T13:21:14.203469+00:00 b761cca1a04d53acf0ac38dfc79f920a9387065f9eed1856cc821f5ec22e79f5 c587e379db281d62042f1b466e747f0003550bbf260c9418a3d0f32201541353 09252fab6938ae4e15f361f77fbca992526f6338220338ea27f85a6a52582bb7 0b3a4418757a8f35460e18c04d88d35ab54a154799b484bf62849b68f3f728fc 5e6294d8b14207ada66e25239310adda22fc996add26afa95911e01045f35509 51ffd41021b37be476130ed3c26637db503a045dd3c63fb719b833fc2d9127ba fd979544e7b0c33f84ecace9e3e2e6dfa3dad294b1496b68f8a0cdd22c42f339 11f8d133b8e5a3d38e9ce8b87344b834340ccfc30b186f24facd6e003c633fcc 9a04c675ada67ae285c6bd97b667b9eacec7fcf7f25463b78a06de024c325b2d 3aae1cd54c2c0c96bbb733d367f8f3de9e0009625a80fb5e8b79abdcde47f7c7 6265f9ce43bdd43f4d4090600e00bcca7917b4362ae4a7d2efbf6cc820a3e872 32e642748da6f54c9e153eaa6834def25b33f9dbf8f4e46c1c7c944176dab9c9 3d5f2abf8373531b8f4c4573bb09103ac375fa159508180eeb2fd3b96eda483b 7047ff970666e289328696d8c9e4ca0c99003e8ebf38f62b2f5fc1ad16576946 c0777e0cda5b8da75527f144543d387d70112c0ee74647ac55113bf5a14356e6 b29d22c77443ff569fa9ffe1ec8bfb7bc730fb3a37d530fc38a644186cd049fd 554a4e78f886aaefe0c4b699f98632d6ef98d2c2d4b2bc67bacb415401cbca9c 445f195f812b0dd6015130cf0188449904174e395ea5894298202bb802c5ff4c f6f65042fd2dd8b97eaaa12166d8e46c7916a2732dac3a187384b7079d22947b 6747f86596a720fc81e022fc69dae5d3c7777ee317bbfdac64572c4b17c421ba aaf8915f7a9d46c6e57018998abd6cdcaf3ed0133646a2de8a2ed3bd6a6f9b9b 948a04f71d042ce9deafd3f2699dff3d6fe167e738f4e87357f00513f10956fc 3ca3fb2e3efe51100d38d30f8fd873c3a132fa0339291cbc95d5c6e440518ae1 44db351e416e3f4cdfdc437f37b45acda4ebd9ed9cb3587addc020af09479fb2 8037fedd1eb08273e6ba017f7d60ae5e3940887fa09694652b8795385b6af9cb 2619927814b0588a51ffdbbefc866127b2df5996fdaaadc9ace86ca5d9b5bf53 f73af1116ea82076d4c8808a3c8163cafa3fc219b5aa34b87a5584f994973390 76e43946028cb57601b2fe30ed9377d5b0fce9026e6b4eba2e0ebbc274ed8f6e af5f2ab622f5058cf33732a33cb0c8a928266137a2a99836ed2b5d9a4ab21ddb b868f2cb9376338ec5145c78e34c929a736a806e5fd932c21811319539330bfb d7500a3843c538af23d96ef197c176043168828da8d03ed189aab7df943e8918 6e915208ff561884d1abc6bd222a1127beb105ea6dbbb0baa09697cc6d1cbe83
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-04-02T13:32:45.406175+00:00 10903670712617636515633802920970019564472248418946 84177159921683740986863096508499595020108399432573 13963643017281598255574676763637922385620790216613 39669763667904191319661100781481182818952788041994 63831186165782302571585897168932785282807659288850 43531487274046239838407928636629219704211926708454 76853096930477953150721868513646808215697333965949 38047642479770109681955830151390531829071888688251 79874018621542993513425776326516882922520058697926 40692462589199269814011288527980189812276909710038 61444515614107103456062895894974002460730391588342 70822173362888983224383996721089083440249114065305 41657073177473564468621276684213553200768154988169 22652334409717873869979069196980837336868080177615 77685877551007787946921812873891727183456976868078 08931681187422000871934477258828535029847848752534 55745838733659341595322183151011150391767150771343 79446148245061415949326019484642180176292119925654 86295356525578646425047653178836555967786036797102 78739020287156676378803958424637395755453472389852 64121131229025503180404624155995210885528948528206 70671475404316122165280233709259260949402337903941 71103554702060425194949298193427647702076597292079 69828968771095119492417819202775401322260386318831 67204396511539880358240830811460322515319718879684 66647159451936574663584340644740229584051369704407 38259507023656924481917143688829550592332968399832 87006620357607563301956130250492073768100679963560 50407044442641040302630897555169035235083817042345 52614161211890395823874810136872948017192251790885
From the PIN diode (digits):
2026-04-02T13:21:14.203469+00:00 83976160778372725699594610473506955824863031949446 21973521402998044727701016270003851191381248246334 01841983093747710556747821972788694682119956340356 39900682884383115868241722435370142492773690817421 71538032919832550440949848776607736610373547167334 53063875698917166985098116337923181914940255805804 93986383258451454539865149687695633272634877730704 60446657175184634256841568845252129511241136100060 99635404981773662233988951820385998499833806027650 91455874287644125087835103580009989028943921717199 98016789637764449614008821238054426791083263145066 16416676582162700452915108282448651885619542913115 83274376691587091658951721490824144785107259127151 06023750345012530062429156434795937322870570921926 12914167853968846156251217441470717285175961678678 57349916678659693923994858554856666824087385747820 34709682533450529478880386658401566895259529431301 81480136685304237857946537665232438402977680664585 26706133020821226215457258241532830757344823037101 50673229340599192623877200874475239633867045952257 70981224533889087562195470623846890611555548380429 04447505576111035615870519098660634662811613561543 15956150035741288849986481386853306510637667275580 90645679882292327509715978285530763015860127259674 94576436276050480143354956910638254620207688388190 34973978895070737208658191835817106832182838602999 63942581705284228532485151441857700240811801784847 19760210077886461487941643107595428234054055506360 76694038975562695254439354747829840447185142972092 20764654150628109550942417494957511180105667975675
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.