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-12T01:17:43.691564+00:00 23972e66b5434dc1ce9dfdaff003321923af38470d6bafa4675e738b3c504045 0fdfccd359b0cd05b41d32eb2f394ec40434cd6baad1347024f89d39a94c2a14 7242d706ac5d0183a411c3ed35f47d3376a91c333f50ba5a6041a0716f968788 a43ad68d4bd5a548c0d798f3dfcb1eaa114bea2539677299e65211a75f4f9d36 f7e0c167fdfc92eda29186527d8167be70086ab1c7bc836c6ba18792387b34e7 bb95c718bbe802124d3af8d890cb60941fa9f7c80c8fad7fa5acc2b67e035ed8 35309cf3a513b15b05f479078a60770b8a6ad80a0d5d5f97420d11eb5f70f91f f739978ff79f5e5e5ecad8ff68248426260fd02e21c47d4c231a0d9cc74c2dbe 262254e817fc4d82494e1339bf43a254add6048e1266289df6bde8fde1362fac 16fa2f22a9fa154f6d99f100ebb71e13a3eda16dcea4ddd20c26e44614db7cb1 4be84b54a1f13afa136a329181f0d2362c8f51e79d99ff3599e9717b2a11e79a 7d74bcced0cc0a66942ccb2aebaef34d4c49589f6f34a8dff6642a43857826f7 6ed082addc4695e6dd4a76037d80e5d04caab7b0b29ea380c7f2124cce13b67d d9ccc4db90a905cb4875693e81504b1c7a538d9df6b6597aab0a00ce782a7efc 6b566e90660178d5308eeda6dd2e848a57979085dfe5be6274f87d64039c1058 1b74f347c1fe273b1aa2d2acef1870d4f6fff5c0b4f33c81fb58f79019292363 0ee87d35a3f9a0f594adc24f27be934710838554fa2235f4425c59251ba2f4bd c3237d699fa43525b7af32f4e87191eaa75a0dc8a48e9b31f7ed22877d9c10b1 700488d7a89f1ea619a686c496758c33165594ec96481c0a7a9b2ba55c450257 81fedf556c33d3f726845931af5f3ac39474e52aa9f07847735cc44f9ca51c33 4f9e8562e513eaed28a60a5f80b14a21f87a239cb330bad5b8d8078eab7e0e50 70b58cc000538b044a0b5ee314e991068c0fa3eaa50929159a0e1fbd5b8544ae eef9a6a6e8df5a805bb5f0456dc148cda653c5129db555a551b7bdad09ced44d 88d1a9757b8054e35199ad4bc3048ccc4aedab0dbae789a6461eff2b93d0c323 1550878a42f2005e14146b75b7f3a5a8e1c5480af18eeb965df294cc5499cbd6 9dee051287cb79c2a03097ed285dc4dcd97d7b707a6ee71ec95ca4f0892d7d1c afc7b6f8fbca00c8505baaed9dbf0ef02f6657360c8947f9d5732d5a159b7a21 0d17610a9a705169a88993588a4b564d29f4c402e068c892fc83ead9862c4213 f23869c5e1447591e00f697b704735739af40fbad76aca9cb771f4ed65991c12 52431c04c6ac63ae60a89efd2d60c9507e3c2835e7a4da25a8920aaf6e080d77 a08246a754e4c9083a63ce91e1c2da4a545c4e16b15c2d6aff1d8df2499c8ca0 9775b9e53599ecaca2b21f4e952707c15485227a3b6b11338fbc8863b525fc99
From the PIN diode (hex format):
2025-07-12T01:06:27.088763+00:00 2b526d0df3ae620b09dcfd6faf96b41203c0d03c69f631cd0529ab4cfe8421b8 b29a0c25ad6179f999b338472aec7f1000bd638e58165ade420082b77054248d bf3edaf097c1ae68a281d4bc6ea3cbea58cd5b1ece5785b248cf1c8dd687da29 aaaa9a331d464b130f26063feed007e4555ba60da768cfdad1af6ad2377078ce dafa326bef5b42f33ed6456e2b6efcc387ea595c771812f0111d5967e6c2abd9 9644c8a48879cfcc4848115aa0d0c45131a419dd85175c75d3f7001813a1a932 e2e762f36a33e4af3a049ac2f06fda05d24491e3a01a6e24affd71f613fe10b6 a9f9a58dc29154814148c3a9f4c666fa05057b06f3f6a9b3089397144f8131a3 34da95cfd086fd975cd29016a121cb148e0e7da99aea249e4f48f497e9602f56 aee863b1e37eb23ef032250c60ee9da02f918e61b8b9313e308681244e04c9bb f54ef89a6582269e568fd000aff31b951e99e24a8ebc6e17d56374a89952d22c fcf47db54430d5344e80592fcda5fbb5e0e5a44fbaf798e61d960958cb5a0646 0b5cff6717d92aaebe16a49768c8767427495d0737759a668fc557e241018aeb f71eadd8a2ae0ba431c226ce2d5002f44959b07eb1c364abc86166616b2b70b6 f8f87d5ef8013d91ee77d227e8b06605ec5f7aadeb5239aa7a6f4eb56ce0bd77 664babb3616dde9a9f04b8391948a1ac56f2ba79b5dea74ef031a07f0a960861 9f95e0950f4ff4eb315fc8686316f0278358c4c640b9d264c4eecd88f67ea768 0d491d5a6ee46a7d877505eaf3d77dc9adece08f8d8667317daf4510eb5141f5 7a538ee2b086735b3380c1f7e8972242490b3a7eb04a29287ad106182adc9a13 e3a1090e030fd58489e281c2fbdaee4ce72fe74eefd66b1b43d99d9f6040045f 112ce3edac2d6b851441fd2ac57c9f34f2e02e1700fc1b6efb396a3d71eb0045 1c49c0722f07b4a11cc1d1f860ffe13d760eec7847abf44b10ccba6d73650739 5b17acbfbdc5ee06df16417558ebf5ba243fcadc50a64a76b4be446bcae1074a edb4126a41ad429bc54f7f63c9e958a66252e93df0c888d4e8f5a7415c60c30f 14707b05417ddd3610870e3fa8c209937b10b501027eac38b954068dd40c1b97 1374b0d15de60e7f6a4eff792ed2035d4edec46deef085dff23186a2a46b25f0 6dcaeef4a558aef4f7fd9a0007f7302c00409f2e107288bdb4676ee5a905d24e d922e09f015bc0cb100c39fca8ddc0488321b68aead1b540eb6209876688f31d 61e2228028c3f96c8b88108e427ec0ff0d17e96f0f26a05268429176591dd804 27de8ae2da5c36298063219e8630d8aab01df9b8d5e9d29c83a9b44ee2c61ab4 57c16dd51cbcfed7b9ec99abfb4dc77bf42fd5d6f18ab633b5b34a3b8504337b cfb1762b395f6296070161eb6e1a4028950aea2ef2d5af2bbe2044c44b28b58b
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-12T01:17:43.691564+00:00 35514602816777935775035025357556711307756403941539 60806469158976058029504757789604520770521236575769 76422014660672930131641795532551186928516380869096 65601311503536645841756572925230701775375703145382 17679579575493034662453482252903901208067799883108 07613546562352874999248702187758449648316912437327 65729482260394534856651977910521073896191138061013 93955166131795123157514359949494043632383815463396 25763526135699764590383484237730737819579167628473 04421802405789544772224734692179095300833019636109 64123870202477757584615819065045295444438157535353 13234217542516881002484442747776738859115268004267 33203810307370497418032528767083767858632899187619 82259644690572170562298075282283415782892271100020 42260786104402012048426646323887514433909816250003 56168827167193395926627224129280602988442541359914 25536360487394793990477116313384345366928937276289 95352505596453378375501345679013644255493435255616 77120436685930662566349650174051228548507228102255 43659269028729850851383289497595589548164269207115 92967956652851795833981940661095287774332235567948 86840742712614801281409200833904741194204506401563 65094121541431899133687466669028918169099372668397 18578185658183897309773669172328848153737595044074 71138637667030434795352180353866009420200717836568 97721042509348845357051835219460485140939625231222 10309264374525287599820080917057911447028754123771 15459021552233132397105412810568374788387586774196 02044631344466195605976817451505231271531554158606 56831301532818826728049872997496685845968026604053
From the PIN diode (digits):
2025-07-12T01:06:27.088763+00:00 43820913749811091175508018039260054905417176323384 78541237739721537956714227160089994288229066003083 12843641916251937404622988106388913087337872284135 41707054512970751915380663078591661367047506551220 50079166626910431095358992192418172989039471506864 36217272179060968149642533239217002419616950980651 75580454941105684560261036751319168269654194458429 65729569980205052306697908475120792949635249345192 44226133204214256954365879725196478674997726786250 37129657604745429784854962483429367804877854013038 58864300752749305374428810239916685382442581684852 78288947658164798652295009889006701192032342749022 64510418163973930755175402439787650138307362741164 49943845800273897626779500719702970743128225940161 45193976020595227382577022117881088919027571799709 54590484572572617286862181677849602710500897594949 15794995049922393188969864850096362667041373299010 06253517052573434134034925756916816522834276341591 51289351346673115826767441402206244254196109140315 32372994764778072767575996640495174472450733206542 97245952462300271057066113006928739214470780612893 96611814207171751686091501075791237291899706226517 88863663806674188090680707748018066573665597792799 88669882613667659296951520122305652554163514636894 09472316810102267256858406411227511916769314270678 21460393789609334934626407370965887454000748440064 59461614368980031069057834590191921612576892723133 82388164980935023629973428409508393616426626921323 11153860820466451889290439389254412899335834487076 29845631698078982680879309288885537177992347388251
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.