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):
2025-05-02T04:16:19.954905+00:00 80a295306eaa08cef4b637330c9c2d866132a0bfe728be4a3c39ade6c47b18cd daa084eca7f0d20cac516c6ab6b8222ccf5501eeedbe962e6d514c11ed742987 239434229e7405c8116d66bca54a6d3affe2240cc4ebe552352630282477728f 8207b2f06d722cca9f0175e7385db32cccf5bf7fdcee052aa68b1b76fcaedbbc f460c06b29e2841e3f0c41bb3c4d7a94cc5540d13fc495ac3708f21832f30611 abdbbe6cc35b1736cc69658578177640c645c722d5bfc2083ca392e5191ee287 a4305143c3ae895c513c1cff999a8c15009d3c7db7ed211ff7fe8b587c283cee d13963dcb848de47469a1b2033d1827b708e1537e8e6ca2e3e91f0300ec7c871 35c30293d0352bccd3b13d40b928b459a206b98f0864f8378b6df1117a60ac0a 3a0e89fa7ea1d6e7a55c439c8d9b76425bfc9503d14041a17484e780e224e8a4 a3e9e82806be52ffbce8b18dccd03062ee0fa1bffb8b6c74618797dd1c9507d9 c5de6b36e2107d58c3ed6d784014d0d11f74ec5f535de9232878fcf6d7b1319f c81e233621a5747354e05a4a2549480bb2a1c7f2ccb36d1b53108d54f1959107 3b265e229a4d3ac4b2885aaa1e9f723d147a1b58c493344c033bf2add82964d0 f6eb5593afd1426580aa23451395fd7743b9eda540da99173fbd542294b47241 0e9cced34bb6a9dafde4bf3622e7f6c1b1e907f71e70ba237c086c98cd9fc06b ef5b9886f18bd8cfe522f54ab0dd6c8aa61db623e2ec1aa2b6d61900f79fdea6 2163590e6b679d9c1c61e643d871e40df3dd866a569714e7036701b66a10bfa0 3f34e8798c7711ab28d28ab035a773f2fdabdf9880d21282a1249898c099c041 705bed9f0364a534a7abd92dbc7d80cc7b81aadc2de36689313170b7e238d47b 80f099fb320ab72d647cc1d3ee3c665e46be5c4850bd546c6d1c8cc086f0891b bc3a75e6e29e997607cdea728f2fc49e8f1cdb44960faf9130d2e2ed52489294 1d637788ed9a6505e39129da37a310bff0e83a7d17f9bad7c732874550b95fae b57e11203ca178bd40f351c2a90868dc61e89f4aa70be975852d2def70144583 4820d3142354248423ec224fc71588c203ae3f3ef7400610f1c265234dfd36dc 14e098b07f2b405da6153beb779676fae01f18950a528fb02f0621d162acb06a 5b290bd9842f0b97ac38de17f3df41733591ffd36e56e785414253f46f17876e 903775e73e3215d83db0204ebb67c124c32bb5cf14f16d9bc00b4066571b50fa 4688e45f44981197c7780ebec62a7a405255dab5f8c4be3726f5fe08c84ede47 31c68d7adda17bfdf88296ea1111fab33f7e8670a9cf39dc83e35fb589c5f59e e46033814eb90b50639deaa57035a69010d3200c14ebaa957b0dc0fe073590d1 6f7e7986691fee42685b233edac3f2a1d3c19533f5bf65aca5e555dee639a7dd
From the PIN diode (hex format):
2025-05-02T04:17:18.743274+00:00 5cf9dd9e406d5a958ce80fbbf8d7c6a1a61b381730754404da28033a4da296e1 c52b50b79c0302faa11f88937a0efeeda1472d3bfe5569dd87a3a1222ea57e09 f8cabe1fafcbf32e7602adcf7241af4e119dd6ff730dd92db309c935600cb44d 5c8936b19034f2c62dd629a73d7453a84576e63b6726c017560a7a20ee7074c8 96c1653b196645b4931ef98f9a61e23c7ff808f19a8b6714e1dcb90fe141e85a 0ecf872b99d071a4f4729dc3f7329d0583891329e9ea5f4494b6ee39302b20c2 5ad66326f9437404ed3568fc038a3055396e568c9531a7f87d9ea43c9a22cc25 d3f1378c1fe359e3e6283a76157aa7367905656ecc346e6eace50e7814c54803 fa521d5e9dcc660852d4391ac83bcd2b23902d18c16712f64d3ae454b133d65b 1159a2c2b23853593f14c3f27aec7c926a6b3cd1b63662ef36eb3be4299d6876 f6dcd6fb342848b5056e247c0409e5bb4625528cf02acbdef19d269c02627c4c c6d0cb65e1d29afd00fcbe7fdcef69229b4dbfdfa5eb9596f2d728118fb8ec56 956fa64e5551d88cddb8a5cba51705f588149f0e97d546cd8ced0b17ea3a4aca ac5c81e25edb5a3314f55493a6a9272c5611f7d97b49481e20d18f970a8e3005 6d66102e8161f8efe58c19bb45ba13c7b6460f1ee7055d3ed72b3c9610b22ea9 f602877acf7f5b401eb1229eed1a6e5d132f7029f8f25d30474ac7c8649e7f0e 6cbc3e6b90adde34cd3158709adac113d9e1f363bfb07f4c3b886514ffc80153 75e1324f80a45e213a2080c2a6fd500e12d915a4ed227737da29976ecf0b8a5f 3417c23c212fa1e6d287677d1248ce89b872231e467f8cf2027d72472abf2b3a 98acf2e94eec14c92a3ea4d26bc3dd302efff9ca48e7409a8c1f749be606eb26 351a34fce321226a359903fdabf4bf1cd18cb06ef6334cf9ac011781976ba5cf 3a9ebb4e5e64fa519a054448b8cbbbcca9847580399366f14d6924fd57f92174 e7bd21009171bde9a5e9604ab39eb641c036731d8856146125f9ae35e63f5d99 03b138d663c64b6b3d73387f5e8395c571a84a7028fb823bf8e3e97a45e5d238 271595b19adc5e39e4003197c9aefd1c5548892258c0ba7d089458dc893c0d45 596dd51d494e82f645a5911993786af0161f2939f22242e914db4a99deeac6ef 9ad9903344c33471e19f01d3445811830caabc1547c682425f9aa721a46071db d7bc28ece6eef37918b6b9480240286dfa1aca300d2dcef8518a3a432c477f17 8272d9895ace52f0a5fae44a3de80e41707f913e0724f25185f06f6fb54a48a8 7cf5575e8774f6e92e206980759e5e7035788ca5c7c3292a7d821993d474129a d298fb6c7d9c8fa9681b0ed7933fb58d43aefaa3edc1e6151b454575c0b965db ccaf4eeab81f41ae02b9664b97f8eb51fa4318cc4a620f5b692d049fe5e06c5b
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):
2025-05-02T04:16:19.954905+00:00 28624948107008825551125645349750609140907460577396 23246032671272810806828434448501905046098176171641 35354852345816051709028865740958361296825338484036 19144330077809144459011756937944912705426639271874 88969207413230631265876077224885646396497255082450 06177190089591235405013320231864986999349194086063 46253035644881679574379281602853544021005760258333 31398824406057998472717054273251302312422155466245 48149913539502475343776164854080896206854308005539 09172296721058143726616592675641551866914903646561 16322836646340069082887741489815619139081697355128 49079707541625889509206420311695839335402077495930 35543365161584907437737211786199790927831641844945 07593894345477589678369070305914612022278896475276 03597341008547756601287035691949196785656453236389 84344880146514567582699154349377073012863524080852 59920791523439347476083866298235266282250059663399 89140703575628976713133406865120030301820616916063 52214019177140387653671571522818306136525292539265 12915903006552677145882528232970450237494912835623 28535010834500249360029470909272808984080928409234 37278858175853180714434796584328685015754548827246 48299919365401054541556316915825238699503569808595 74812617326061208964819469080497597467111733454512 20693172322035843632353479992136940374636264061694 01357754205276274364936621591950183124491082437647 06339872760691411132471151725623651553451086336566 83112335104455176250216176327887039336954381200955 92116402872780703695685217519920149098422264828581 96905538087871499841226123305017177963263412695731
From the PIN diode (digits):
2025-05-02T04:17:18.743274+00:00 92586409904940158798616627562348176804400358776250 97438083560302613136472214617145598505356361344665 26099031754618027314657578175715134579095396128077 92375477445298454167611683686918590338922386102232 12165093015925026980473043549760270854390320851565 90143543531364145795505705313719419568488257484332 94909938671604530403384885571086404949672558646054 34375540318940581821226754210501105210107214202097 72038229945702088257265943354445249303187758847751 91178962947856838963209522244606076082549854594157 04185240728105103624040987703782404257385602982476 98015400902705345577916549504017438486491166788581 40846565230536205914517040112358747292299490512084 47666939448617237372303243511042480509021646299740 25876986199982701530059362436050167846690235222791 64307734582610931947124193487174990058271408886207 44735249881254931999917627765936012001831750792864 94335832289466801418216434195541511011389552239460 33476135032518723784143530702740022514714291435852 72782042626407954846726454403116550638532652333406 53530371912840761051767201232951076558588778940081 54056872848769321728574702770536873316893300451389 65967479588265925415293686209737745363935303775699 98750761155627943149971368741240305922695639214977 54945700495174288572373488928625084888376013698909 29737830696545254720062231415734662074539854445168 95521359016888173112708821719830669554673364961388 40212482857202644009264813458138586744712723301437 90826574611465122745620736813311118174726824879435 16463205281758941253204065999541422530254716185452
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.