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-07-29T10:57:23.450237+00:00 e80d6e069d355347f84736152b413617dee541a3af55928b74d9aa95c72a1c3d f2d6bd639810887916ae6d97fe4de8fc941db6fdfb3340e6862b3721ad036a13 0ea9570fbea3925e17b65f1e89525447a879a9c60400514f074f2cf5c06bda2f 0954937076df5803a652d3f47a2353cd6e16f12c790d4447d3948827c52b7ada 06912affb570fc553c95fc7b172e885d8045a5319e0f288c5014321d3681bedc 56b59c845a478db4410398e71c22b10b724876d09d6088c7494770ae157703d0 bb4acfcee32d912fdf3061b7f997ca67d6688c7689eed8ac823a4beaee51e162 5a0a4cfce3dae47ab63e48714686458ea622e3ba38e75d42b0561388847bfc49 5d3600bcb09388d5cd11e56bc1cf32c2b722e1901207e19e36f297dd01ac3ab3 44fb3542f58da6bda113913cd8b4fdd62a4909fe87291f63accacfe8b1de496d 4c48c1ac0a7520914230540cb183338a17e49f53314d5690b1a53f0b33be2d2f 637399a83f7f7e6e114dd0b85fb98eaddda5f55c340ac6cec29f7bbd2f57875a fb3e0532229f3cec967922384212841d6da1200e4de316b402d558e6672f9b75 ffced83cb7159225d3ebdfa2ae2acadc55a495d387e7a18878bd0562c77d291e 518a09f95db666f1dfbd4b449bdad67a8616eca9a502a485c0dc145b447ff450 36d156dbb209d063dc71270eb941f233767733995febc85829e8558b484864a9 5e34398918b7abc9e32f6f45ea4b4a6941c8bf5fc0bc9e18cd3feb81f7e1291e 15db574228c39ef2f867022c3685c25f9881d4be079048d212422c7faaaeea4d 5177ea83f0a7a60b3e9e3eb39c1f068dfffac3c17d22d23b3740b7e62049e15a e8a29819a06ea9601566be48d59e2b613735b8d0ddd722f3e5ff8c226ff23676 31e87611f4c3b16781a666f34b75f78b352b1c7886530dd97c16bdc3e9471ea7 3cb6d3e944aca74f0b9b0c20a5e86e6a385e2749931847d4be873111dc6eed46 567bf307d9fead30f36c03ddb5775bd9befb8f458c105e8c1af4e84aea69f66f 4b12b44127fe8fc9f413b5558aef49be6b9cd9679cd623c22e12362ecccb9944 f0841fea32f89f4e5c59db1f9ad279f75a4d2e2b54be3cdd7806fecd76431851 6c9995621e4e9fdc65466be93aaee3c0b79f434dd0129ba618fb6b9c50722128 0de506469d5619506a1087b9eb349669259a69f771d9c9e35505c96972b36f26 1ffc8949358c789f5d7deb5827b3ee241097155c435c6d2dc84060126f79a0b7 5b8958b099361777a0c71e0eb1f4556bb1d67ecf44f6de6f7b8ade046833ca6d 499d66c24c5f19869f08409138e578178a27739a856caf7388ad8fede801bf0a 538c75311a63693e7eda64602661a7ca655f1e24de86e68c4524d307f4223c4a 7a3e61908d6a742fc360c7bd6a94f121175dd8ebf03bb96086921de3271954eb
From the PIN diode (hex format):
2026-07-29T10:47:52.448742+00:00 84bf3663f39a3cbc9d4e5680b9628619c34319feaa3e484aad89ebdbd9c6dfbe 58678ce00ad95999b5d9fc7fdb7d1da380cbaa7805b8fa843d0d19e1f2db59d2 c145077f2e40dfc96d849405d0bdb631253fdffef32fa00861debd6e374e987d 600454c81d5c8af14945980e3fd0e6fb8b34c4b9688d933f758b21f6fe729422 f31a83f287d8f36f86be3cb43a21e4c2591807b0dec161d2410179507874576d 7ce732417fe5f7dea7fc606aae48a55cea26db4d0934322ed1f63807bbca85d3 bff8239dbb03ff56db1eb4bb6a2f23cda9c89c12ea49724783933aa0c44c6464 35cdebdce80797c100e386280194eb1aaa5a4453e6486341b2e3075b89c1ac0e 3e1c9dcd0c3b33014f2a0625ba381a7257d39afd9637828c7a16de866e731f7f ba7f5e2890f0776c6a2ec85c660b95506a508d1dc71f72ab56785c0dff4a21ab 41f9b4ba73a900e952c9bc41c13ff6bc2fc93cf01c9edab7c2c72f5c55a71a05 501ef6f51ee34028a64247eae496d2967d6e9cc494fd0bfb6f2bde52467cb2ea b6febe4c3a82537b50247d21724274e0adea6d6ae51ccba87a86e2770eb2fa99 81f184c3c464f9d402f4d174237bb6c6cdef6d8045fc0b0ea4fdec749ff662d8 d24be4e1e858f855a99e5b66160c3c6210b5455a50619a7171c76230d86aa097 73a6b90faa58e3ba49bdf0e210f8c637972ca847df5ee5136cb0daf28de771e5 35cd63ff0bf5f0df3297b50572f0dd6dea87b202b8e8511520cad4043456c780 2f17ea30bba8e7ab23d2190157f3771f764c6ee73e3aa1aa5f748eb5115e8271 795eb7754ce38408c4ef7585f4ea837294e524b27039688eab99ab004e7249a6 4abe4fad6de52b305fc3290f666e45176faf889d27f619d945db013185ba4bff ef62659d8b5f498704d8cb72747e3d4400bfedc54e887d415d4cc0a8bb39632f f8cacd8a23107ee2339b4e09e2d42795031c4625c53568b1f0f2f4f1a05a4419 ff9548b897bb092e503476e51c939ac4a3ebe36de7746afa001b0b06b44eb28d 7db5196a773eda8742536c01d289ad0e4f7a61c73637527961f09c34c38adbab 597031971a6d7f722a766aeaac5daa12d177b93c97c8769b44b05a3afe87728f 7ed39559cf2236a6520cfee5e55c75af13db49658f2ecb1cf11eca8ca4bb485e 5d5c7a44873212e38794aa7ba39842e76c45f1cdaf30ab8bd1faa1fa2153cb0e 5c4d1d100f2a4f7a99bdc2ce536991bfe9fb0d55e10861066fe072c0de65a119 8445823d7e0f20d2ae99ef901f78d53d990e50d8ff82199507f910f039f5701a 701f9ca6375c32fca2fb4b90584157f99dbcbc389b27a66cc539982a5c37d2cf f0ef5cde2fd704e037e71de062350184416cd03fb8aec41fea67b28fa422140c 0ca098aab962ba0c2da2b90fb8e46517842fadb04b8d7ab268b84843ad78a1b8
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-07-29T10:57:23.450237+00:00 13100657538371715421436554236563758546391670499942 28618999521636212274095177482982516434435533730306 19146987159063469423829530378284716821699804008179 07794492074709844712188803668222358310224421136871 48363997432206454281128560492323463693286965495815 40408020502954299086815632907141806503522834771114 72185796369973711274211903877445454748978351030440 18377230587581989010762282627213703469426634865693 66768619363223739354008876473617079350948334441807 58545101725879685366416689611945608042730935413199 72777309767293721017324566488412773151382359834977 86447765631151904547991553686327261017778495854273 65925210989459238947873590620550345960502134566618 32290961321477228002880347551760832146376274428564 49356136208905989925413081380993820289756855223422 69650264339220916827805486780999133914856551181951 53958841853972720069945257372483714711697574056591 95928858246329413021876640955803024454339495522990 07447218664427707477811931676611625862795631064195 93253459556483327390625225601069962102907258439755 53843440341154184918179577032966027517395343282034 83132422899571306760826872677911551232651006569439 73472471903549171070862307734808038119919043694016 94402674051175188065394319818538739007560356359446 18544653683231505978928931542190774643849060200618 67248108534998307859017007587492835967771855662407 56801433401306705786258006163585525005375405138505 05147911383137735340205993258839793616512192679209 45649618112160839137887653542319609930147785077726 68112338040451097357029476952534590864455620233839
From the PIN diode (digits):
2026-07-29T10:47:52.448742+00:00 32915499546088577886288598342595672570627274733798 90880340108953812725296328702005843261132589936907 27466409324805898249376347600897891055785225960484 29923873695214633952968504414763173933144834263135 11349060805833948924077693976501218020168709245065 27679606747265923877095250465607873391355787038630 80870647356956187314713147586096760000530751930034 40014826709068837299657807913793721462285712595101 79420637865626148754505530402222341015312786279440 44190806469202114980068041299931147186209213743371 65808615690082886593638847602858839499479285672605 80303064406666715050251056964811114382702478829076 58308323803625331466167309062868223419147853293295 96000216352382980928691114641659987588856958910222 12609816816990809754131399984806605115668515708886 73891698555144687194190876411353991150518105140935 78028481213204528699284723488768713525018719311876 10625861709516428117943013219483177632089617333114 48367812570442715371007814736674907973094348959541 15021069231175365739256901493386759801573995733504 14162661680091977836256593769268875799473835162651 55780939490328703797530477609068254972845187094680 52182847549663091606002711068078784125812506196235 66830801377314792297995455822197565295387189124951 26092714421806729370181985605118556876905835144326 49893454668212921775197301434628304064877294939222 68355018354870236352660869754871396133831492772916 15427922538994830545911385089706111492016125326930 61261532745344312061531480302549071657122612315666 55925062754488658757888856553966089757524292559247
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.