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-10-29T12:23:15.665699+00:00 2f36908d9c69cd734066fa044675e9a0c1483764ec0c684dc90b7e4976d3d5f3 66b522042f0d99a6d8e4e843257b8e6735cf7ee1c25da3b85e260a141be27574 697aa351dad1786144b5a28f9d2955a358850dd52f43742406bba0f7a4a1e1e2 73029e1c25cd76a9e05c09e3866a014fe2c9c5d995b2702201bac314bb348252 24e278111159a717ea8bf7290bf154f91efa57153ea6f92fdd0317a060035d72 5cf3caa993e670863b75c17b5498ff5493daf07c568687c1d188c89188194905 aa6100bfebcb69cbddb26a9b74734568e0627b71823d7d7d510da0aa5cbd1922 8887557e1e867536b4ccb2c86614d7f4ddd84b51924f22c21e20c0a4b7887e26 2cc3c8e737fce3b6c39e960e00d311cc8f183f3e1b23568179726bf8f1c25b93 9642da3ffd06e790d2ced7eaa42619d28889f374b7380990a86c1a8359f64740 caa3afec46e45a5f4137e6f5452b5a984b567d9f3b1bff98b3a58b4e1f777b2d c6c2b3c7b116ccd7b121f639d5a3bb5a208fa7d0b706d9bbfdcb08dae792cd4b 8d9137eba350dda9b525a8b6426e1decaff230b8173fb177c0caa3a9532a48f6 f79a3efcc7639a7d50cd3678c4008646024a6cbbb122e788ffc5022243ee5c07 64526f8c22196bf24b75f7196c5c27618e7522430eb42600d16a88577668886d b34983357d40cf38003b6d8f8853ebabb3dde916736c25a3a1292a6b25489fc7 fcb9a57324655a116efbb14c6e2297c2609439af5407917a74b654e806eb6d59 3966326d884f2a0270d56b2354d10105dc75f7cd6786b51f538a0ec259d50dfc b7ee72b2e50fc5ffbdbc15781781b2f37c47e7f31ce368e8ab879c03af5f858f 28614d897537cf978b9e465c33d41b57f744c6156d3139dab45286971dedf0c2 3acb87e8ec3064106ccaa018132414d595db946689322e81b36dd181cec16999 dcc3b800f5d4be4fb7cd87f473ab77d5f29c76148eef04d8442f53850dec15c1 700b65ef53e8b598428e7b81402c98008b045976de4a626345745a320cc39007 282ba9748a5abc35bf924fd5b8a537f766edae8f01138e94f5398e5a689b6358 7935ca225c945d1708fbb451cb572a84227e660fcdc420197af90b6462dd9750 5208049b2fe271d8132ee9261427c1fdb45aa8319f389dad1806a3531cef3ec7 c745de47105254e8c12ea45cb4138c2ff551725b65cb43bfaf583161671877c8 a1ff77de6d69991848b82e3bb16bfe5612570a092fbc7e090ba7f554fa12eb59 8916621c6e2c7085a81910295f2bd1eae4e541fbccb2bfed32de80e8d3e52b5b 0b4d71681b8d362ed41bb2e7f9cd990a85913c70aa0df2059d7a7d4801b42390 5aa020dad8aad461e6c8054b7dcbb94a00d1a06e2adf902a0f3d6ad473c48af8 8eafb203cd2700abc8b2d537f2c2fe81c425f0e8a57aa85a877b0f649038c5ff
From the PIN diode (hex format):
2026-10-29T12:12:30.663434+00:00 fa89bb06cf7faa1314ef41bff2875c473ecbcc5d9048d849fba0a0e1284715af 331097328afe19fc5f59add0e843fdf39a2f8114af436a45adee7d8174d9a866 03f162cb330f6db987fe299aa5c3c0c9383af2ec9cd5e5628910476b529cbeed 01585feffc67f9681788ee5451926250920bab292a3d96330b84582918e46e0b d4dda67a9c297143057d35e44f6ce02d278a1465b8549f587d0e166eb5f7fdb2 80025ff83e2a338e100a7e039799fd4f6a91ec2f207d2f437e9a82b9498b973c 861b28198338c1c7cfcd88ffcdf91131dad296aa92b5b56e95544eb25b431951 1159e74ccf3f90c06b270ff077efb2461786e5e9a8255701df23d6aa342faea8 7b531933056ec3fb724bfef7800e723d96b81976f82e5d4584b41c963881efee 97eae4c89363af444729437821d636415cf3e8ed19789ad0254300801ef4e702 7b8374cebf0337d4060c0a414747fd67c54b2696b33f7cd056f1a2b5b75e041b ce6cfcc99e89fad997a7929a389fe4b9ef1bf3269b4eed224da2ba016bf886d4 cf77bdf593836db6b7c7c18f25334dff563c0e03eab349f9692cc6e84857f48e c03db356fabc9dcfa18d86f4430f968c491451763d330eaf94faa7f2b0b65f2b 7a718b43ffd8483c504e08e407e1fa6abb27cd771787659c7034ffdd89fe5f3a bc5599c2af06ed8d019ea138d556c32e79ea67389ea9abee6d7a1c07a4fa6bf5 cf6aab4f1a2981e234560caf35fc2c0552547719aea3b086a3a5d86a5de03aa3 7f1745176e4f117a4b209b7c12561b9c76bfc3a0733993ce32a2071f2c495150 1e379a6e83217458c89aff11bb78d0ad1004c8d8bb94cbc4b9e0ea017cd1414e 44e8625cc3409c5f38db134f89b4980c9dbc80c040d3944c3cfb7cfa491f3c79 c66155942f394262169aff97964a9e0cbc8f8711fffc4c59527123a13f343f07 0e64a3f7e52647419e8fc5b2999fd1a40007e49ddf39d13345467015f781b7ae 13264342b619760590cf27235c633dd5c4f45f21737062a0ec5ca502720c415a def249ea7520b80b3bf29811357adf35d25cd64ea42819c7a54eaf765126fe6e ad8248fae47253c90085eb345da3156154a23be56acaf201f27235ef30d39163 ccf967b7dc79a9466b67de02dbcabde63551fe3529a4f6ab79f7ca8892ec3326 73bb063745ff023eeb21e3b742941eee2f7d5b8543c388db228d6530d6a0a103 721f93050c3fe06f39c23ef710671b0e32db6583a53dddba09c661b88fbdaf7f e651aea1b6ee7a101b8d348b01f493f7cc5755172da175c2ba36816b01c18a04 ebcaaa565d18da1d22ca87ba492ddd04c4e898f2d3adc7c6f7305b77e3e4f29d bf06c6493454d7bf1012413f6fad148578c8c05fe563aeaa8a6d96fe56c51523 e13b3e0372146fb6be44bb1e794239f2435af288c310bffa0624a701f134dd95
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-10-29T12:23:15.665699+00:00 47544441560515640204701760937255001204771126731802 81340447135366673723420353269493638494381020271716 05226381209768816243574185638833134767163606876064 61150258283718699209340601799749781234018695208752 30823620171789672339411184308721626647032360960393 14926947123459179323845284472486343593364536257305 70970091057806551615690498231330612525811360709289 25343635852630341754807802207581467934943032926483 36263844955582955850140017432463622735862921140794 91475066630644643825363716835609446808263189716463 75709095655569439052758625595927527965397831192345 98947999772277335763879032436783068708467541455563 80698137688266102975488423637719926369834272546299 99542580542096003470027408877734369702346792070082 11403425077517250892399742173467148038000636871804 36097973315325645600590943368371792215083763614142 07377259998565153601901710777610345194964857758407 45221682840609895702500936794202120735840105170334 81318338149489138314781597898821202329782471280471 35560375953343409777371755513958709251278768982109 49578082345129945835480016086024193620494802375046 29790929930553958400907983351571195618204204684783 33132193121101838152664223296444520039048918749899 69169050129544074043691638908853914679846555027443 01194248574290045599882153349248932308808187423234 26021596322522110098518082080455471319463820399380 90684959565773240663832862999969711682849346649280 19404781149101679175884997032419611909055324728446 59770786188710094788260911678418893722982810441233 68251641954365789150284391117713042741544627785310
From the PIN diode (digits):
2026-10-29T12:12:30.663434+00:00 37870627701920659135927162934472736060407121755116 51503825958973675447292075670669732529166802039851 15098535415465959256585698371671078256900188950304 23368481469880461171414261505111328841241011662256 41136705255379084539382001848459882514221081782802 95624251421610260351537906454732254767265430857339 51603427402531569399361749507046818110498478789167 25811789766344920739151978702334683787013570524774 68238325510510951475281414615084251846936932802850 56295147997568714167203354659225205437670028300223 31169103550612106571710397753850796324866281839404 27085837516746545659852738557834776286010734198947 31098283999343375177866014037973054498728742926179 86885761413467155040732081186151147548677682954322 13396772608078080706873919233501561252379558888553 94750641015861568695462103565869710922280764070671 79264129528612755344058284192574637634636506935863 27236923107917227532552418862756189195601557475062 07314473818030555410313316885417872073160487489685 01246578689892956456955619793780521257882892644876 60247331602198978548475766982254515074581288433517 76898213356163526307140063387165584397785359640007 57575169701221298374193867668225180544393592996196 95331512986092650214126590731732841159521753225392 78644025996578751881381073307214830033529363219784 62590601145348459903832169700703028953815341647121 36465138158706556902623383664830472591336795363441 01486061031431470512631157946216032714500131656186 09989784438975278174618222162741523901478785234561 17948654290701933804708693242934358673450496527399
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.