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-30T03:45:12.677662+00:00 5367bcbc6211f175bd43cc51ce1d0a10b92c4c13888a5431f7d03a20618b7b5c 0c8251900ccefc15a810e3bafe0c0143bbb0fc6c7928d19c02f1bfc8aa39a1ca cdd8a1715d4ae5ea0468a1c673463d66a3040e0aa07cce027b6280fdcaa50a6a e4bc38d0670370f25b5b48be15ebeb56fdecdf4e4fe73904815289a71e6bd93a d8389d8f188dbc098a148e9cae383cf0ad8ffa89f4c5fc1ef8ad6957dd72351a 47d356f23dafca83fd3017aff21d94c0a04d032bfb10984144ab5c62cf871d1a 4cef476003ea76b818519507d1bbed03f62f2261210ef315470457b4db3b5c4f fa47fa2a4df03b2ea18204f7458a1d537b83c228569f62528cc5893dd7d6bb84 4ef22fe9ba2105b0ade2415f108215a6a59a9bf12860c17631fa8af4a9d97775 db2a3d310c48b31e8c8cd24ff6c2994eeaa76a1ea6f3a3ad3c0bec6f8793ac92 73f409e8c5494d505be1fdae8869e17b7aad1c7f39e221e003e6b2529f39325c e8af4584f094f965c53c75fb1f086a79b162928020493775ebf1b3a9696fc19b dc671915a701a2f4cd74dacf3e46eb6f5610151c452d9161e9d5bc4069e41727 6fdb66efdfa42948aabbfbae1f455702a29e3ee23853f21647ea455d5b6fae07 317245e4bbe5c892ef754892dd7f7056665b4b70d631b2d0783695fb6be5300b f5978a5bc06c30041bea676566a93242dd80d0ed4e2acb7e3eb337a5a76adb42 d6e6c3e78f045ed2aef22b1b0fd3ee6890ac8b2a54c9b652cd5ea88c763aad7f 3333084665f9ba8d3ae8013b7069abea62efdf3b506eecb86672018b33f5bc67 6c9a890eaa9a20b85849fbeb4f4b0581dce981d1e2d2c0b0af4805754956894d 42fc048012d579d6e4dc61b6fcbe8226014a1596e34db6f8819b100f8b980b12 b207f5c90549b0b623446933f32bc275bcd37fdc258c8ac69a9b09f27664b377 c54e75d095dad24aee441abd3b5ab08c2fd92598db646e600641914e98dcf7e9 bd623d9e5868294c40f0e9bd9da036e8577611e04ac912ca69cc131919a087fe 9993efda95eedd0adf0b4896cc929c8ff4cdc43167d0dc53b2de5d502de35140 2eb15d0c7b1ea376550d8bab6ca2b6f611a26c1324dce2cba93141d8b9c36c3d 9412dfdc301ec3843ccde545ebd34c7a523a1af601cc817a887421f4d1ad8945 22c6e5aae0fef2c992812a9bb7452910556181674995bd594277e0ecd9f5762f b409d18686c0a875df086f7ef5ff4445c58866180965e077fceeb7d7eb11d090 7aa28c2d7c6355dc15209397dbefb1f85439e80104775152665f281e4410c0ec 30664aec593f1a73fd4476ec95178debe2abc2b8a03ce9077e2fd31b64c65f1e 1007ce69b06a3e8d356d849d870840cf230a94ee44645167650711f1bc6a0c20 ff203ea99a79ec5d587ce029ce05894bd9b365db32acd514599b88263842cb5a
From the PIN diode (hex format):
2026-07-30T03:45:28.677546+00:00 96b9e5f37ddea33ad9f837eb5ad897a4772ca01f48a04bc385148a2dc398c216 2920f677cd2f2e48ae8189554ddf37e28590b8d8794aa4b1296ba8ba2fcb585b 72b9488aa244d7a61e926f68635b0c8a00b8f9fe578ddfcd983ee604f76e6c16 6ce811f2d6a1a00ae338e19f4d7b727c2c9a724b44bc7731e7eb6073f0f4a95f 972ec3819781069829c3ebbf4473853000f6a56480b714a04d15c362ad3d224a 77d3f501166ea70c5fd81a7a5fbfc1315d55a232c41dabf6d88b77ce09c0b427 5f399cdc270a8f0dd1d881e08d1d7dc371cb89b1d83add45d3eeffa89d95e7a2 31703e5401bb94db54fd5a2b635f76d08ea818faaa2542b94e75c84098db7bcf ea93f16e541611376fc2e8b9efeba963ae9d4eecd68de3a6740d1857793d7aca f267e8e2a8515d964d10aa604e0a24cb3356fceb72b577223c415a546650a749 d194a7dd943c927450b236a7ed640f470e872083ffdb1b08817d0cb271195d28 5e9501d7313972d31dbb60a5dfe93244feb9bedaa881bc47c69ce990d5484993 dc8f7a029de34ccbcf2eaeff8eb7e14d6e4ea542b0321f37964377866ef3e0a5 05cead62e965bafad268c42ef6379d851e2c4143a367a4b397bab3271eb2b6c5 ac7245d873e430e07c124e9a98e73fae9d6c4162a64e054db69aa302ecb0fb9d c5c2ab7b763dee087f2835ccfb2461a24f6a2614c86be0ac265df48a1364c445 429e5b0c40e21036272f005022edf869d1c1a68dd667965108de2b6935686b97 472e0cb5e398bb12a6eabeb2643da4c067741753d545ce2467cd9cb4af13710c 5d57d862bd7c39a5607fcd8817c4fdf4872df19500d91f3e2f3002ef2a3cbd64 ff1717e40ddf005640d7a1da51fe866c94126d4cf8b4e320ae4a77cc6312c680 97aef8b7f0cd74d3115acf7ccd69cd6c0085f11976ed9ef969d9f0d905809c96 c10b9bb0395efbb8957c1eaca6463061a97a2c12a4af2babc1d8ce0255f5f551 c5f8bc434cf3b6f775844f3aacd2fba83a730a01abd1d6042236486f0b275fad 513cd84166493cbe73d92e95997eb2f30cd2fd7f0a31ad8cc72fe8398d7a4c0e 421b5a6f60474ea6b8e4d4d4a8842b8d925890ef47cbf5eda15e124db0fd7e98 c55b67f4e90a4a3fb435636e1580d84b3b993bef10bea73b65b8b555917edf06 62adb0a2c774b530f2858ffe404d012bedd0ab11afc25a6923a3f57be52be07a 715c204169aaf477192cdad81508241110410b71c75b8d8f5f025c59a412d807 2f47fb02f5768ddb74420968adce1ccbc780856fd9c73f0fb9bc2e6ddff9c424 0decb0df12297ce9226d4af573006b1e6d21be1aa0188b6e94a65194d2173fbf f5aeab4c62fa270e09599da8c66fde5bc52b83c7d6a281a4556d4f62e1c0e4da 1e2d8a63a6f74fdfe0768a4b1d6905a3d940814fe69ce84bd30ef2e631842378
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-30T03:45:12.677662+00:00 83038888981717896781291016854476193638844958329739 23921230814412216816861201678776082140560291705761 61139374040461981570610263041410602402239828651006 88560303129191729021867879570429823767300758565743 24418809382042567456607343379730730587145326718661 75314823752948926077034316526568719298352926767196 03188424814907870347349733142171048780599279714277 59466130046938298323319440865998824097376187327847 86330576736595163021666554554096931849386919174261 49127279304040799453786706306663736011113547724615 09977377809174360523227328275733037882595750927569 32480197601731080621779846283273551779690511935503 25216701621662701186162128694545978864052339110264 41727087743169870262586256832271699391117407491469 87461772462712860291751249782054490748115138919208 48042703010269506628784226627955656706669543049474 43271504447239428482829468401858732751510870018641 58015912057198598010840214013951880308543714705432 84887379750529299276757205177386377766042818219782 90303801742150778229551615395211187807057376823568 05514394178827374038985455091800791997781749746826 89599076404737520010960665457852899861588804417664 89576054871817741805192525603553474910117250465643 96490383789380458164467793122330631885133971086282 17620819366949658595086148184830953260697622825826 01292236163373376934987046294255836941168597290373 49898966191847800934349268170811266869973602240901 19831744226240452499852132475177845701041981820295 40306816924802748963261568184923417194846060072647 27009895301607057606624153093257350864351048680081
From the PIN diode (digits):
2026-07-30T03:45:28.677546+00:00 50852563585590516419446031726075953320384595529422 41321947467274293785775533448421746477410768864788 91148572386268663046110499911238008487415262041008 22081761601056597723142444541475688819499615699551 46952951290652419591681533480065002883206077219598 73613474190122106712952622959193499385625096297139 19099280399557563910431329412925951337775869685749 62491262840187488490439995184268247037668578176452 23471084221755119485699974577841661613248721612203 68819350771670967810365186148119346065908402806773 48674860461680785467001571143532312708292512781325 93409449014957142987966550688590682988719856447273 47432202577646744283771078656676503155506719341065 05739801860496465557333044656763036479518679393078 82977214691548241878545263745708659866780577825463 02765797947123186108274053369762790638200772389338 19009669665891126416543947008034059366410350810843 05530407517146128152871866907800616492031623836936 03568075191312938798892457659627362396354549003162 47480242608900232313008664618134084818097680327474 19991898285174831617902405080033251858050528565093 11557657948449243072667048976922441864754371930285 81978867768217327958726858151001710434547211113995 73816065027360901546495326781227104973409947574122 76146627901196717866846832434146884471619418777626 52979103107463805399102128755953591690675901848185 45260698737662991681483343647701437117759490053563 23432213923265057019254421083617166511139991414395 02928964180747710218411666090473289928331199631585 88460996361376184124340974150007300933902660243910
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.