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-26T16:00:24.546925+00:00 68bd6ed479e94d2e476217c001c7fb4442aaf15570a6174548426b0b73c90bab 2719ffaf427f998c2596bb8d182c49dfb3d304d2f4557840d5d388309395b2b1 1a175b9252dcc87d9c14d720c8eae7e3fe3afcfcd2bab3cb46b5bc5a561f43da f7e58386832033218df29b9291ad98187233f6501d8a04a5287ed90cc57efbe6 905475cf63b0d535dd064739a55b479a59082c2625b0874786dc3c92398c6a7f 3e413d546f1263569f5ddd8d6fac068a40d28bb0bb8743487cc966e78c774e91 c30206b5ed8ed3fcb0e067cf0b9661d031dc9496fc0b3d0a39ced7f247f98dda 705ece4f083701acb43f9b191470c431a55a607f08859e3d6b987fed3cd81873 995101d8f552832aaa361b58094b5ce61fc4a366cea4b53e5ab64d8b7f82d90b 8f7e4f0e336795925c37421c016a1932ff18c1c378f144d380053ed3eded3518 6efb9bc63eeda932ac00081f3834c553408d17a97d76d6914f3604b670058d8b 6e463786813a20610c937b320d23e632f5c0048c16a82cf364e9a5d0c1ccd8ab 9bc24f594d418180b942087ca8d9f820e5fd1a96e5e34712a4aa29af212f2c9c 14ea9cedd33af61b0c750d8a0591cc285d6d4fe24bde6836756b38dd04b392d0 0d0f4ee9adfa98e5feb1f8d2e14523ea8522af4426f019d1fda59ef05e46bca5 7c38c7cbfb894e14dae30671c6296305e89a41d8e1fb3e1e64398bfd4e3f7083 7ea1ee22257d2a098dbf7b6f5ebbbce74ac7f18ed50d4923c618e2fcd85812ee 90af383a467f99fc0005779167ee6da59ce82bd27d3160368ea6d0f4f80f6f35 70a1c6206c6a11b0e36fc6dd581920da04d624a1e454b4ff77e70d3153ba0880 b82dfe03c8df069b8a8ad14ef85bbee1c108e74b8b94bf7c1705fb6de970ce54 41f076b4ee1da834df15b2ae5802eded3e04be3d11205b538892c994b4442779 2ab0daf42b3f9aff94062c65ecc24cab2fb74c24a13be357cc325a321d30ca9a b209a1c18987708c65b41dc24b7e848a964290f0627916b184a85271ef624b96 c32c56c37c2d6a4777a8baed8ee8b43a3ee9fda1d40fed50c51a134ea1b44f93 5fdd046357e87cfa2ca76560f06dee1aeff4b725bd08a72ef7c21ff917f35bd8 672ee6e40b0655b535e0fd11202bb90f0f314486f93ca750eabe30489f5da6b2 6a62b6aef83ae00a84bea99d0f18210369ad297638723ab12b2f57b773e67edf 15ea9db2557b016158d505158d554e5ef24cfdb6906f68eedf0b147b520835d2 2e334fc529c5ac069a3c88874f7847956a243ebbdfeefa31ec513b817b8f0489 ad902b8d5f4bb4bddbd73cb8c9b7b12519bc3db783639a15784e247f898e0198 40cff89417693205a45bffb607dc3515f8570ebc797a39e69c296267b8a861ce da815a9605fdd7e79080930d53fb9a90682ecfb3d00e6a718b15e7afb2688b40
From the PIN diode (hex format):
2026-04-26T15:46:34.545741+00:00 0a8fe91d04f4740eaf45ed565a8f7ebc8b52558f409b8dd97ae1664ceffe349d d674d40f488817b6ae2723b1f828b6b9c1dfca6ce1525139cf2f73a8f2d19abe 915b2ffda61c42143112e0e8777c66d7b358ce238219ed2ba19950eea7f706b3 c4cbd164eaff844dab9976789c260d1efb1180f7a01a149ca36d8ddf94668562 8977f40aa3fa6e3ad16010c12a29b64658fb782cab344beb74d442bc28c86b8d dd5c3e39d4cbcc7e1debe9e949616a2e4cf448df02b903b74bc022b7ae645046 a4749eac4372c4e473c0d94324fec009c2063105707354ac841b60dcfb00a819 6854ce4c0c7bfba75a2f8c5c9db00e8191001de6f7e173ad25cedd83ccebe071 e0c24afaa8011fdcc0efe27d98ddaca8ac10fd4403ec8bc2d7dfed139571d226 5f29a47ab6e06e6b0632f440749d52de756fa3d0f36a04bd8b00200e3b3be0db 7ae3211238575cdb4433f878136ac63cf5531697bde9bca6e42e4052c97508c2 8674f5a51f0d423d11df32db18b0ff69c5f1bfd0276f6bf3a4c277d37762c376 cada06aafd0eef19afa9b8afba9b892d521f802285fcf589e4f56dfd34da164f d4ba15faedf4391dc2cd27fa4d0279ef5932f8a9deb4072decb917af193ec520 eda0e5e9ba97d97c891187c09fceab20492b4f9de04fecffacd226c6888391fe da6a04cfb93900545f41ba632ed824df06cdf861507c4f76e702b8d2748b8c36 78c678b70486ec5c1bc81834909efa0670ad3f879d89d583f077982170d416d0 2fa0de84ea0c6b7a0608e796e68fd2b0c03add83737c03d0e50e9a612f1ba881 b6d7981dd6ac523c62f3e03dbbc1427b103b449608fffa9790c39281989cb1c4 7e78076f18dcf13b99fe93e5f94db592bd966c4fc0cf61010259c838513d58e2 fe9174522f99569ee2911753bc06d22b3a416e84b936d4c8e0a164dc42d96708 d87a5b2ccacd00e8d342b211104730a2ee5fbb363518e0fc7ac659ef83c296c2 34ef20693e68b99be8846b8265e3dd436e35a9a3c8ded927bc0e6db2d9587e7b 21d42556df4dce243a81b7eac4eca1560e75f6974d190327654bbcafe472c4e6 9e9efb8b0b73777225616762ce5388deebc832fd2f938c5bf4ed8992bd8b9b74 a8b068c4016c675b5e186cd08f418001ee5a3742c3b85efc44e7eb03e3e2c8de 41c50bf11f7fbe11791dce7440b47e81aa583137cd43db6dcb0c8db6aa28f90a 13f71239c1dd27cd9cfe11b587134716e1784c8eecbafca97484377d513b2692 d6671a8a1b805b2049f10c39a9125516ec576595262189658dcc5c0781a90a51 ac8f4d230509630ee22bc992677ae8687cba25f2eec933ef043ea326a0cff415 e44085a465e6a5ff0aacd69b9097da06818f1aad3d447e050763ed0ed07756f9 261a442365cab0aa87dfad6c013c157daba8111340ba20e0cb327efb998d8fdb
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-26T16:00:24.546925+00:00 04891021774671982392019968667085126623697266071115 11713925756627534037508741244473790485206436484749 78772623914682255620325886797081889086316731343132 51334155464573522414518029380465402612972644841799 76530671576591715489084438377635713460465740062762 65618411189986599341117206386439768735677224024019 78459502068142760311509749485011611057714112947908 55017280635525201296496590962708335861075227602415 53810182314270542788097592319663026481629082773927 30114326791451034946925566280106255024939520682805 62532410559862695072000831565297836441236925184579 54048212054139107055342958329712472350133550920440 22684400659371559479897765292885660824683226507118 64704175334744562056582712171338054540930979750454 17075604794613157873527769353334756838256558947088 65245699377820061398419905546562300057397863123126 61343725420941912311948788749942137335982488184475 56587027530005194503096556432549965442661511531261 98320806177611988825320436618480191349838608288445 03065538387891909308753948912423050912846518802968 52217874880262049061173291833646488068392142764363 54480644019476714783763661598750905029485478096193 37351240018029947526323850664498212277326882139875 50954486952445067119688642805862611580972619786180 79479504998724446701960926833789086746943123910346 11068581531732438515154968346067809048725993667806 98827458103290695715243303057341185614587743478783 15262157788523019788052141857894768244110411202382 08534651799741977206546036357920714906366287498159 29234304377344434195758089608483773725886183319954
From the PIN diode (digits):
2026-04-26T15:46:34.545741+00:00 10432904161475698690432688398285436455412202765257 16157236238274393577408285930882815747156854904591 47662866204918192402798835302543615380670679960032 77715318205638133017286026205663094148023398371910 63105896169342418270882044715275166688400741926257 26297397064676720285038375923483740080706416587267 14961592673692099406490512158472322796006825048476 12236790474092577614294500291573373113947468013192 25527268721668033994194913389541642282100706506416 57821711630604893900321459592233185687926851201906 98608322518988664664821708943416653113666117502476 05979139110764941919989518067014257569847586553745 82312834333709522279862157299439770221895069800745 85237525629732608651243717359259713273437957797238 98363145060485570084956586994636069780247918028416 39405420982083043492272452445806127363355737311952 33122247603212072206085043769258311524031454974727 68298252297282609861879366231659685008514495462952 56779626200711245953477781468950087992970102895681 61884516824753865845238388064358651032855461006603 08229144006678171671486295875453242298893194509452 32056204855532073001671053696339881409788826233337 86773658298396618614175177250339017588751496585839 11151914379703988336504747409137468939551668760496 01080391942408436528019055669584946803659711312790 17212916648026297088495567091241827040101918579339 56178135197122207642866916325525815938460326382728 91327312576918852287014938333701419207296910817243 77350509991443460322042486375104626338602164336401 65107255445106294326736168260507991419863826683501
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.