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-09-06T17:18:08.799764+00:00 c6e65cccae85b8b694726f010b41f28920f80ab98e1fbefdd9b0983c002e4e6f f15fb7077cbde8d8c3380815894773617bab2dd460c852d19b9a3af1cd75e67e 0726d466ac143bc236e96ab49ce19e69fb552a8ebde67065eec30d3af96c01cc e8bd0b51adef677e9e48a02d5b2e3a15aa326fb27973272c231ecb49e758adcc 721e79fa9e4a91cb4aac831a486dbd00eafaf788f4c993774eb37d0aeba272f6 355dcc5f9eb7c0375babd0cdb7aadbcc44a3e70fe6507df48f1cb4fab4780641 bbcb44ea39a645421bf1df49536560122935a1967a3fc839662b1ef2b1153026 fa1ea5a6ed17384aab0e083a9796d5b65a3ff10986fd559dca9d9c4ecf4e77a9 cf4d0d561de4f75536f60055a0fbb4230c21f86c74ee190d80426860ec167aad 554721068370aa5bce59ba1cff83a1bc7a9a6e9822151b215a75a1f783362cf4 cdf51bc7b5d442f821e5593e7e2abeaeecb40ac1c0e316fe88e8c64339d5f3e0 66ad57d1abca734faa43b02847e7f9163a541175130a3f54625fe37c74f47d44 8fb72fee7e06140ec2cb27c926cefd03acefe195df2bc4421d3cabe0cfda2803 ed5aba9fe140b3ecfd8228331066a5db7605702684a1d03b008f8cc5c6525348 f4873c20d71020a28eb7ddf6222c413c6d45eb7a5bc43e3728d8f7d09ce11ebe 21bac8151b0023e3d6a3a50a9a04e5a463ce331db024636ac404e9646a5703b9 3992039bd0a5d0c0707414e0c719b518ae86490e2d05a69c00e99432b7b196cc 0b0beb4112ca39d237048132cc852208c0c4ef8febf53e67508fb7d4aa2230c8 bb13f24077fa47a98b6726b616d67b0ba4cdc0cdceab8bed5224cf24b3d33110 1e6a60bece6d25f414b35f89976b09c8b656c268fc10a9f56bf383af6b307b97 a668c76b6b6c4bf2ccc59e9bbe35f1bb6bfd50967134abe48d28160409a225f0 fb61d8b16d50a69f83321d78dfb08a824a29b16a92f32f780ee413ec4c836d7e 4101f9d091bd4f6c42195507dcaafff1e4d056aec90bdaf72d881557fbcc2998 6c0fb8d37f21a5ea5fe2f3a677e145fe8a93af368a7bcd21998e561f1ae1b32e 50f32310021d152f0f6316453662f50185d95c4f3f8dd2274e2e084a9cc7bc94 800e0c1de681323d836fd3031b7772541c5fa793666177ba3a6986240c618874 67f2bb9158c8cfa46e5c340ba907ced7fd352e440d6afb24adf1b62bc05ef0fe 2783b51c6ee75a7e98a7efe9373125e07d4d358ed56897a503547e44456426b5 28931598e829cda300e8e79360469b90d4b2afd865fb9f6600c414484266cc38 ca1c98740fb65efeb5f594e4825f09c0375f50a3ce04760f1047809aa6d21097 8d85ec1f691c8248a8fc1d616e8f880d08e72324497b9403f12c8d9626490655 84991ed0ca4e6437d537c30ebd081af5867773524b056e8f6e0f038bb2a29047
From the PIN diode (hex format):
2025-12-10T02:06:57.906451+00:00 b1102d25cc87b28e0af6b3e32cfc2a86ce851156d48a7103fb0619a578676aac 6ab7a5e5a2fbdf551c74acf4f8830bd3095fa59315059e656d6a985e785904e4 5934e12687e99ce465385c19c29942f21070ad08deb461fcf8fc4188297a891d 62b512278a70eeb6b671921c3bb7469f9a324e15e37085387ef2bdbb130238f6 e549372f9d3e58b76beac9839268c305b58062b542e961818be6ca925a5f3138 0ec3d3fc0f7f09f963ab63af9e6fddb687dd015696079cd44c88550a0ed048be ffa46c1d669226d45203f9d503b2f52fc7a5a7f9bee2b12894ae934b61777a2c 7fc6b07f508b4301e3c98b73814f4171872581d25ff3b99e05c4b7895a8c815a 45f20588787bfe5eb4b8da0588280b75886a9e4b068b003d95668f08c3b1d84e e5ea642d4049d039283841aa3fe3a77eebd579f6ab74548331155d46ba10527f 8c9a9f3090b85aa9ed42c237a0fa697a51134a0506b9e4866f35bb9a161e27e9 fc38f4aec906c12b3be6beb88da86f4fa293cf07cfa704d8a1d1bb76ac47e59c c2719b1b7d9f9dd0e48939a829f4a1b372a45eaaead42677b78f27b432e25902 580bd35c271bdf3d93993f1b2210985bfd136aa7d6e3db66e615af88c1e84abb 889d1a94a35ba8a982232794e3883dd0607f349a296e50c7a9b07999f133dce4 6a7c06dbca06f37c0319001aa6de9b9a24f6912883e5941b80b391e4497d5a4b 5bdd95b576bc14576bd499b34d17894a096d28bcda452af235924cd57256d830 17b2f7ebc5d57e2c6ee2044ea7a276bfef77dfce142f08c9e94bad4a5fbb4d39 e55ace27f9c4387ed2159b267213c075b086be3886488a5222c3c5a73857880e ebb888da1c89fe028ef93775a6553f4fd5f47c147c88fa2f697bf58aa76cd822 652ceda339aa56ec2f261d62a464c99520462f841143f6656e86549c66e4963d 3dc0b62539b4eecbffccaf09995ea5b2369a1d022b1ded37cc97d98c7a75a6bc 6b37121527a22b7826cb76ef5301200072c0048c12aaaf59ab612048f43e7693 4560ce9ee4d72fc97e2f2666db341c0f9ec2119c713f944beb43aecddd71ba60 9d2fcc7dab965da5e427056420ca8d5954d1136995aa0268eabd293fec1eeb43 5531205135f9e8b6a4f6585415bf640bb9b9822382c1e329917d9c00e18a4ffe f0a8d13553dd675712c419343fd106514fe459e26e603bb92ee89a521ded19e0 83bddfb3cf9f0a6ce7b74cd37cc50b04e6978d12cb2d21b745c03cdb6142c1c1 f8c880f760e414e431e63db75c027ab9b9831c9829fbbc0513179f3529afad06 5e0284659a5a8f71a54a43a1f919a294a7e2be5eb80280608b4997cfb887a31d 74fa36afab2415b9d15d70a06b9c60b3bba1ba5b32653a3c6a49786115b9450c fdb4a11474037f78b8baae9881545dcb7e646c5262be3a330ee87e8f441e0af3
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-09-06T17:18:08.799764+00:00 98927433848248141101116537321085423190765260004678 11958307248995560821377115972371459682555458172607 38027220599454068056580585424289120195135808018911 81730326587260459146582170501178211539443530738873 14302158744574723126720989003647197879251062145393 95588392559171837068631580254328808020066587685766 69662773830196184153615022635702433077214838306566 23567471140858515082906309348557575678781969771386 29855400856080351233081625132866049622227385713306 31127091898628316188225410523421273390176131544427 99816633896226429074801093922236986757027387711579 70677640712258841717191063849895241625684383472606 20149439380372494396662960714003908659647930405116 02651805123832615900434097988283723560321632624283 34446560096922919662554056309033862127003563651054 04649951297636990696040006870385574603556592121620 99258124743473144505665600485083775011116518575504 29503334089296436203804383703448871964197169390338 82222311649271398236367949163006969009372079953751 07098286940416690731750748235166049907070875975855 90538707805013527141402204096237977709806659315029 20763830744177064647201419763109266501458979086625 85077086741145362187415208158427336595661969384775 54382333534286312679468035160229214715992269549801 33927963413978460874569988482814122929506131110327 19148428956747029719865805343612973616038745886410 92521169075346681306367382439294393181281090265267 55493725775342045165038426686900388140472152416300 47967055447875015902009620726602562852161582948148 30950992559580630418151671285466165141333105283072
From the PIN diode (digits):
2025-12-10T02:06:57.906451+00:00 77164537357842107944423433178638130306256520030672 06836562852816723111099565472105580109065294208904 89523835560156922594536616127308809765364122372998 81183938128282134628598370595450782112335626898719 02567355475762888307314604950581289881669729394690 95495614951527099971997558118235018650075676368510 14729064082902463882030378479965679077404874477597 19224427987627803967013915297965133537299585580596 83379040299069053620239480840536401117360658750639 00614902430895777800456473574056657063672621711684 31492193708616822740545948448490696694556005228119 74050685341153875422303956740693435990844168117962 47076704618718727156941355272559573757684161791464 94703819834339805089028811923927614753632734165291 19066702217536937487365726486391686930353948366196 27525441108099697621535106240606240325002666555436 45403148272879457325907591498118882087075379772337 74090940886942534676148648237897264410047867621891 19204708757374958777579039965626215538141992177634 90563472388234959767568736148436283702425517668563 79242024364705233867083401446357708647382998640049 32704732176701103484560250616192823757807509539465 78545429024329555140221766880755182139624320381883 01320014920440187075897197327262184769965847264738 02522815589417561363487567741386965747257150936539 05003241898419054970020489416330678549328153826488 84219100118585303530934145255600387968538303871896 25526306817989109659854654822925318979591008837624 97110451411845338369926097669393289620496183920222 85853128524188051923595341757306940232015490431365
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.