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-23T02:12:43.004176+00:00 fc145a61a7c787d697dc741b900a0c409063687f4183f0cb00f3f67147cf146f ced8866ed6546c7197b592dfd847b91405c4f84cab7d69287a60ff8d26aa7e11 de1fa1d7a739fa925c7ea972fe92dde116634e591ca0f66916e296cd994a79c5 5662b874915beb0c07dea060ad6e8e663b2fec4b98c92896fcec8979af40148a 464f7a70717471662e71adf32ab7245a960a7e332ed76ec874cb4596d963f0f3 463bb2a6d6c2c497c17dc61693cc1f9ad578f7338a7e3f83af7969845fccb1b4 f551f094ee20a1b8a0dcc088e2c6e626132384ebd2c705631c81e66e9afa1faa 4fa93e2e98ad89af7ee0debe7d1e5ad2b0bf76f4508b52a4be3ba98c285d502c f06d21db5f666a9d816b08c6f1da12c262ab90bfb1f513313fee9ca95b7857db e3b38c98b57399cf7c3062095a62c085bc2cfdb2a097bffb160dc7bdac4898c2 65d61a7325391a06969f7e9fec6b94691282f8e6a455363ee4e806b83a54b0a7 175a735bb0cef9ba660e76b06c2261068acb8e0b4b1959aadb651eb8adcd8b73 15f993d4c18dd44460cc0050ef2be7bb1cb8fac52fd9f99dd9cd51fe8bef0532 5360bec76bb919b7f75506ebe5a8fc4c83b129e808d28da8105af4689f258fc9 f2785a942e011b9739e683caa301ea35e1d37d947769fb7e85d58ffc5d7cf864 ef0238dbdd26b267b534791dab2e64e1a4d4024303941d22de46f1ad6d454665 6766f340a89adaa8f5f99321d6422b662173722ffbdc3782831f765a0ba67bc8 6e298ac0af46a8b05656db9c2bcaaefd1e7ab9d10f4b09402f9c4ee97ce87e54 6799755cd7b8325f651c259eec48728614e408d82eafd22eca9e0c8c365d80d8 2b9afdced7b604d2214c311b79e62974af618ebf32347f46600b4406bbe814ba cf3e5ad00638a5353b9d297e99891202b37891f02ca389dba1640d7fc842da87 ea21f1760c1ec2e9ffe457768a26ecc0c1a7a3e9ed83a89500441c7e568aad1c 8a42d5bfc44cbee3cc42cb2363a89994b8e7f83b2050e0bf3fd13764628bedbe ab077dc66fd0f36b9b62fe903df41d9d6ce7ac1cf552e8dd980d1c590a8b31e7 5e04b1148b1fcbb4c31d615a8fdfaa767989707096b3aa51ff0d83b0b892899b 521c2b72bd5d5cf2733b4c3274db9d1f6640879cd3aa9ab8f02932337d8fb813 1a279c2b7a9323ca077c42ef5ccbaf916dfa64c0af019887b5a0fedaefabea46 91887495f3a16dbaa96f5a110027ee13453e11c47c184ff7518eeb212b80af88 3f2f4d323c0e74963a063beec9cdeb8e2323fb3ec61bbfa25454cae6b607a631 0d8e672315116a1564f9855e32ba715c945aab3a1c0e0f1704de054943605686 83ffcda7808abd6cff06fa24f1540a0719c5e4efaabf8f05ab5da54eaac9dcf1 ea6b0c8934b939cc4c90294f13041d4f366c06e1ea78a88c9d5814634c36289d
From the PIN diode (hex format):
2026-07-23T02:03:40.403019+00:00 ffbd98e5d6b65b4aa76f2fa9ef791a474f0b0eb893a4c0c73f00bd06097ec75b 6fc2ea8f5e386097b3d6ca480ba571784c27aec06d3845e2b8ac8fc7606a364e 7484925931e4e9287291367f00a8fce49875460c0d25d4dcaba71600429c0e66 a7bf394998afd057a321f3182b12013cf984d3d1b60ae492faea3bb4e5d3e7b2 d647df2247974ec3ed714657b9796ed3171ab05a86ec14299848338558b68b9d 6f9d22faf1bd356f5fc3c865bd7e4a27edca6cc91f196e11488c81f2abe5ac73 84135cac932ab9521c9891c13050cf2c21b8fb52ffa1f231b0d282dc2317c273 b9eb7a49961040cde22e4de3e3080139acdcdede4404aa48db56794ebb5b5792 2d117f40a0c0d097b7dc720c0622594fb01ce1150893966ba0b5ed954c70b165 9c7a416aa8c2c261fb2cf292008619cfe0abf64485b0e31c67e3167dd4c98bd0 22e83a5231a0b3de1090119c1e6b317a8405735f8f9e63d384d3111e1775d8f9 98e4d86a30267e43411d10911db7cb60ca844d563edbd9f73dec0d5047245225 8c19813cef5f659301ee487f9bcfb6030b0edf66faedda9d4c68dc1e7a74aafc 4892b7e30c0a83bf904bbaef4340645ec42bd88757b8998703316b5f763ccde1 a7fd2bcc190eb3313c6bf13acbea680e4daf2087a33a2cee89f738861ccceed2 b9e70987dc661c621bf5c7bd46740d8529759ba4aee43cfa5a342ab4f1e6d871 9d5dade1d144ced5045b898bb9837db3921444f6e3c5b7939b38a461182c13f2 841790e4f861652206e9b6167dfb40162363027edf85752552774c520c7b8857 991e5036514abc03713e26145f9ebb400643d63faa9f566375aa97b7a9f773ba 4bab5bc846c64f25edfebf814c6f484f4d9ee88ea874a878bd67d0611870fb23 3a6a169d8e376762bbb5d2c69d4047396e29dd43096cc581c0f3633540c6a035 bc535d3444766bf594d2dfba32280ccc376f6a5db7c0a18cc8b524260b5ab775 f734c21051d1fc21622224ef7c06106d06347a12113d05334a86c3f7d0fde644 f6adfe088a4a282f20561d7db97831179d520ababe624510ece861199ada8f61 df7eb83866d7452114d4f7b415138a887f57245e105398b98f54fb25840efd36 c2125bf85bf3d9fe04fa09a26894983aa505f115dcfc13dad7c9c6d4a31eee5b b6802588cbddcde8640ce0bf7e32040e6809e04a08c66ebb1d91648c2d115874 a6dfb21942ddbc8bc4b9075548ff7343bc0b5dc3ec64ef946386801a7ca2433a c3eba2bbe9a61ac178c4c6300190e4671bdeb5538a25a9abce759fecdc4e8072 f3a3eeee4c2214357b14c43a86b0f1b5b94f7fe4e8097fe36bbb9953f0b594d2 a89307c79efc3398e7aaabf84379f0e4fa2e4481cfb91d75d1e1eb9931121c17 afcb0f89d21085a54fd912fb1b101fa761bc9e76b09e3e641ef69102f92bef3c
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-23T02:12:43.004176+00:00 20909767993551162744101264449904276531001371201134 10840813518146718520059676712505402296413870261731 61675746922669144622997889286005225053742197869884 16459112076096731042025947755240503721756420387079 22121316130246137342833690501026514610166950997059 78669496519325982247315420513826633175210532957780 81483261846092369838193532990599282910543170796962 46527337752690253090769118803982649059694040938044 09339502065729070898189498714491771949635669912087 79405281155324489809909892338844786051912213998972 72529401261537572606505926590748051830648554620684 58847667239015917686021418760834970638421175258970 01308473391521479341689600804387288497475781390550 83969099078525838506687631774108416816900459374320 90484601275157316301532548190526334393240002563878 03815221297146006402670348293470730969700103026468 54684733664302331514475530313118901166231041389275 70687686865643743022851575096447567824268403531792 84509501283758721434200846754658124054932843548204 33764927214116759742915052277096116806872086629006 56655359574126533718027920454463376100132766353318 12309487183838929367633168490068282686387328386691 96769066359968534884593280916355009839907107259811 07559844612957087228825213288910394994047720393180 95299790437018213712125079708113317684463755822843 14899392155976501657310264355670548441505125438419 26395643224735072466927545090092750152358160717045 36164961098669119017003919696217962424798142334328 75366347775060141650580659423535629827916284848207 66491342033521170621003394508613924890715828141523
From the PIN diode (digits):
2026-07-23T02:03:40.403019+00:00 89528291746711476921267179111484476492996300890609 26999111944394569651797211651320763974920956698472 43999606547816324689494014455427006852177012133771 67220066561402679157735275876333244318016032821046 59807871347151789513708785211023267690342041527251 33888239571157348953119595018926743908312510177240 29717215321992724742858228524593488044338482614976 30352394158522735016644677080157726804707286217887 91874645172764609251831412063489797628210847500760 81497612770156226506689494974446003425716833762803 22253934588249607916441756300749223205159543589932 17302317520648382667652916452983963277866261138071 36823740252960950147017227558203111402577604302216 70724683121031914475866764009496433587845335034907 95186067432514794960075804147775323563584437563428 85093502289827998970161333411755647460905242801357 93736804913739853125794620689783475556649724441932 23449701340682222564223599022633173782197682122336 87533080548174880313623820955887640667637059869917 70518369158675719170987937912976117279775842681668 20890397241235580622574255039887819857647157104167 09089729929953649860538883935268180748865040125511 06938392614081363811908317529416813398343624061609 06522218176105517434956873083874404732862925852049 23578210869098691697255443972684560269332080211938 36278736941683528543843732145494189191040962044852 58650521199863309182283736001291265004140409740898 10872945004045178816667825668839968507857215678811 93950048993428262462675895628766269320969848014403 27818338376971175978281463763420532320965834768185
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.