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-27T10:15:59.599630+00:00 64aecc41c3928729225482a38215d16251b6cce3ca8fca5fcca7000b52ac5f1d ab01af996fb6e201d5ff51ecdb1456402efcc6e1221aad910efef2904500600e 0afbe83daaaf6b650cd49ad6b53ef168e2812aa8e4036268d7dae70ae5904343 84d5053f32cb23d6e5420ecb72788bdb26533e56f5e57ecfd1ab64e612cc4b51 de4c9eccc5d8da646ebb2c5e6d0f1fede24106b62fbec17e9f4421fe553833b9 78df4052228899d48f5bfe8bf3cccfe56d6b57213f2d9df051ca19846bad0e3b 505509458526600bef9c7edcb1380440cd218a414028a2718f6637e0130d1645 b13845d89eb45813697fc5c84d8f2f8927de98838e007d52299f520d757aeac3 e7beeba6dc8cc4b268557450b03ec6983686c1dc681a1ff7ac7eb9113fcb6f58 0bd4baada4df51b352ad2cdc0c67fa831d6de7484bc3f318ce3e293254dc5d96 3e0f72f7e537319d4321f83667e16a7ca1fdb174c56879526ee777ee3d47e387 1006b0ddd60bfe915861ead6cec44271aa7df649b17319d6130e9691c92ac6db 2eeb645d207f8834d05525bddb2db718b5c246ade90aad5986f2d27e7c609e03 72be590ad61dc20eabfeaa0e69e9f21c0a7c893632e73df2c933edb665c3eaf3 f55a85cba47ea92397123ae30fc2b26ff7e3bc99e05d2eea33a85efb7c89c0b7 65a4e77f425e1282f2ecb10a408b7e65cfb641c297f30483aa53952e78117324 66a730e419921044a9bc29be147911c46e4641cdbab6daa0daf9a692328082c8 15c2ef680d0526d101c6f4cb3ad7518ce191b3f614442eeec0b9dd6234d41765 c3d111ea55f2e58aef36ed381b709b224625592aaed88ade9fe066c3dd6bbbeb b97d67d6a2bc6aa8f91d00371ac9905fff03bd1e050698bef21643e42a515dfd c7d2aa958baf637744ef39e7289cbe01d311bca03ea81c114b6d01ad99459471 36254962dc22ce7fcf92989da9904a26f9474aacdcc7f7de2c75717f91eb7126 45820d809876e48284d9baac58cb0f80b6c26b3d0f4e91645c0ee05c057d5dab 80bbe44a174a1591a5874d34988a83c23d64296f67caae5950afcb887f5ea8ec 95a4a25cd8600e69a139f5a05b29cbad90538b9a6cab73f98cf0a10c4ced0f51 caf9cd286d2f38ef937c881af6103786be71f3ece2f468d9df90e0c49386d5b6 2664b03117222fdd5e460641b987484d7e902fa648306dd68c45afd4cc553ab8 edfd250fbb1f9e52c2154c1b9939fb6bfcdef3a2050ca43f0dcaf7039faa0f57 6ab9cd84bf1d7e0bf82a4ff4d47edcba1b17a18192f3c784777ddb25bda44be6 2aacf4bfd38f9299c472b79e730366f2ef1b2afdfb709c0c61de590a7e0e53fc 934687882597140bd67152158569c5a8be91d16b8b94e1e0781f55f5bcf09bfa e2fa7d94a23eeac7c3dd9ac9be94e09ca3378f375c47bc5f2f6e79ee5ef6dc29
From the PIN diode (hex format):
2026-03-27T10:12:22.199820+00:00 ecd4d2504f7beb7ea4f9f23eb5ec4279383d3e42d3e2ea64c19f97eebec507eb 41cb9eeddd5f13fbe5238d5855d753575573049aeae9d7267205d5f7a746abf9 3b8072454e6cbb3c4db9d9a76ae52624b168408037ebc2c01f873c6075fdd2d5 3c8bec2a8ec98a9b127d62da328f206139de0237af79ff2400b4323953bf3bd1 034a3d04f048a4d076af64d91dcf534cfd91fb698479736b228164afe4d8a30a c40ccfaa2e32f674787e625a7a32bcc9790b2d65338846bd133d2a424c0ed07a 72503b2da7b269c4efb03b50ee2790502fb641e479ebb7b9444bac89a7a6e002 248d6157faebd93600663d65bb8b502d84393d54eb88bef244ee4faa157356ad 5d74beab8b3847b4816dfd47bc2bc1626aa8095cce9228ccd261e7da8465327c e2fd47c7dddcdd87b6bc9b230e6f57e77d6bf1f4277984ad66f114987b4c5de1 0180a65abe0e3358a26b2f96553da447398b41330d85be24246925bac5050d63 2d2c3d9f8f633daca053af048f92161b7c13cad3086e17a2ba02395dfc66e57b b0545ea5f0757b5b249ddf3deba8ee3de8ea0b2bea09bac65bd3277ff188fa1b edbfadcaf93505d561b4e2654e01a9e8a85ca73f385e7f59a5d1dff232a307c3 d9c0cc32262617278b09689c498e264e3b93847705347ac49c613a9a8d970413 b637131f971a560cc887298eaa22ac3fca003dad78869ce34535be2a07d3cda0 9239f1f6692f32f3cfa833b552d5ef7d8f64e3f1cfce3980c95012ffc321152c d83104b6df0492de52d3b87edd1af50abc6c1bff70cb2534a36305b2a8889a71 3364f9d4f312bba76fb5993677058b0ef0499bf6f0bb2c97b9f7b376739cc5f6 47bebb6001189d588267abe6392ee605dc17b7c5ddb0ffb10fec04d5c43f41bf 6c28c998480719eac721573b18f7e7cfb4d06b4c3af612234cefd930fedb5a11 63eb56ed75f48c55b154d8ea6df3b861689b6d1d16b76d904bb2572361af0d3a 4130e9f9c1693126de2ec3ec448ee31e15ba46e1f405da59e680e70682627897 b695b31f9982e7d9780bb38878af5cf7d3350731906aa64ac7ac5939d60b474c 83cd09d4e9012ef403ca725b4827a35a454104cb740863ee5ed4f82decbabfa9 2340be7daf0b720effec18f72e090a4225b5737fe49f5953f2bb71b6587856d0 9cc6a6b0f681d517ad472bf3b11c1c0c44c6e91c042e1a6a6c130d65ae13d7b5 54f62ac57614f761da05ba54a49f30dbc844d2c1b741bf87e661dc391c3760c5 37657702ecb15ed262bca15cdec46dbd5fcf1eef8350853f566dc9d2d1161148 7c0a7044a849c27aef54ad231f82a16215c814db5d43b057b291ce4ad0e345b4 6090fbafd98f3708fabcbaf722796d3f5e1b625d17ac34dd452da0b263e39a3c b73af2204847ddd716977891c34ce176deb800291925028cef6bbc9f81c10189
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-27T10:15:59.599630+00:00 00746595463541348430633021988182439567001182729529 71017553118201812086644698342673451444690096141061 70750701125481620429426803980410446767320563503566 14142039388362862671001875817658970010874494091531 65068247909326596833855651852064823436534391390907 87336345578125320773145980850969333896115626775604 64333865644062134302551913226977566958808819052797 77434737395231420025824159821317229590664096780485 16807662985254349304263172268517631188118673648179 82734412033129097275952462415084935062151455495767 33540306246177169704218210196171351606761145889796 66137025737715251914504542984600933227365285378945 83248194707310738934262496580314908910299414717014 05281024375450615182019590336426693551185815947811 88539346516894243792830164276694183077106439260182 65945104317083494620171536026748254616686988419020 21179610706586826066465028302194041305380198588140 45792068469285985223019517853854562712553470378942 74385902950787852503628806682900552644950389300506 52902267428193997049397599196857405690011788606268 28177509017353694813543773983427465257694474387174 72994417132745133869301328521830328672881528829407 61157845009214920525937128877423742145653577525238 31946100411103748980753627946849646292961405615760 91417344833954087115406112761581400947564724362616 55349013044496473482380076492334479470066585357277 26444766724809406975855884371587315882942176275357 07620512646313035970158706853291292611427926862723 61294699321925378964754272914346539614835815030227 42125612978910261483477035363751201113822133059768
From the PIN diode (digits):
2026-03-27T10:12:22.199820+00:00 80792326646281662156616266009359519097076558951935 41888583878515045438140567707159281469780887607785 67063836770464285594923135609617603942423855182598 50433297570255752136008050578391590374610472641875 00298376450532211507342900756310961270465016202698 90225088211145015136708919614266761422148059456778 05967659803944804782652183856875723767660236419787 54000261018739804532576184369068797021158673931690 71395671802909718843939806680992464097320150247199 35828855351411872507392132730220522376930128669090 14518862074750856164715739655113339036360537869705 13994544615943996172608375044346222724190810236286 02579302237684946517239136576168611143098698913927 36279173530597800178016968926763569427896550630795 92503838233939090456734238785947321905522296569758 54415104198255193151268612354142703472630061732034 56695390420760465705475068518182254300572880189533 21444904820446828426261088082712375263990578683654 13510018876711815354190539147355874451857918155697 71908796012457883003715746052383977677150496636591 08405272072599338759248007765818357648901799861740 85778409849704550929228309447578873597751358654893 05493846956842302186700589280630982051824979315330 20117936207592530749440666749972895711717631090146 03149172396390696504160899944586916935649025751114 14244609106637811527598983871382882086569866762923 73714377282812689828044626060819130174198184429718 20970586846459486893836591359757285596975501190277 94988861929609899530318033638609221772241012686873 94228473353130619821209367768778457469809644754355
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.