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-08-19T12:50:09.615416+00:00 56d2e1474154c7235c0bd89dd6e4e7f7f3d8a452b7e5969a0c762a7bfe86d3e4 470c8c89a1a0095538e375d6db2bcd2fdf24960f0d5ca34f6c25bfe2e4fdb695 c7dcaa96f6f6dece355491ec67daa46e311ebe6dcbe2bbd15a568d4c378c9a4a 54029aa5f2eeea59f57586bd7cdc6082a814b2d027107210ef86d2e329286a75 dd6f78bac3c8d3f57daca677f3fdaab461593ecedb6925659fd86da3a0a006b1 5256e0949af9544700fa356e76e8e5ad008fdb3253d8eab0972257b2b53a1288 0211732f41a758332e162c69778dd185d1a8c0cfe1cbcfee6ab69130ef79c3f1 bd4577dd522ad265d1afa8dce40679c825b746e35021caa569f308cb01c51b1b 107ebe066e2f495fce2f5af2572cc56c9e6cfd1a1f460fdc6cf3ed31fb20475c 3a3ddb18766aa6407750c93e7379397c701591f4360c2304acef08821ab25288 891e6cc7482b140cefcb24ef935aad78e0a4ecbbc841ba3a4ed8d1a99c0e8bc0 b13e0668deb048f39b2765fa2c29a170214127448a0175e272780bb09795c1d6 d2efd5a49acc2c40302295493b6446197c3f797271acd383c0111b3d9b281148 5f1b772b5c5b1801d4fc2ecc11952e786ea4fd33b7b2f8522871ffb4d50d1c80 eae82b60fb2f80fdbfde4b1e39e19cad1c5e54b7912b2f35fecf2083a3ae5a0c aa85bdcc3859a22448150c739b43b15c645c71876578b0576f014003939e13c6 47543d97809628b08c35ac57aab91f3ce7951e302ff8e26d236fc332767314dc 68410f522bd58b27be189437f7f2db608edcbfd2fbdb5c2ca7224a5800059da5 092b20a5e8a5d153d830d17fa4ee164f692a09fa7a25ccaa14d84a02ffa84a0f adcf67afd0c8421b497bd8e923cb6158dca1f34485deb398db2138bd0cb4bf74 099f429b3ae2e58510d9d54535eeb574eaed5912a3eb5564fcb0a35b75b6244e 338e76474d824d00cc7dd50b26845f32dde32813e7a64332a4e726ebb590769e 342e73546094a01c4c709f5e3388424e519f22965accc5d2a0d051891bb8144c 28afa76cc5c2110613309d0854ed50f938d7aa71bc4beeb3a6d1108e5a756a99 f1c6b99edbe332c8f0287adbe565f965bba8bde22fe5f5505f599bef46961d3b 1a0e42cf8ddfc51f4de2dfb9f372d8aa59779e9df9e100894358444a39ad2e04 d6945d2d4a9e0377c1a7a0f9ff01ce26b1a40873c511ad3bdca15bf9f60e1364 5ea122dec70cddc07439ee9a081838a6d537c4603959996ae6418177870398d4 4f8f5c8c86a2239326d37b08fa976721c493931aa66164cba3280ebfdc87531a 6409ed5f128cd9c97d59bb34770a53cd197fdef1644279fcf650b08e1a9526fc 9343a900284da640360d4dc5f4a6764f156f09d914775b18e710ebcfe6e38e91 a357ba6d0a82b7a185dfed50de54d5c6db5b7c25770ed98a9bb5af58a680c41d
From the PIN diode (hex format):
2026-08-19T12:42:09.615408+00:00 59e4d9d0ca0fb9fd7bbd2d59763d8665363b69692862d4d7f3c6880b7411658c a35b783c7afa0ada260c0159e3e0d655c7b0a7fef25b71ac5ceb60f8290db9ff d152cc4ab16b44c67be005d5b9b61da018d9acb3d5404e82159af0898cf6c3b4 9c5c6328b64b1b01ce85cbf06100add0d3a6e0ef5362c331559241ee9e462cc8 762b2a8d581c067486493e1d37fb915c7455bba1ce88f40a7b9df7591f2f23f4 036ed5b14a29b6d19650b2dc6165e15a0aeb913eca6ec62ad626b445f72ddfc0 aa45d0d8c11d945160ec9ee25d3536ec3a12a726ee798269dcb3b3fda0c2cd72 43e9957cfb5562852bb35766d17b7cc9528e26fd22a8f0880144c663061207c1 e9a1a454e34c15ecd989af22d77ff54ea055360b701cd8a62397aa995800f5e0 33e632b9ed05ac2940f3bbbaba773f8bf25c3f94f0c51cb2df650dee491eb424 081efd2600870af222fd9224dfc6d19cd8d65d9d13c76408c647cc8421943ef6 f0fe7bc355c1c3834996245c1b66b4cac676131475b8bb5841411fca426c77d7 82ad1faca6fa4307cc644fc895909ca0cc136a59566790c7e8fb2f7bff1d5a0b 915108f0932bd3ceab0381872be2c26d9d4225a44a2e874b085a95609534e205 f1441ff1f75abec790705833124e849ae58044e3ceddb53d6224d0ed1aa6a602 fafc5cd4d472f39c615fddffcbf86dc3e16c0cf18d0874f62cb1b640f03fdb4f d3fa45b2b0ff6e1863c7e98d0377dd7638670d20bc643eede401cc2db703a4a6 89cf8f5462a400d48139b3dbb9c36ad7a79dd9a59820d74e5ea3780b9b740eca fa25140f0870a46fd35d540321ded5b5282d5ff89c182891ea0c2c645e194265 cd95cc5c3ecd7f9b33ad2d8a1fef6a556a8cd6bc6cb7b7ac1c6498014816ca54 684b5bb1bef43673de41aa578fdf815c3230cfca687fad04a04dfba1d2a242c9 1fa7fdaec596b95f2de104223a1b3b2eafe385cb16c1262bd95a2c5a1ad18573 df07cc4bcc861540de25f65b063e42212098d52808e5bcce52835516b2f54aa0 0fe530513b2937549859d21d1df19c2136865152106ccaa14bb6d54cb5c40cb1 de6f523e5e4682e70210fadcd1e9f5a73b9cd3f01ac792fca189824854756fe8 c89b39954ff77341f0dcd0e484f755499be4a3e447ed7bed14ef69e4383f30c3 66916b542b02c7b0f2adf97eae246e86dfe194a8981565edbbfd2565157acf5a 612acf9cf732f76420fe030fd1a5f36a44c5497ae11edc4fbcce23f2b89786e1 9c76e6eefe73cf98be707fbca1c4ff943b49d55c66fa535c3400ce788e362054 8c007640dd70e392a2f3d8a1acf9ca5dfec0dacb1c9626703cb57148492d2944 f0aa2be43fad8087a8408c12b1f15d082970704dc3c2c000da9a543ee830cbbf 20a951709772e48abcaed90f492f2b51a73adf44705d3c5bbf2098282c950d19
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-08-19T12:50:09.615416+00:00 86716584993592115764828350541218422334711240376160 09855617434736501513926379083791824999705053844503 64104930900987908641765540547484025465891734892496 30682078391614163441400617112086952572661970809789 62053701590963606006778286485484710053101873004350 83765134877881581836021715476567885146224405194133 68920682454821958969198242017568062137837080336505 08019727271626900610477395479087449708580826317015 08493271925861241806666419806215215724122145541235 04720830267882363730089972432012364790732064876586 58786956143992776206047672553901444161123365396838 01171420117651499364544464483449735900702524632114 13723192172761554017729527194392912401461749462010 64518378824013801328284396472891753057567328948483 45434753323163749012703389568962367221121555677792 00921335012076871101640347581998718461512850407640 53728770853160493048470935119550181520046515824339 39902448559642919244673474880005576509433265658348 27642279054209223770207402687415730375662773233597 88616833795233568912809116095966555833166953811689 18638500766391178236785142187177307700251138329550 40196667506438814418585246158496486028761259945136 66788159345090976081372784207640756708979417061948 57088480567013887579661642901706539885585040220101 87688947809589557050295926146641973177851470891958 57003767886874577346044893457458031993676001387764 08159717735961911419009461349912921657540824566655 96965789530665291935035279439240346235473823085103 33964747266697006340149135832600099518402589875219 10832527006621807642264938476769004077666454137797
From the PIN diode (digits):
2026-08-19T12:42:09.615408+00:00 89158523894589186134015459050540989836111617014063 91206022103812018985997667911372929641138582747707 68982305858229602472796478302154374095805692994082 75270133970073668398954985466558704418434241882806 16347362295545921685876136102357893147350310777441 82508078970190104562109842388069459270699329488196 58935354581867382130057979609414674924859833437987 02232482423834683601689899061807936164847621377534 27786085541112286635517053880051508505724164878686 19633992634897287801137330803608303800351034463698 56935719990008987132334862239585939531735036922702 80981819201784878865653166081930733172666707007949 44566019068986034499472329901145810847437103293543 94095766376474463575089049964952056831909099441288 51187832542868816198362666660292145697950995081241 08164477826463796978761024999941031918560313328800 62014583036466374384986400295779859506675765523278 94632011551614372015081264119384033381404595562440 45124400942566014992622755517345383106850640880883 83722800520172228404759177905415657087432992504804 27730460776162663167749750859545043458275946753322 93384390449026331507753421643791066266333252400888 82318522787460154881594155845289292956335434818216 08617582768196127711826294703002166759562699466137 30728417115557497915653285735563712320055663489502 45078443029976732674361034486852210187370121229097 42565000320315650668977322307988358451345618155290 12278861964859739202839252002042543284400018641246 62617293922850381260811372734541687043637328356864 40187793084112127795949200548462489132698112511438
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.