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-08-08T19:37:27.038529+00:00 ca23c7c94711568aad31f81ee3269e0548b08de8ff1179313e31f948386192e5 59dc215de5ed3af8b39940dd0309ff58d17b5659e32e58461930120169792f4a d5483a53f4048f89791cc3f7ae33d3a797e80560fc4950693620d3cd2218be0c 6b262dd870bf3acb0616cfb0d68889c8643d6027383161876e1ece7f27e45fb0 7ca3e4afd4f7aebe26a048379aa7d0b162ba6529317887c8b5813052e5fcefcf dfba364724b745e5704cfc51df8ff7350c6094a339fd09af937a5ca5a9551c46 a0a6f97f762d14c382fcbddfc4c131b39b039b8112e7e444f82ece4fc648c9ad 808dde527436abe188fb972a8ea7d9b7b91e39c8f1b628e520c6018ba49bfcc2 bd01c84130dd41127aff214b96e0ff08bb11169286e72afcf9e58c22cb0f99bc 3c4923d332c9ff8862cc3f63bd6da8ac4bf2f352d75cc2b9e013390cdbf5f8d5 bade27ee9befce986760bd7572c489d41907a4d28f50e28d8851a07eb843da9b 68e7945e837bcf4c0916f010e55860b47e5a76e72ec26aa68b1336b5bbc0650e 7da0ac52b5b9ac8d94a0d1b601c4d99b8b40536af1b6777fe2e1ecc681dc7aef a39645f211a7d285985fba3d3f4b3c41398632d2b3c5b98bdfdde815e4bdd7e7 432843fb79701d245474f9ef88392482ec104c5983726151730a25fb9b0d1df4 b89b36452b6da14b01c0608243df097b7598351a69ab7a263adbb274861f0dc9 09b3c6296bdcd2ae135d848800651a02e37ad1edc21a863c2670dba24c57f53a 5f6b83e15c01487104f4e29a4a24c53da0275b8850c6ae831994122d610b093e 6a37de06712548d40fa8b6892b0f979d9d0179837811255dea557da028963867 0ad54d1e3974cf1aa760cdaee7db674ce7699f76cc5fd1abfd5fdac5d9b3e6dc 53574b0905e71f34ef7e2ccc7e800599900e36e5d6b0195ebe3047fe50b6becc 920440ef5bd6b00000319bb77e30dca5f8b3d6242695cfc13d54dbbedb129adf 759f17a7bf938161e937ad70b454f1ae2bf670a940ee2c9b06ceacfa10bf4c57 28a74e0e7b6e53ae3419694160605bad9921e96d3a53a59a47b713611611205c 6f8e5e706512905267e53c59bfc09d8400b86ca65a4916d4029062c1a428d0e0 df1f04a875fc91f39a72184ccf33f5c003b15b5e78cee633c80a219a28267d46 d4fad313655646c698118fbfb6310b105674bf864b3152652865518599eb60d7 56c99cb9323b2a6789ea0bf69df398690b707fd30922fb46a475fe2548490039 ec4b466248158b9239ddb0ad48bcfdd8841460a007cc9fe3971e55b5bfe5aa9c b6d1f0aca62ca209ee0ab46dd25d6ccf97ccb873a8c1758b902cd41b706d9c86 4d219587496cf716be9cf55b6cd313b9ed45ea3cbf4a01efc7c97b0289b5e942 15765f75f16a4e5dae282e42c8e2da484582a25301ca81931bc0a16cdf951154
From the PIN diode (hex format):
2025-08-08T19:37:14.038591+00:00 75b26bdf08b4c35caad451f9d02a693ee0d2d40329a173bb54d8c882b23eeff7 3e9bc15f862fe65e5f616ad1d31ff9e7fadeb07d3645a4132711a0003b09d0a0 1ebee8799bf1aaa0fef76f684ee77328c59dcd395d8290cedb0717becf6b77f1 43e7506969ffc016f1e5e0abb7c148193111f531c466cc2c901af115f28bc31c 29285355ae05a66b91015bce224e7a3d2d3982a7c026cca5ad55a80d2da37d15 c5be1d2ddb29464c240e30cb04efe3d4b37c3ce0c7b28a01b96f2be3cfde9d2f ca5ca5fb74f3955e42d95f4b5b470cf6f55becce2e82753a667ae3c27b5b35d9 a709c006a7afab38660fffb1c674c7fbc276111f6260519c08a2aeeba092183d 6625f2fa4387ef388d0304343e5618d8b306de27a295c74f77c723144223d3d1 ddeb26e13004c33d0ab44211b4f34e7855984bc448fc117c2b76a0a198dd4b4e 1efc9050e7d06b6519c4200fea77602f24bd61528f2ea1284f2f9bb814544ebd 58b6aa4c0772b18dd618f3b155776b53690e5f328dcc205b9b8946d6ba3ee0ef 8e82247816d1579a1a014c54b9b8fdcfed0af38f2530891a6250907722864dc3 26b304f051fff4532ef37e73d0181b8ed2753a1069a821efa0668c9ec6c8eb49 b3d905e2c6cf497eb83ad7726fb9e9ae06f4bc7aa4ce0fb510a21cab2442d7cf 94d2453ba47e3d4d472f2db2a946409439e38e97a85802425dea4e2dfe647926 bc41adc9ed0ce6518170591fa860ec63a2ed5c5827e74ade9e853b140e985755 79c01d9e00abed003ceff902b773b8d6af263bc9124c0956f84b0edf1afdb1fb 32172439f1983af73021f9350a06c2d8da88e4e0f5f178a7eb25aa8a5ebaa963 c687130dfa70b5159c97b9a78894031806cd9cdf01d1a59c2dcda9bb800370ee aad87b29979db715d0886046ae2e65a1384c488d4e209abef45fa36d71838ecb aa28969c1aa6664f0973983045c50d0b49303f8f5f1d4eef27deb4acc316d7f8 db531c034cef036653d32043ecc443ee5707d233f157319f42d1c93568c227b8 ad8e4fdc94c72d7ce11e94d8a3bc4c8595960ccc4af74018ca87d38694ece3db a0a8f9ac609c233a4f765e78a4cf0ded56fe1fc4b60ae4836f75092b9314f67d 202ac96f55454945eb635608aaacd9312501483b917e7cfcf00cf32136a2f96e a4728926e827bb6f5413e758994fc38d565589255a54df4a47ff800b6f4b55ff 5cd7520ad5347e4195c91fbd4d6752ed2e855fc8b25c46829eebf998e91ab22a 86331d66d05380171ca8eba1aa4b74a733072eda552002f1eccf522bb49bf955 ce40f2bd908f7cb00ae47918e62b58786c0a1fb0acea0d2436d1f3e204987da4 00bde20cfad620b5438839026e8bd57c99a57ca147471a4cb0c9f77c940b2b25 fb4c00c895eb255201939af2a42030cbde3371162618ce3df5e64a25d22fc6e7
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-08-08T19:37:27.038529+00:00 35997117863873493038580572764117214962497256974689 33935879536403098823868946887025481801052147747258 83044337212895745167510596738005543234249012073845 12915806227636370061963956499735103027399576246375 74903860725554677798860141492035812948828654713683 69127681435312964863570975472292656985287060662718 45209530899693497955035529186846799872732841821654 71365142426783853057824032980139645594890165486518 22337550088717224634424034155388607335503698639989 09687275829294851957128639555203968917149637250764 43804136816026846755044894312376092216889680269018 46940666391954818792011425607282818572414860820196 55396483068219279829226350691767335295866163756065 57345079978539218967406721122936841636573630167689 31149781151037551329845554694309617501929630670923 17525326057122385878163431130979984107741993323600 01260222942634603812627687589507319201721304547436 97616039913680987431254818459711096206550613377215 68823743155157570121312017379385256040505603107730 57162667967403760559189571959779838775090531522644 26280553441454762594904871808290460464917600004955 83264865793638499361849018541759236791472997557312 80847443126964445506721691768740677814231083745225 05659696917353330958836554718319972217329211429412 01184482036089919257320084086690732202449893644031 04681745541424765192037791942051103354403825701901 86709852174391824911168616913475498201400181335396 86568550594203371157520511122709347064173772730057 75709872213946577673728832209660075951308581917056 82726644620910800993085184156893173944442712095634
From the PIN diode (digits):
2025-08-08T19:37:14.038591+00:00 17780708809592708142056203416115878430786262559395 34479495970631762554696419391760005909603090215570 60110478154097575793304407239007196780050592227183 93722549174996024444262139952841408385740566074501 91347822614557306792386573856813456325219790294541 70763614480479246099783801851143574792651649946695 75917112914630175802229423915367099206677571560215 77981699941817319896815608627460462461023767355641 03045262862479063962499979199935206635384804956110 80661780782085527596721724431860615275783044800701 25963215199647368997824346614079475584208478898882 70760714774124778519078305149550413291553770866242 30362022875426017684858410433748372698804419343477 95387904818346261524274217581605683360024058987379 05987326845814118574068822641581166228713666486959 64266177714745786970644857425168880266937845002138 88657312812912893168969962928839745833592014528785 21922958007100600283158475385918760986751426775023 36575258483353100694362067377038948669999835191312 81215651856736480324065601655645698728031270234151 57832136967074460161567672417832549095630913314270 40505626660279091552486997131173486343952978398072 95228328037603028332679667870751874959665304943984 73427948994524304863887633495012746424353448606872 96563558791894206413863196821031111709434720253242 11856973699986087072493701725945262412335462106414 37383987118419885379954186853737908474712811117585 92821052266549318977038246339578927030585226784234 51290283282328686170751667510746853202824380558564 89444324761021244388200810317672133654045225640089
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.