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-07-12T02:31:43.911425+00:00 7ad4dae4587535332ade53e61ee14a6325b251ff3b3878ea3fb9e11d630ca137 fcf919a5b3c1bbd99e825be28a5917bb93646b26aa07e77b5b5668318e30e633 a23ae6bdf84ce600839831186e91bda911b682e60168af23121a0af53603f133 b5ee36203bc0b5d8561d94eeae74ce122811cae0b3037eae066ef1c2ec1706fe 3ad221c952b36c398d80387596fe0d0f87f479180980618ba0dd38d72a624085 6a61a796d28010253f9eb517f8696cc983bbf56430ab541e6ac9807203883ce9 6506d2c2db1488bd295863d6eb4cbcd7bfdec03edd384c95a1f5151b3784e174 cf667d4d5e633089ca35b6ceb77c5e3b945ad713f7541970dcec64255e5dae67 4ae8d212e9b0b490f73c31c3292ed682901b3153af7c0eb47b0c2226a1ada4fb cb6b2d241e9d8b0ce1a850e0d9d01abd5f0fe7740592ba89015425c11ae181fb 525e75150cebd55321d47bdafe3c5b7a767b736aae076b328a451faa7a76b291 1178745f3e04a131ab4f9c1a6405647e2580e02f6cd1c777889afbe7b4ccbaae 4ab03343a8abe7c87ff7b9ca81ca3e5b72b5e016db32d6ece65062237858d8f4 daa3ec272b875e9f6c8c679eec841fc593f6de1486825aeac5c82b4ed283e536 98785a5d8eab43361e3ec254fd3195b29a344b46ef2feefddf6cd12bf00b276e d44a3d56738679a7e895004e7406581fe00b817e6b1bcab3c21a92c107fac3e9 fed6625a29ac257d28350f08c77186eea7293439dd4045b33fcbf6cecdd97049 62162933c5c2f43b01f0dfce19507e62c152ef4e9b0f1c33eceb4b75bf136b7d 60492728e7fc8da72e4c3a2a8fe6e8d91468943406dc0fb12c3839e0974c826d 00dc8570793902e1d0eb42344fca5cca053d0029a947fe6cac6ff8e0c7b8a093 462a8acac45c804a9d1db48ea554f5c2828413a15be5cd64c4f21f6dd1d86423 8cb9069f73d36d78ebd49075b8a81168a1021a2fdf3e184e570d447da73dd3c1 ee94fcf8d84b2f2050ce4bcfcd5e75491a0cb9c39c67038b4382523f946b0a2e 486b7d46e3f72b9464279e7d13144bf521cf507762ba149ca427a7dd94d204d6 80849e892275787f893fdcbb474e7a1878b3966bf15d88e9ec2247e7f0125479 471efc926eb8f58101d772d51546da68030bbfef34d5aa02bd62c109fd9b90e5 8a40cd4b018f8858c4f0a53adfcf6ecb387a7f02f161126a796a1d9e13a75c62 25d3a1f9e32101cee25007d0e052c2f9eafee35476e4be71121ca6f880f56e15 d97e6f88e32ca058ecd0c774c3ffcfe12c9daa18ebf635284f1bc6e86cbf8f05 964d5eab95d3a9c920ace3fc5ba5b59af398b9419ed92034c7cf1e829645c680 6c5951b5a6d9041d62a6c0819ce1c95835e694f79504a5edbf28edc03508e092 2daf99031ef2e96d3dab0416db5cd73959cf5dd615d9db5bfd25cc97b611c20a
From the PIN diode (hex format):
2025-07-12T02:27:00.309676+00:00 6822b3a6ca05aaaf23ded2845a653495c3e88c4ac4266404142f424eefb6a636 191ae5a298153fe25ab4ec080f1e5fa3d5827ab39ee77065ad0d1815b21543ab 10016f13937be381c293a241f5cb50f1b3ae50cc401d1e1edfc76424941802e5 e7949b55ec6b067946187599e026414e2af9581aeaaed713b5d9e679f3f393d4 aaf2d09236d17a3c02aa8039d3d1b77443ccbd6a07981704c35558317d2e6128 b243dc2a17e2b79fa71f4d89b184d8fd465e90e5f7690293475c66acc9ad42c1 82da7c19bac9866093bf1ee3b1a4037d23ee2c37055b829ef47145685c04b16b 48599631d69dc53e51bf4767f92bbe2bf94148fc46d7b7b1526d6fc545e8d703 30ace1deccb836692cdda6337af388087dc1954ae8a1363c1ce1a6dfdcd2ebe8 10f915898cd30299b4c0e070e7111534187a17e396441a2b8f910192c74e9c96 6b408ef81c30a91e890b422c77fe8182212d7355b439aef48c1f46a394081145 fe8731cd5f9339059ef5db3ee215cb85f4c3ba47e7e0ae19a2ad591f0029a6f8 a4ecccf59ad0623eacf803a9dd11933f6ee85beb01a4b8723c10689a36d3d374 795c4ed8a23d463734d17cc568712182cb23df22002713bb9d58373d1e9e1066 072bebf437271900cc64ffc231a40cd6276c4c7fc5b6d1bb23999015a32d4260 1380d084089d9245f7251a947e33387daa7c0ea8716b3304d84f8b9b8acd38fb 94433fd445e54208a8acb0d970f6ffd8101382a7551ce74db5de01e001902de6 e1a03082af027b25adfacdcebce85c5f8a5d49e82712c06ba23cda674084476b 73a1b9a0e4805b849c22fc9c289ebb43705ed66d8dd4dfb8961835cb1256b572 7543062d6d58033da23eecb3e1e16d7839bf6c997e9d36b8e94069470fd6737f 754b84ab5b1264cd805eb37cd1720c35e71adea794bb3d5403e9d1a660552069 a235e064d2699e100c6d9748240152d9e3cd2edd2130a7ad74cf2c7c1c5457fc f3897438ec5b8171ab4ed53a709bb3a89add9e146f9e2188ac21fa461615bd2c e25ac65b9bd8f9f79b4f968ccb1e3b1eb0ad2bacf0dc5b511f5f6f8ef791d07f 44b9c71b8b6b118a502d56be5dbf4fca4cbe0bd1c11da027031a03b0332eb62b 7369d911913ea515a3e260e521daab86d01143d96b9579d7fad123c46fb984fd 786b2695d06e614a075f05055b6d61d1d81056297cef564f84c18bfc5c006cef 81272200959c8395c54dca81c7044e215cbbff588b4173a557dd5a242c6ac42f 1ede3c68f3b0eccf35e57ac5ae19f4e1152c714d82852a57a9709493c38d5ccc 46f5b8e366c7e6e308a76dba7caab921f911fe4aad55df296c1fcad5796d3eb1 e3ae1f7a3f539c170b51422ab89bb1f8786005d6baf41e104f8741a4ad817d0c 954fc6cf90019cfc4e0200f51d5040103f3a2c3f0e3f200014ba9047913ce4d9
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-07-12T02:31:43.911425+00:00 22881753514283307499377881595620638529991261552565 79938758309138892387470007387007239186044942485162 58897600315249241045896917823001047535182610540351 81543259928186294874161840177903267406109423065833 82790857412856175013153521240928973960564298643306 97675028163763588123050831870048718430062814033660 01069420368941889976889192625676496121275532160225 77949948375382832494594890198425120037949374037418 76804460499541463044274983752414802312343861736407 45363057391268802689951516054686370184379326298294 17211283332360912218231506740707503869317022187845 17201695620461497179562600050026372847089919365480 86747476516768712785296291148122508098352088633943 35945908400358323197472034309097437831545220909342 71675430629484494978545275704708431139107461861534 21674900781606883111292607277994264693079598904172 37254053150899133467415257646979631273982241519794 59012580269893827855152851751791190725967339404167 46765842432004485206157744565751763009003312215702 66527992056100416971087211998460477042389692287457 29804265849430321961910096310900354085065915092044 17846817046102264762247887136825676193487547328075 94177326128595560303396730826348071046720725704348 00395825192075338019988620566439674804283258373417 20273763877178222420795007933634711884217130461084 29011421700403119152700289989309554438647501433688 96655810562227029718062106295819679298376133018007 82948418901318286628102126113644608899169544577024 53407927980891430550779471496932729165815452856558 32529930305069982808898181660429986692295688534849
From the PIN diode (digits):
2025-07-12T02:27:00.309676+00:00 04347966057075353290015249954074963800042047667882 66542526625221639080081530956330227958120173132421 78216771160111194723299447626580797480642930309900 36482402485585070621702417533865784288267419812147 70465422600270285783166789060752230495858849254697 40786742238359673177377732709444050247719202727366 93302425863496479130776403253544550591305813690492 04770772895049579762819171034390436572708377820911 97690348728454054466512236082593497461546028661621 37400253809212172152242223506826434345014699785650 07644228486930371166441929303345158580577440317063 48081769354995475705586221339586717425627389310041 66645498627203691747631091016484146016045454162192 78626170555224970413333035340039198757885561305816 02074355392500009449641239087627978287355344216345 66961928320857466937264826515625702414681307510479 39553856486763696608687276121619306785287781010144 45604830750223377388929538937339189207626003643271 07156185602891325634564058876712940941845024531886 81141767064509880361626279092057910853265754846405 71151527177532719118002894792414125326674887618403 66968532056253000558161209517236018246334867731644 24288487371656912913717858125579685458201158333672 33702221894490989155557950403059307673437291813195 11424527688599273907173880458690939179769011932960 39032603765146824315051745626521639633713417670749 21359611853220073849109774079505059109971686412486 79329339920008293934004956314997772999047833928788 39651565879036440696473060047653229774252144137730 33428769124847954192708402990867098624708533177473
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.