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-17T18:14:10.436238+00:00 c5ed86c675138ad073de2a4fc69d28e7cfa34195b3edbc2b0f4c9fbfc40853b7 5ce0de8fd9eed84acf5023bd98d09d52dc4dcfd417e38a0653d61891de156e1d b6352d86f75b436308d2376788f4c0c58e1bb67ba39f65ee3453c78107cf99a6 d60fbef686adf47ae5548ade097c7a0da3baee08f3aad17df62065e52c27f409 21a66a6374f0842cef65c60e618977e64daf43f4a955369b47d9915bfda50043 e858243ce350f72bde9fbe87d6351de0c276237f9d319b3af554936c45dad319 0fd50c6d5e15e23971fd388ac9d578676d34897e01b9dc68d2440b349c4527ab ed01b5416e543632c671a281457e941a334a01dd90fd84b4cf78b748c0d18c2a 05383ae4ee09bcdd64b1cf01f4299e73aa3d7d3ade9c4681862d3877d5addaba 14b7995adac5cc1e4da27ef743adebfb19c9e1f04ecc4d86f9247b0b9d30e7fe 0d79e897c906244d43c9633f383e0d12a42d5f6e7deaa88d4518eb7804240096 3b6346aa92f5641d21b083573c7b007264049a566bdec749c77432a1b4a7db3e d5af5fa1d1e8e4c19c288ad87264533b5a4c5d2d6a5f09188e87b077a56146d1 86db2ad80d120b16606c76493efaa7db952596f4fca28c9d973271e51228f23b 3ee1512cdbbab30b1cab2a83023676591d551db14a5b9683dc1c51fc545c0617 0a0aa9f609c4661a3b413b7c46fac5c7099a777c6ab1bacebb07c30a87ec22ea 683b8e78e4f1c749196bee83853f39ad46b41ad73a0948bac3d7752f48e49044 0e1c4c0ed4232e4241a5ad1c2e3d3ea9b47033d9187516cd439815b22d33388d 601524a5b369637bd19da39a37c4339ad587f011a52b6c8be00414f956197101 2119a6dbcb7c5f8e2596a57acc1045621ec23251f908b16733109fb8d1fdff2a 5a8b3a7605e2442261c5a2e925b4234ce7e5f896c766fbcd6635a23ff81d7f3f d58eb18b29de06297e859bafc5af56e3e6c6be9a2157186c442442d1e53d84fd 8b7b7bffdcc9453b1b171ec7f0e903292f081d41be18da385674b96730cebc19 cbc97bf50f06436d89ae8e33143784e5755bb0b8bfd2e6a59502e061c9762946 36f2bb7282591e688706a1aefdfd2a29333d792905ca3b6a6f84b6f2db2e3f82 719b73198c01c853ce9b1bfa138d03ee4f7e4700d1058cbb18078c3ebe5d8e20 46924668ea7c09fb7d8f0f792a29ccbe7af33f9effbce96c779fc09b7c6d0a4d 89a9706158adc277d6ced37152269c2a160df4c633759549bf4f01a0334620ce 03e3260515b7fdb1876f547189f2b3702c022f4da1428d6788502e63bcafaf3a cc8d0c8d82e527e9a58bc5f16df44ad04ac4bd61e31c871791f3d768e6c97b3e e62c2df65dc3e035a51345de82697d21a771f138813899095e2d47e48e292ed2 b1e0aa302ceac3c42c784592d5a61b3bdf294056812bb427a420152885d6e07a
From the PIN diode (hex format):
2026-05-17T18:07:52.834208+00:00 b5b9271d6c2e179a6333e6cf17c0156c631198b75f02de6f079871db85d1409f e7ee1cf6fdb42f1db99762ae0508132d662dfb8f38a4128c516e1b60b8e483bf 7122c82b83940ae18676dcfec097a72b82e17832cacc7c611698dfb4d57211a7 e58f8176bf0882dab142e46c19fe35e800380df46870126d52f7010bd92c1f1f c340ab82d6f514c589c81af36c63431ed0167ba3c666fb35ce7350a04a72f1fb 4a272a36c1084157a794fe499aab588dc7a6d44c60a12d1a45de4e5658da993d 161f2bd573d74683d46c8f86cccb30f78ae2ebe52bd45a2cf8830eafe877c0e5 60ef1d08723d935ad85151c4cf00c8b5758da26afe14c627bb2373d01377386d 135189a38b060583b9732f71ab33fdfea77fb8ca91775fd5aa27fe4a16a451d9 783cea14f5410d3cfa081a52d31a1ce7eeb88c3147cda647ac6e845257da9006 f899db1f818af23b6c1eb8ef46e29a892d666cd5effc56a334b056d6d2e83859 0991e2a20a10034a467fba5341e4a9670b18077bdf58b5dc6d4a113ce11939ed 41e709c7408ed813529c821fb1b3111e99bce0e6969842b36fa2587e1e8a29c5 437e2a2d0107cad65a9a1563e04a475a7f2f039eb53dcfa10baaf571a538f285 84e64def8844f1f1fdbeb37caa8f6a649795aa05fa98ad5732e67fc21e02673e 3048af6c62a9d791a99dc67d1a91b0753b46a4151c107df4e5f6e53c35fce8c9 3be7d3337fdc82a4c23d333580f962f176815483d4c2de60fd91a9be4f15161f 98349e6dc959d2a1f13b53100a7cba7f109792912dec173c0155f4e06b0284a5 6cc3242316a9a4cd5c38d4a78aa56c5d7815a05f55e2cd24c7e24e64542ab195 594bd4a1d0dc1d874abb0a44b8cb74def1c4096b679c54059731aeb2d14c1c66 c829560d1e14d0c7962bb547400e4ae81c86ec3b8fcc987681bc58d1d25d93cc 54eb3246497dfed480ac9820bc46020c3ac0b258c12fa6d8fa87416235af734a 873bc6887299dcc645a7a6e61e3a895728cdb9a25b62f913094f8de45e3e4d05 4b3334656536795a35d2d6cb4db7cb1e374f194c85554fe26ec2021fea9e06b8 2947ab5a5b5571f3bc8699feb2c6ca67f6f0f17310dab7f86412f1c06977635e c775e827f3491c4b35fdde649e6d4327b4fb14646d0cba252d43083d3c80d8f9 bb6cd711e3284a8e1e87569b6cd1c1ef55a1f4c8506440c0ce3bcedb265c188b f59321a063806c931dd09a937c947f2ee9551b2812540c825bf180ae7afd0965 68263bc83fd572df3c0130426af2851720513b73081fad90578a874b3657d595 3a3d5b6770dca9a72aa84674d66c1c626412d58d51c985456a3628168ab25fdd 3c9b6853f90e858a1f1df24a2d1ae188c5b5866909b9656515c9f706a22d89a2 f8ea2f887e7e9fa0309167ce47fb997980a6cabcc21c45148db3b1ad548725c5
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-17T18:14:10.436238+00:00 97349817193815427998574063654979884315765991960883 83924374803589525782772338068324452110298253453491 67990855033692974227822363590152839929075366159034 73228438092422136386087025320144390933660699163244 01981497371977756769855455714591650067883660804359 90355329941835275749555884470869251512099421571356 38200309523726018504681152566939710181651084545098 13622969264826517401443280208372924042055658098800 77014158157061255856702934455619738620835390973077 62266773257877343623115748132151063677679963566213 18644595102568416924200436005059997070460029337631 87602300140004548607997399165061806762759561935640 38140083599076934506950924423576196597703442131811 22960818736267493750624057515013184059628144867911 28714231025418892985297774915031288184920623101069 09960226596559247097990954192406778687079510353404 59422099732507313363577370802658097286951747724468 14287614354666656573284661626980125124172267522178 45515641962136657905992357635455965154351765430839 04208625130133256624954237506522166998309450810877 03511659844290395818056834979762378035765099020253 62632927634277394106412633557597758698905433872408 68366661323923236959272330990341470829659024568616 85034888252315066709377442512055321791768491654902 97184170548714308930043506617442415161214105590611 32824663301355152540018355271941037926710005408724 07406290934232704670042409254315214241902263588808 19599255240910773769129788739419138238564222139851 17497391790160517032033805218377351184133779124402 47776166410336804699887575584112413039653997097474
From the PIN diode (digits):
2026-05-17T18:07:52.834208+00:00 81853929084623549951239221089917528395021107521333 64592880472985519874050819450245435664184081102796 84319113344331481034189251674330205024972252801417 67432918910830776608255300561304121809820111443131 95647130209737260899673022236398025315806074147439 42549308658767487354718841996676966145266978868853 61223143157031084334483843904431147519929629081461 47908181960081174162062098398735151919560919813763 39060531851547137151672784451995703974226481206020 65136008268226288440497166717210328287440653312938 59083084705437450208866352768656890945621016037470 27868365690311240723888109741760255765099964421982 56303177791730538850526679116288263038419767264245 01079054219974719027470358816161117013655633327736 68907924704306005149700552738750279430020362487275 08986945695798252645761759706421281625605359512730 64946151532898182984319496456990792122315252580989 61598316102486271651464545236001850702326508953635 22696492566738650893202160958536997800844277498975 61293574871068841696090703568405514974787628024186 13302099504381716414742834594352182988889347845070 73252872523288700212589278889347663565985375157435 59983614539869676630583787408562919819097941946277 05755152010154219053778330557925763385791094023158 06844171719091851388345378980315168300189205199994 99173973287553005809673980200009128637456708616028 87081740744230358655089385618000649259389224394733 60992808472954472448274685274018841230912874220901 04385963146001486606332332815915083173448738357554 87495861910312696742687016082898001841813369065440
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.