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-02T13:23:25.248224+00:00 6fe197e97d248751981140c8dc2367124e919096a0631894f03b249305eedfc1 5bdce620500e17f3285e5ea26052f2ea5cec482e13c287b07f0440d269beda54 37efa5fda8eb92392f805ed4cb11840a8ccd336d4f0f7e2055f6d4ea9f75ffee fdbf26de1cfa059191390ae141c38bced116d824253ca7ae54b40431214670b7 57f2bff632c45d1c74904219dcbb1535d8786f644e4691c59d38cdae9470b0c5 984064f99467b1ffbeb2f4e0df5c5b113d91500d1565d9b50d76d46540a19cb7 cacd5fea649ab54eeac2b15c3bc2f75af6d5174382101907ee5097252f6a0559 ae73e25cd133bb251096af48a2980b04392aca551c57bc4b51997769561b0d47 118271e28da1e7e66eed1ade8e637f7053f6e85545828e1d7f885c70bd2ba51e a78e8beffcd6cd4b96930630576b6aa4d2fbb25d490633514c7ccef236c69027 da5106b8a1eb2ea20e335d70583c925c97bda0314736e8f1aa1b1939900df297 e068fa92326c883c597f62c668d1030ce2b29d93be4e41eb991d3468e1f23eca 2635c822200a829810fea9ed4d544223865d942081814d11b94f25b95bc92ea9 abaaab885dd078fc035ebd214b110972e4bba95c8a981b1883cc0dfe4705cf4e 533d8ca6bf2d7e51dd5d78ad2321886a74b2e10db7c30a734163b347f570a9ba 17a4b613efd7895a063ba966afbd71d96d7b32def6151b53e18c9158afa4e0d7 8232e30eae7a8a13f06fd9850961496a5b20f4af1180be358ed38ec8e4cb6621 f6a65e05a59d6e5473ef431d17c2de963f754f309bf4b9a3bb9614ec7b593a6a ea60928da045dce22b9d4a66ee2320b468f06596369a3c954633844dae207239 f1848c8f84e286d77e7843a66e45ba30726b4687c8e9ca55a8bf95a756d79655 740759b12c01fb7a375fa9246ff2aee19c9e9948f26de24b8e61f9956ce94463 c10c105db891b6f8ebd35e7c53f85c0331e1a780bf1b117c77d7b003cbb580d3 356f45c5a6b7fc9e8388a605a167aebbae1ea5677acad287861ee9e6706837d6 38c7366ba87b82f13f8d8d1500257b4c9a78d7b8f85209c81c01b30b99924dfa 8d38b4a311487c76b058a7d016694310732e7df65acf6f4db7371a2257b99de1 b8254a6aed8fdfa12fec3c02f9b2644b11457f337543777ba8fa0471b1fee8cc 522b994168cbb89fe15cc37ac73f08911f39459bb08e96e0d8310ea4e417c64a 6cfb3179d398e1974d82cdeba61cc5a29ac453910e562e047628f2e0478043be 2c1ff9d8e452959ddbd2a75adb0550b6c8cee1aad0ad065351d5423dff6b0298 63115190b33efc27f6e0d690077351c7f72ad85958854ca47a0a73b7a63a036d 856d4c98f2f33236eb8b20de0754eeb02d5731ccdf81908553c5812afd9815c0 96ffc369ee63f08a452471589b0791cc46656a3a4bc48c2203d09878ad74f92f
From the PIN diode (hex format):
2026-09-02T13:11:14.043774+00:00 860613731236831f16fbb2c125b9eabfad217d8c946ffb0e8fc11aac8b657d68 53acfc8cbf8ed48a715d23b040d20a0d597d0a6982c0ee5ae9a6a2c9f5c4a59a 5c38b4615c36d627b7486bda90d0905d0b97948a5a5374f98aecf46b9b2de85f daf1ebf52802bdd9c2c3461b375d8f05f92dca38ef951e1fd5015b5a968e92c6 e3e83b1a39221da7a7676130f8418335dc871752d53c03f68f60fe62f77b9685 918e348413aa4b40150e6b9856ccd8a59bbac1ec3274acdcd8b4482c1e9ca390 75bf8f834c93f7d31d6da283b0a0ab6cc7a377beaa77d87c7e4df359299ff3ef 52e14483c2ccb320c5072724f3e573b2ba0ef5e8bb6066725307b3e54d80e8ca ff738b6164fb8fe8eb745a7481708052a33d53d7fc82aad3315d5ba078bb2814 ed185826590b1c6c6a085942a18fd6bfc32526a8ef31384e214ee87aad17ceb5 73c2878a4f0179b516d0b23901a7c9d6bc95242de3072c08ed2a098ffb947538 a48234b3962018ed539fc706c96ead14b8d6bbe88774f25a5d087b2d157dfd98 180c0722a2b40d323a2c5d0f07576f08dd135615f74e9cdd5c75e3090ca0bd06 bc3285b684c7a04760da2487915af9b0634444e91a03ea902aecdbda8394e460 d8a29b848051bbb81ce6cad954758ed39f435b228a7f922f0edc27b0ace5625a f9a417ae2e8a8b9d2af7bbb26fae2a3a0159844da2bc5a734e209035c4fdd2b4 3f4d2a6578365fa4e88f00ab33d8a25f30e1a7ee7725a70a6aaf0b9000f8c730 476eb98524bea328ffd83c1e14cd09bdd42bde30004bf014c98bf583fd3862fb 4e325bdf051aaa7fbfb2b75ab0c585f14a3d7c3fe9f1e95a8b048a83b364be4f 644884c47b897af8bd3693e8d4559727100cf722cf38ae46096722fdf858ae29 9ae4ff5816c39f114944860ba5a910fc162d19108e80abd7cad6778cf25677ad 17b2184494b2277a0176430c3107e65baebbbd1fe7482e1630c3ec8a442d666d dd80ba8872aff6573481e6d0152434694bbb5d004d7627e144d7c5c851fc7184 44642510c2adccf1d82412a5e1fa85c2a1301724cf9eadd7d7697bbfa9d912ab 4c9aaa6cd55b69e3d8154229b23ca2920426e50e714e6690d3a0b56182d64cc0 0385a3a07de1454cd5c479c42edd50075d8cba066605fd1fe328703d89954d40 77257f51d5369b22f3bc55458545459fc0d3f83980117c726be604667ef213d7 bc220b4b37d64e2a5255948f6f7df5677a2c4b4d4003edfff38e9e42bab801be 98d04514f159d45d827e1155c97d60e0ebb78accff60706fda594e0479f963e1 03901e42685b505d50661d286b4ae97aa10f56a1e97cd4df7029c0cd6a68f0b5 dd6a9a0cae30b6e7da09964dabfb427962ff8babee550196a1b72f4357f52b48 85ab420509460df7a6d6370e7eed16ba4604a81e39082e7ee9a9de19f76127ad
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-02T13:23:25.248224+00:00 11512536358152176435031878454450609924485936470593 91328014234094946296829272461994357627046405908455 65684657472894173210405109791526328559179138280545 45571065953922363760677484800449337012838791509693 28164466258721532011007870459757567448127697526400 48037790789291176145801321018113180164615683950054 81789477925994902367301625078051374706058974159251 87371650757262521104574285288788758153190586271371 17301341611026429927128385693042292736921289436530 67423975504706488707066478937306518176245498443981 06846146621451931288604692518960497154702725574413 51044650083660892798980403127857479078655329520462 38533432103052166977846635349348322929771785793785 91466971707136932003948933751709148769923852272431 13710578836140669145268193207335333606167813839510 15659979711269862364821937900659690275891309235021 27834045887564305014742238191133099773069132751728 90534242023366940565571084156729239450631779485585 63875020238958069646416069435774023532800401505454 60497051327774321457324043323426206766106986481407 70358568914967865085160789774401225595693611745658 53720975429749086899931216938445829424839203496728 91271724197603812853116997668358313666056103748774 30650322353430120455569954076823306341412100372376 54208482092801791153467741568063177224187688672205 67161546259011778355263487855784377406436147600278 00751769275117671923680413778243536504845992952299 63084531576955764250491464239874084921525177306628 97625496834514864604184071286790443182495767900580 82707306838166610702529917814479623944071581994289
From the PIN diode (digits):
2026-09-02T13:11:14.043774+00:00 34061915185431312278933785917333254048111443932672 39012504837240914238139335766410138925100530929066 62966554925680979254398372074444931151483890831638 07554595400289949570275593430545564930310191905042 46985926573429676703974865315335238260034396982350 33454252321970756421140752866555869350167280724430 56634417914331764729096231766071089963199070192426 77894159826831947932970739361578861487960214830779 77281539970043169016291228826361833070499391602087 40202488388911280806088966614391953738684956783378 22732381159435387901218122785701678849364507440842 09434817566430527950322483599906107320848735169093 08234521255224120734628013505844931507871108198621 78569217091260890688503382329960719636354590769968 68260344423148966255322881878428841742596791343827 46471439767298906423744638395742877811744258018932 77628890157832445396806377420120549564430071516295 48671937671006751144009948711085333690634060302009 89434800752039315698785091052670279178839076973374 61246390390438317900907900723296233722895447855139 16123456747009033488744154882295591773683411656916 22452516422871194086197323782468487839220118671249 07917487893172462248953868450209288636147587522921 36520575879300771839689781133268003716947336186533 94614823365873052391691871765470089105216641786062 46043814137802446081973076920333636025697696219646 80079340860602053140126137497764193727815455348885 69336969599257281724140704022619883411755578428285 48431125032244757764034258668684019052692089933026 17852596833896121189780421990344306604918093800229
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.