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-09-16T16:58:43.897655+00:00 02434ea5f2ca9faba946282641e9b05eb3cd7a374e7abfb69c8527b3bce9800d 3d4444ccaf98cb9d70cd0408de46d1aa2b8bbd0621911dae7eb15acf1eaa7dde 9ae5eda99091d488415323ed5ecf924c7e8317479ea60446243b17857ba606af 390c6d29051a893d4031ef6ee221c1a1c011784517a1ce3d4a74ba3f9d46a30d 4df05582dba67db47a78236c2f5067a73a9ca25bd2e654910e7cbf4c4ba2a6aa 7531bfebeced21c3a9c3a912e304596d6b941a27cfabd71eb84b1d16e2940541 9d105070f9ba2c8f071d27752a26126dad5785ad33e44244d1d48d58ccbe8039 641f77540947ed414bbd5167d55d18764a660edd942ef246da0b50616cfa2f7a 4892566eaf9261f78063332cf889caa97beb1a0c9bf14e37fa14ed5d4e1ad7ff 6873c8c129226d0cdb0eb15439ea2c1c6b9df3c917277b7cc65d18786a688236 e50bf735fe8eef0480f2936cacbef71b7249ca7765989dc22caddcd61182e73e 1ba09c1304bee7d2c92cf91b27d2843084672f83ee2c18c91a8514543e4b33b5 15c56971131733dc5bf40edf5451495544fb82897e8729be688edcc76f7632e2 87982b217449fa60aa653dadb67e7bffc1a26896796b6a06b4e3ad1b93d47e4c d9b70cdaa71596505e2ce6b73b6a7c4cdbb7ede6e2d46c4a2a03aea85e4f77d4 fc6a3c03b2f12daa7e4a2b0011ec67ab8f99e821ba040bb30677e3ca4a4ab124 8fa5efebac1c13c12460e986a46b89be50254e797156fb1fddc8d699e47ba11b 7e34e99996d2cce436807d5292921cb40bca5991ddd23b7b88795271af290a32 f097775c954f5cba867619f2e9f92436814d22324e5320f13e731d1ee0862e4a 13dbc30758affc5c76b2f92d9b3a9a2246f65909c04d3e1d34c14307a75b0a03 297975415efc0a4f03c06a4f3d777e8439b25ba3d205a14b112bc397562ba451 c4175bc69b6a1d32e98c31063ad2829f0d99ec506c855e6d38fd709d4182ca5b c2663243860fc120a9c86b2eb6ea56d492b3a2906487a26d1fdaec77112803fe 69d017a03348c199cfb57f133c377ba7101a9c48df7b10fbdb8403b9854d477b 320898eed2102367d11b0cbb9b6c30d43e50d2679bd4c60d0637e00b8c515033 a9723d67413175d45165d1f389f1abc5b07ba562c90ccf187bbd436881274376 8f6ce27be0db7d863d1f2104f9a4b01403da41a9cd22841414cab23daea8fdd1 c5cfe03578bc325c729f3dee0a92299f5c6811198eeec14989f2e5895ae1bbc2 301397ebc192f0a5a3773dd675b8966fa537a17aafb73db4263b98166201bf3c d4c13e70b1d955a1997015c44874e8cd9f748dfe5b21bc514f4109f736d353b5 9d242546c1ffbd714493ce9ffef0f2f3ffe8119ae97cced4ae9e9d83e3b77235 1483f55ffa1f279270e7a492eb9c3f9f27147a5fc4a1bb15e1df7dcea2156352
From the PIN diode (hex format):
2026-09-16T16:58:33.297873+00:00 2da1bb5bf59759a3c958e5db4c1eba87bcad6eae239a7f11a82f4f089d1d7804 006a7b5ea7727685311a195e55175e896a914805911169a8d849ffe363be73b9 8a992fbcfd686735b99bb8594c7039385bd48c303dd79c0c117ea973c648aacd 15d2b15d0bcf0de41828712672d996c977ab8a8c981529c0d9860bc1078a87a0 12969130af4a716329c6ab84f62a2d2883828d1a407f561dc62846a8006307c4 cf4174c27f0ce5336fbcbd8f542b7217e3fb05de09fa57ca47e0ec698c2fc7ef 30e5ff31bb0a4737051b49e89294cb5a2256d7184526dfd82b93bbd22d54910e e6b60dea08598a7bfd3bbd8e868e9ab12a96b3f14f5b15cec8d02c12204454b9 91b4e36eab5278174592adc25069822973e70bb3250efce693d0f6647a3c8464 1cc94b6c25bc327691c4102a03f07260e131af1dfbc64a1199f27ac30f0cec4d f35a395f0fac1c0cc6dc0a8728d2254824db8045f1e182f10970cba3827ceb0c 97bb6813739997c8f2950f7fbe638763f5119162851ade7d1f6a572ad3fd6a47 25c4091cd7d3f7c07f14db1a295bfec138afa98b0638b31e0586a3020a233cdd b41266c47c785091063209ae8bc1ecd8feda1c851a3b731cbdb01369c28bea8f 622a0f239a8bf601726ebf650290379674d0004003e42cb46e522138d97a3946 1480a99fd4d224bda44ae28172159621a24dbafa082f0e87f96ca530986ee012 0f5e04a0c28d17a388fba040e6f2400733beba1b0bfe0153845a4fad93e1db47 27edacf6d9e4ce8fe0b27990e49b45449d3e3bede1f82d2ad8f18009de80975b ddb38dc0d6439f8d2539f36f55045e1a46f001a8331c7fccc65ca17d61dbd599 a2d763153c92131b4275209c9c38ab2570677696b5c134c5e0993ef62db2eb6e 7740315ce703282ef7f944d7c425ed4ae93e9e8d7d6e74d1c0b951d7dac0a4ad 894c0597718378ebe7e0ffe8d3ca4311a287312faf2562e5076e3026fb12d671 0380b156937c95b1794aca774cd4fa83f8c73a76331bd47bfc8df5e8a9b790dd 4e51df0474f78a3fbd78c640842c52f005ffdc149b58061a3a43153e479b91ae 683d44fa8b797ad52b614f8fe7a278f9c4c3c18512c5b9c2502bddfccc76a567 eb16da1c8708ebe2bd8f6778fc627874c128bc71054c61dc7c8348e6f2f0b82e 8fed9772ef1d74f5dcf39ae0ef9cdbb274ed6f5c0f4b50ab0e220c530a2321c2 36cfe137641dd9359bb920a02f53674f4d8ae92260bed12883faae3fb16de2ad 3b0b75d8110fb44c8689ba64a6cd0de6d5527eca57976d5b9f701c055983585b 7ae0aaecf2ab504ee65424f8d60c44b04ab68dc6b0bd01bffa3ed1e024554ec0 5c3fd650e1223de931878c809af6325f1170f75c3715d4f1cf8b1ea63e22a25a 3725655e5041ea3ff6c74d742879dddd8efc820656d01a7f0df81a89e2d18c3e
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-09-16T16:58:43.897655+00:00 02677865597169704038657694792255782291825633397988 28136168687552571204087070433989063345297426779030 70255469444536658335944676263123715866047036592333 23660675571209410526376164491033936192172069236161 74168663577063137785306625802220350847800367585662 91844514249176756266701749913395699569180489090748 26397130847529224805655716801286444307293917423818 09738733735166684188902857003119840971657589810393 24187402144846701180970847227246861075469728995144 37692326125578552093782604159341340912147784574428 07572339232498932420060430541153420428470872902714 73190152579444731730622760561904904427393248320347 31442426332084627551812197051319235191148481738568 30372635419004429911185035524333167396700161738226 23936204502107060680732747267683126721508094448359 06247683087442037468947919066003784570267443001703 71435333860411790619747477364365722819933696346407 37908037782113863153236127265253505428258246462880 11894559233621821375411050511992497992863418253654 29773450788332621529303446741995078875921878455558 54347089099277622952936707679110034121176594107903 92067961192632577891630561751743955186436481962391 98550629504049065830591353800833940956125765309194 02506734159332690746828646796244003562093119174003 05236051729353812719605523671626567223163203853377 71235008521635032712875508486280035598130655114081 80516914610365491781013771977623659812242389670429 39671843082325346131330464762003656934322020786174 68975320885092145961104641599204172542937337379087 94481951934665631961178450116555612275836180385952
From the PIN diode (digits):
2026-09-16T16:58:33.297873+00:00 45618791518963887630863588731074355427176847790857 29200400062394671418334926259485239437064572054517 05687399901585385347880403538555848976125756914048 61561217266915987270217793111324401338145019713840 52214192341193073835601850454875741399419871324245 40313041266427862998407068009907966516942712511188 89438443142305098771054047994849871071550527734648 90348624693843478745844514821308893823598942344254 77425079799121441832688485458010718220236946739480 05304115117937144700226032002875083788501845961642 03149649752998741753229515127790579515722812981035 40377236286930091263302412518704191553514915279099 35991745983326253106874206713796092892272026419193 56756939065679300534630210356080180296242080450650 09743993283326591528897619059439439842153554390114 10910102445550160064034480108233562257702028695936 89647429142150336277860847143508654852101815940460 94412363366064640751908627110183329079734771397243 78214455696857625945422809285191794192675941375711 85049426700168512827989261259753629921604619276617 32565656713712031850819352975362457810196449920340 46689637746258412510169285819264733776055113312067 17623549477537980710483818130328778647244977217419 76319958185127234169834478810416386389209864324482 05205588062658672162715545740461683921224397794362 20969593331897859480431865032228350889430320982016 93408813057697243172844643511429165456781611921575 80711434128310353394545500295355853260478303797738 34969040317463770973591117171580763437860066138226 87510991591228058931889122707180788436126876748241
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.