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-01T09:50:21.221191+00:00 0ee085d09d6024c15c34b370896f82b243167a5a3202f8fb9303758f7bae002a 5496e7d2f67d266213cb5392f590f4f9e1fc98b672cf4d79f5b006ffb68cb805 15427dce4fd91c3f294b9ca9abf16c680a5ff4313613e92ba80bb866004b3a09 5ebfed9f802c98dd1789ec982ec91b3a7e8ac514c6bde71aea2ed55f1ce5d732 f746398dd0819df340a24c24a259cd8b237ce2cd30c3df4c645e6117581c2f74 9d0c29d8dc16bb029c94d7fd599f3de8014f761a6219163dfd83392bd989ede9 a0c139bf7aba62dcfe068c39735e1df5ac62cf9448959c21d46eb9da5d781eb2 866f454ee5aea687493e4fd5dfce869c6cf9046d198bb0a396706ffcfd6d4ac6 4bf883526355486a0b571cd93d81f6dee5f0038f8e3e94639f9aecf0e85f8cda d83d01495ccd595cf6dd97c9ebadc6f3732218bf096309adf27869e67e86382e 87c44428b90ef095be0d84c8a7bcfc344d04418f75021709f24a0181ad8d9dfa 64626e9e4344aa2e10a4e49875b4519758ca85dfc326fcd98598f419a78ab362 882741d9197489e725225232079c306f67d1bfec7ae83aa80739718b643ce0ca fab9fc63d03c5f9b4e56bd6e29d86b7a839c9dc09cd9eb86015ed751f20fd21f 00bc39582f752ad0c704ee99399546b5312381d14d0cccc60232eb14162f13b1 07d62dbc4ccc4952d7a96eb6a32d67af2fe1553791c96b449ccea72b7d79baf8 4897abcd97933c4d908e8a7e7b18373c7d2776b3f43d1605039d47117ba20d01 8562b197a87cc55f71740b7e62e7eb26738e3f21957d04c1c6a3da1a70efc7d8 e909433ded7b56dc895a315364db4d350376a74ffb3267eebf354020ee775eec a12a83b43b746e899d4ca37049c032931bf0bf1d23fd5582532e94d71bcb4db5 5f8bd826309acfe47ed5c77e3f2d011a2f011d22ca4bf65348624f2aa3cf501d 33b0c532640adeebd480b2167ef89c7ab62684db0ad4067051aedd026e5b7078 94db453fbcb84a7264854ce7ab3715b33221cf881ba4a79edc0a15b187c2012b d379d58b7b31cb2adb249d0b580c2e7577fd6110bd79adc7c5ca811c73cae8ff 2f26b4725053f250cea1800f8e56cad999dd71dd90a99753891068bb3492b074 06fe5f05122522d05930312f883017f37a9f76c06139cbdeca812770738bad10 e8cd03e0544ce7c508bcd4c4e49d63b8a74e5dff0406874b09f8f182f482cd71 32b578e28d176f13c474a17def27a08ad3b2b088a29d414d6e3085bb401fac76 3da41ab289bc762b39ad6cbad0bc666f564eee15bfe2e91a473de322cef2cf35 53274e603ea2b710d4c69dbe84ec399f9103fbc63844935220a82ecd95b7d51a 5411e964f2af94552796ac2210540fa957f7c5ac72e0a8c5f958e11a2883a5a3 fe871722e6e2123b3db0468bfcea1978e31f2fc043f373e797c9a2009be434b4
From the PIN diode (hex format):
2026-10-01T09:41:34.619391+00:00 a42db56bb3475f9a9bbb6cd31c35ee96e095fbd29ba52595cee6bb782598df6b 06594c960b326c0243f791a2bbf0a221bda0e8001541553c537a77320f05ea3c 7c8eb1a5af596c88e24d240eedb81dbf58fcd3a559809ec608354575d1d01ba9 a9e8aad617e3de6b7ef34c305bdb6f543f8f43ceaaa3ad64c8cd76333c0876c3 313b493d27aa85a09791469ae547cf5963e076e087079a64937a1debc35ce25d 8d9ad69795834fa4789431edd9001ed5a0ff83b034ce8fbf4c7dcf61301d4e9b b5393c53765037692a0ef05a463b45dc382dda454e809e2101160132f4c3b6a6 e2e2c9fe4180d7a4a18f9514d0c47e1c0b0d2204acb8f90e0ac559697d5b9b75 2f51e16e245cbba38f961d81454aa20ae2d1fa281cc55e44fdbbe76f3ab1be20 0b4f57b2662f2e69bec13e7368d37cdbc31ba0071da046976bf1c083960b37e7 7128ddf2728534e29fd13cf84266867ebcb697997a087e1cf21cf4e3eca8a6f2 9da61299f6709109e42703f71b0f0e38fac0a347a469c21244ecd6be3c0c766d cde701b7241259de7eab149e409692e8519986ea265ffe6296c94d200c358ad5 3a9d3d734f1e9d5a8aa246f80f0c61ae07ea18f0f54fa4dc468e07b209be1a3a 8a3d67b65d120c1abb341bad117b829829156b9353a85a799133ad3e312ca85f fce58d885c8c7134388d09b79b3ea50446819e08e2f34011de33cb91c51f82d4 ea089d1eab653b7889500cfecc94de18ce5efbdaa2e5a5473f6d737f5b7829b8 6e1f8ad3ad35a3b2b2b308ff0c93e6d1c50480e2bfff1983260e2d6f25109470 abf322a5441ff6ec84fc1118683f62c908d1772e0a4e1f63d83ca100a7e9bcf8 ac750843bf2a10ed4133dc0b12ee2fbe5afc2d2018a9f7cc92c0d58b715aeef0 41de65dc8a6c3e0a0e8535ab39764ea1cfd6b617a077463d4554c326e431256f e7a24f80c3fc0ca51e46d1aa537f2b2a3d5e26a0fb4fd6786114eb6badca092c 482aa56e3c847f3b2e5e8db0dc5434b24c6419fa3a39e67f950b8305eb954a22 76c7792980c79f4a8655f54e105118c42a0a8dabe10d3d4359d98b5a2167642b 7636eeb8c4926ab844461ecbad52efe9f253772c1a04bce8a81c7f3e06e03f69 bd1365a50e56fdc0a0d0d1ea3c24da0be95ac570a582d3c425250f9fa08cb22d e26f8732ead6c04c4037b512381fdeb496f3e659416510b43a06f3e130ca8de3 c971a13507bd14d176b57f86c6d4f6f22f040cb5c0c8b74fb1cb8cdb35f21236 dacaa8a64d857edae4b349e3d50f46a13298145ee571131a8c939544f0660906 30af218fd398e55af006f7e6a4b7b3eaa88f9f3718af89ec5634902467dc61c4 4861922590d2f8cbb0eb0d0444261a59882758b9e1fdcb1c60f4532dc875761a a65387c5de8fc51d61a64a30b28dcc2a5d7a2d6e2018b021e5010c5cd7d2b543
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-01T09:50:21.221191+00:00 14335796369392527912371130786722229050024703174323 74004284502538981983464452821477217606824084052166 25792863417556697108041095495419436811840200755809 94915928445223375246275826389720988926469528507057 41295764627636628939352448957600949723882847165712 41228702564889596101791826982522613157433760935791 22869806405715942972984872495633108593203078341169 78746635736279345608040925397663501211097498753182 99857206118728612903434262489959549540610173928992 51739815342491099909732005263456463596684085144990 13326788527704654317022309740129734157009810586768 70461664521780815188339538335225673879983639652516 37373482500756481103912258680757133900608599609555 78868910410722315657925634019481153100885788471742 99045357497081493529771298025020224719770745887673 82691082634503754785554507685667432521867251715147 60774442382623245560253918796122050357711723621301 33987751682497951316112698381542633349250493986326 12990967612386379049830077530318677950039153643219 94614231805916103757766312739250472791293585308346 48277781953938485426992663450126470129347583729879 42638029517697500010287822265622823832100612817402 10911220486963888474140033767155217950333627646758 10217735940143213923494236571188124617199716892173 99972928154738801480838061281542865313446951833716 04875246761606950518373489484947364823225918929757 29391215397316038476970888965799846778930406357509 30301350812041231119961661253960387876366257657710 48338764317218616426783788184357730886880211867821 91267161345383397896626283169857903257594503985668
From the PIN diode (digits):
2026-10-01T09:41:34.619391+00:00 64458107797195545587082853504955653749872037520706 89765011500802674562876233896000216585608322195015 05602442776575890836773614842991886589285898085369 17276969702307267648911184634367706373001851600818 95495973613970336051457054718999183507540047222995 92934154514931796420484900306031765243917625974829 78558157608318805505421490705969564569782858330122 01509582666528646143492096262811133404728414109789 05259155174781103692876343502929697462104028979468 87115877903211798778024746059093621504249527600729 60705107923150115513401433525960660234268882515322 08262828686657661853124509390327151456926371640594 18689060121809018336188926712058645046815334389598 50773212533858576115793057903862701512977407247964 70420778099026583861038293181226875227731723305241 21074783689021455173624944689541369240135256410983 55626504702958086417514597313008573071015920378012 48249462657163091527912041841031387353637878790812 47970428912531381445113716481271346568313217240463 98081946107831996061006788721708679142166551111847 90904532246946923913906501380862101433537157187861 82236019706169849538493711627928951265307070832743 42619438607920972007730944724265106032275946944176 84527876002558572749113105497434189921412899597434 85781681249642104171136167893990330300431854849646 06846870307382831944260488682827620663058919016514 86926060361190971265309637371559604078451135509276 64558118563180508965011680580648411361530789201881 27349847041281928379774053185468667733267973157061 50522094131926404749680209064875334352900664837968
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.