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-05-24T02:52:24.427692+00:00 ef4964f35ea9067cb47c29dbc7c808e7aa4cbf44f8f352e14b1bbcb04ff0788c 5472c65cfc7d2d56651556ff30134ea255873f74124cbf5b4c61a4a4ab3b9b13 ed1337fb088991b97924b68501d3846b0f63666458f5e701e904d1784d5264ed cec44e8eec91358f5f526769d29ede36216dd389563c882ada07e0a33a06486c 3b8e690733018e138e8bf31787d603182a476d1dd6c96cb1b01b773c14ba08c0 3f0e9eb60c15e4edf94ae68bd58e96f499c34dd1fd0abcfcc602c92d7490fa5e ecf685cbe54aeb3006cd8b5cc6094b9b73354fe04101c28cbdc1442469a87ef9 7751ba9438da39ec29d507aee913a163ca0c50077054822c7b98048455db26f4 ef86f00f0f99ff9dae135355026a9a4b90dac4bb05a47603d01de3b31317806c 9ff0cad669e036e1c7e3418e2197544ad93436bcdde8ac9ae368e1dbbc4be1ec 2f8671aa99b23cd40788b4ef6f2d21a3bc3a43f6c223fb59da9b36cece061760 5ee81da06310bcb664220838b032f4a7a05a974549a737fb1c7a6df78e1ccc22 339e809476bf489cfbf1a47585bada6dacae7ccabc7abf436109fb461f8f2b67 366569010e5f4d489fb27d4797404930987226fc8fbb40d226d2af0a2033e9af f7da5e36b54d7aac7e1814afae073639a3172829241917a94cebfe53a87f2c99 3fb96d7dc5c9a85cd43b23d05084ddf5f4b49a512313efd5f10892e5f1522a50 99fdecb9de13f4576006eb6af6637039b76abf892660686a0150fbc54d4bd7a1 dfb6485438954547c9a78a48b076ade4778098665d34c3e68fe8d64b3504abe6 dc11671694aa27889c1c69fae5387b818c4e047fab9a487de904ec7b1f60a17c cd917e5aaad64d15a425f15d5ee868cc52451aea68f7b42f01537ed7e15a0721 5b131e99d78a93773b270378c361ed3281d234c666bf9cac16ee04ca7d999a34 4e87bef20b3b6fa793f7141a2b9e0ee30df781a7af9b3f3a8ff92f557dc9016d 2c5787240c4f7cc3981cf0099b36d3c2429c0ec9216de044eb03a6ffce23f6ea ba0781c5126f84425e877c8aae4f7adf91cbb991f338bd1dd65525292f804475 a1a32c253a11d0b86ce808ceaa5cf388e32e020b4e2b3b708ac96aeb3d55eef7 e13f903a6743ef74df01ef044e6635a4fb2a1cc7c26bc34dacd01e6d1579f9b3 98aafe1454a057c399754fcc93136dec0efab804b6925fe3b84886d538bf7d75 2937b808c087894684bc8294dcd5e73a7e712929b5bdb2b95941825c844ccfb6 c74d1e41c5373ef638d2029f1e74e3548041c06826f87a2a3088f42c3903d53c 67107089b71588c615ace3598c8558adc81c80f48e8d1fe3a1d0c1b95342a009 2239b1c9f5e48247e775d7a7d61f12b75a9feb9d023ff40c0b8395fa6da66355 0937c651735c7d31574c8e75f8d9e4bed20f110935636e91f970fcbe15acc0de
From the PIN diode (hex format):
2026-05-24T02:50:16.027371+00:00 161ffd77e4cff5619f6f2ab4cf8ccaf057ba4b5b03faf12ca70734b8eb4edb3a a779cfa90b4d36da258ab63b9ded42349012b999d5ae048710d87a2066de0154 670a46633bf3219829c26f31fc9a333456602893d4a49deae9831ad3811d7ebd daa15fbe7d5b41ff4217026e6ff40090caf6ec9c58c944a4c0f5b3de61e8f69f 6cc5b4f53bd70178f3a7fc6cef2cf1050bdfaf4c8fd14412d363c5461a931b20 e27b583e2f84dec960280f4d565b2470d927b4f75c2a08690a2c91a34ac6b741 6bea141fa6b289ca450a9705951b9ecdb4c28a911b6f04d4adc020e2957c03fd 64d5f5984034e3162b36140a25c0c4a803600eeb51beba59c33269a692225e21 8d99636bb62f90bdcb3a21e3ae4977d9f63e768466abe303576e58a41f117ca3 7c93c9837a529bad769516ee0e653864d9ba47ba2c8b3e7bffdccaa101ef958d c32e2a30b0387034ceb8557c4a6a0104088bdbf961b9dad7684e9db3509cb89b 9167a66cc9f5be1dc105b5e82dd18d04719a2b102b3caab7255a72db45a16886 d469ae6aba4ec8a7bab211acccf964647a6accdea41fcfafd7bab04dd5d88646 83ee9e6a1709185c13123476b645174892f2c4d82d84377591ace1355fbab905 c134519bd16d8405a4d60119e2871ddabcaaaa787b9f198d1f5829e6b5b23035 cdf250755027cf1ff698f92690ce3a46d55d8cc505f2d7ad9ee23337beb61653 a649b5be850b5c45441ff31c14cac6bfcf14eef0c011490cbb5e8ca13b661005 0ce8940ef9b50e550225365dc48d12b6e1a62a534bdcc2e50fb0995aae63a4df 252dab5b93f05918afec4768aac09416fa919b2dec5394f56ba6e262cc36f085 173a0a63c886684aab62438a5479d052082f595782c951ad544cb2e974362047 197cf93ce36f91ab13cdbe84d0d22734a80182cc6a2f6b899b66e8c27051df35 8a9fb51e5c8878f7e12981f9de1cd7954d4732e82141985aea3b536ca08c9315 d01d430c65eb6b433cb23675db1550033946f3fd1dd1189db7fd7d6c5975a667 6a2c1016bad8b47e21687de23df29de08fe6ce5f00df773b183126ce189eb848 cb6b8d06a5f42dab60d2da79349b308a89abe47adfde6b9e8389ef73d2aba89a bfd5cdafa375d6fb0783400818b425d7f68ff0654722c82463fb5cc480688598 50ae1c51c875c5707f9625894e472adc3181c6b3dcca029f61113fba6fe3d412 224130726c548f8a12edf96bb5e088ef4356562a7d364623aad87d9ecb47a3f2 0513da0981772b8daac61e80dfe2978fcec19638e5dd8cd12d720f86b7f8d256 0fc7b79192102dcc587f42bdd9a76e178607b0dae27c2894920643b1101001a6 d98c248630ccd293736c19fcfec1ffe55861326ce58aac64a01e1fa2b647d14d cc5bc8ae0e4d980d5ea5a2b1134580f693c969fb3db573f426d3464dd431ad4c
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-05-24T02:52:24.427692+00:00 73009469062480244199087076916882752788767920408414 98922545860121864819786285356316187691917697646471 59551919550837458521368233013207159902008801042077 82009678424553439582030558543309378660364207635806 72085942050751014219423923350324427109290877762719 60208608926314588212217439425053957710889802451644 94337448063992980975551553796501944089936836056826 19818648565741077419619912800712843044235204328538 34151553577419838502065475449687056418032979192328 08590554996542335184745254887254048875473413705378 60073680114533638858679435895554062396942960991688 82003408567650676090516973675528220942283451582848 18917256641733860972742488229167970970314343035401 05011495777259782571516473485214384387643875103251 75945481772272262420757407545763234041362523697683 68274453638509259768925935803280548135190846824280 53851987960606991257830691373896040601809777756182 72845649697167387276187319285202935295437553047117 03224870393656280556232940780427715472250423319661 24452690707721643793940482692604804701832690073391 19305338471959390320959750295298029156722204255354 52783590115911674720264358141329677555635843478525 01094487353612792495522809555494665614330968036635 86072997181132669435243874792245854556892985374147 28681761634437581784080870923646021178435912380661 85634458036716010478025364422899940795777230092121 79527020846087955317794719091484048246958472345691 25174155840892353770328830485826134141818978858965 30923276829977306597556256025930168428659204382242 48364457036003161237832136982172894033887328284241
From the PIN diode (digits):
2026-05-24T02:50:16.027371+00:00 22311997591142804087867591034467075284785867216911 77543738825957665244188553740435162232020184031070 99593352419411495451528696404764573126292926896195 90259165662302101100445688686492799759089780590120 67084405117576436818999770264727322388624732964015 77869136123980924208051044456374988365072031667837 69105105492758809438452711047392324924030052645222 43542010379296680396148190868995500566463494334153 99078247448958337473196218320271038710886431172463 24473122825573184922140156008671864439622361014941 95464248765612528485247406010408399785047857798056 84554503660890299305814541041354431643607083379014 69610434057406867867867817720000220664317586767734 70315806230924921918521882692372469645325517457253 95868505935281550932056401253529887070202359254131 88418178485380178039315238445870934097057358515590 82228366738190331192696831282098912092177312879440 61590216051248148114850237549396411882664283759415 76539074996437457191478924757104709248224555458348 07669854332358109934047471986738842182084789873081 73847678165432712524601145711990323952680130064707 37550294128153385981309236204129284977715033655290 59830860404721296712010767607854172180035770292457 83250889176603064416228680263304256157439500195924 49382458847207410665457196215255483837712207583137 15716854917563170731640824803743017134369992962804 33528074288117971227503737787142492998790259971763 86111834654814088443381807813667868642255470357025 58716305190929194341709830285143935056404514153483 86159983454616458827668967102334077624404846066777
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.