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-06-17T21:16:49.872606+00:00 445cc5853c1cb6eb490ce37d7b1a944baa78d3b1ea3c5b11e9baa87c2f4dcd1c f36957e7cbf8e815e77e60102f9e3a93236e7e7d545a3f5786d355a257ccab7a e97bc61ef90e7a013feae58c809f0d9163acb975bd6f5a009e98ffba497fb63f 8ae878f76d98b66740cc97c7ddead362c96405d18af01b5a6f2b084ad992f032 e5db31c517d878fdb56ff92b6f6792c667c0f27584a8cd94f715d89b00f2f764 82a624443a4a2c62336165323dc2a6b57907b7d5a1377720ff3e03250439bb94 7609305d6a2e26036c5f84008acaaa6f4f910c936cc6abba56fa35549d961695 0c92880316ca4fee097e8e25fc72043368b03f982e2ad3a3512a619a4c452722 fc62e13771ada1bb8eaba04371f3179b133c0ed2fa6bc916869cb83515f89e30 cd647aa907a9aa7d33be85ea98cdb3b3ca59c39a8934e69500e2353ab653a0fb 6bef13c50efbaac8df745a119eeb5a2b921245c52c091b2e5cec4c6aae581c68 e21675e83c83685d0b42a9e614bd4eb1abad89db9870652ffa88b4dfb5d52590 544a492b3c86f99d09b2c60c85c575de1385b62aeb75d013ded5c8dd6efed74b f525611ec65b5647c448d806e6db1165c5afaf7afde2a97667e70805b5cdc0fb 26b4225cfb0596ee854b4e58851cd7784f8f447fbd10843b2b32b1d149d81b27 f3f74c608d24b845fa3a7a7cf5eaba1da23a2873946fe42f466da793acf99695 41c8f7d4e12e5f88284ce2329504b7bcb15448e90b6725888496014f36534600 49ae2e1381210ef8de79fb64211abf10df7ddc6987787c673c872db5890235aa 8dfc6686808ad1b5d7af24c5f2116a556e994f1470f83121ef3628bb355ab6bb e61c509d2c983d690c2ea17cf6b9fac4d71762dc029fa884a55811109d4a2aa0 0e63ec5cf0edb0f0aacd7c02bff73a1d22a137c6f32787270e58669e608f516a 2b0f5c24d1d851d08b9637ccd96974cc0670419893ed356d0c36a34fffae7ce2 03d8fda0140384b4111fd29461e09f9285053875f16871e27f069b1ae80ba19f a0a6d3ffa1bf26b97180c96ccae79f76a58d86c464270836b4669912a298302d 8d78db0daba99859093809c512ce009299e27af9bbf5ff11c8d1d73609ce7e64 fca5e0e3bd06f6e800ac1b4ab2f17d4881667a2d17700cf57f782ed72fd913e8 7b4684f5715983bf28df812ce2e06e2656f59b2d29adf9f3ddc4a4396e2d0ca5 4d4ae0d4ac46dcbadba5c0067c593b5df57e1756422a7bff7010578b6750b699 684064aa32ce4b0568f0816e2518756a7a70c820cef24fbf5a28320ad37990f3 2498327eab6d099efcc79f922517523315588fd1e70c1b744f78111e464118c3 95cb77f648a48bd2263fba3dca405a3c4555d6c5603ee53a16bf2089d8391f05 0566a62ce6f0dd4c506e5a146ca5a478eeef6ea1df7af4d31258e0104b438ad1
From the PIN diode (hex format):
2026-06-17T21:13:08.471629+00:00 15a42f3d425a441ca3c9d7420d694df2c71f49c710620c4816c1a925a3fe1d40 05f2c86fb692f4e5167c5a3a0f00ccb5844837455850486ef4ee1f9b65aa259e 6090498aee1238c7fc85ea2024e82ab731e8d35c61b000f6b6ee93ec4d359db3 832f1beaded2004fc57ccdea183728926248b148af7271d010d8f8d191f819ce a60f7b717087809d2c22f91b178a94c89ad65b17d5c8fe6b284ec925a0c7972e 758e97d6ce4d82587ad0d2c35ff77e662954bff6b01f2a1cc8322458ec03fd62 07fa44904df30f77c1ded63ac479f668009718a0136696b223d0622982dbf412 2786d1c8a18c3d6d9e8199ea2980383fa693baee5ee3d4b78468df3d88838a6a d8668a148229ada5c6cc510b21a44428901ca5b6995c467f146d63961a1092dc eef27433a701e5b7a31ba8ef5c58823a0b5fe3f1bb1e58a909a89ed61d3a4f29 7282d4feda6703f295740c6d5ecf0bbf198ec28f6be653eebcd6d467caa68c13 9d7eff007e7992eb91d0c678f5e0b7190fd3011e622eb84307eb0310ee464998 fa9e3136781dd3162b019422c36e990dae88e006f39ab73ae394a3c7faa2a77f d83618aebc5197539fc34507c59b530461348c17b8dbb3c11190b3e6f105f468 43210b66519ccb09eace2bb6d2f5b1067ade24649dc6aaed5bbf038f9a8ed268 d57806459b0560a20867291c7a58152a637a2288cc9f87c2a35dcd42b4eb4940 6f03de0e4b4734644446ab11aa2289d5f564228a1a136e96420a94d4bfc47ac3 39a65c56a2d666f958d3b8e99b2b97c3926dc3ee95066ae157708321f17d7d7e 6dafec601f72532d94d019bd88d20f04b4ae1004f3eb6214381bdc928c916afc a1a693991b44da27e8e5a667a8395b0f40b9535d30963b72f656f739e7d26228 ae78531424fa6a3fc197aebfe0531ae43e88c11dbc6f71222db8ce6542589c87 cea140ec06eda7d36bc07204b280798dc4a1cc6386f56ad43b5e9e582c2ca5bb 69e1333fade3772ae6e31887f09c116ed6514e8763201b65bbe55c5f05de46d6 44f1cf2e67cc7fa799f54d7d8f74058c805b29ea06e29136110fb1b695ae3524 6168b1cc98d868f82d7f63d4d992d33f886321cb176e6c548834d535aceb2ebb 09e759726100ed1b44fb319804dded42a685535e9e7b4b6e7fe7de2c853221cf ad20afddc4af820e447afb25bd4b133e6676ed92a0ae274a7a859e579eff51bc f156b166a850a5dc57dde25e26a9c732049bf384cbd8b4a761c1d270a22554ca 485ec9a4d3cc9bdbafed6babf08bd374f04240dd389f5ff19c45371d25928461 c2f5206ced00ae465f9a1a7c965d3375296d58135a2858395d658fe21f3d6d0d 9630ed0b037d5bc979b9fe8d6812177d64873f6f7e2a43f3a38ad92d87ca300e f384f93d93297fd19108e2c2dfda0b36f022076542c87d593632fb66612b6bc9
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-06-17T21:16:49.872606+00:00 68929733602882731225232648757020776091178668244777 28058721269616475858473510262584906387348562877122 23983014220163402859134599728517891190005852867327 82633820095282036451999800053827901143087446504997 23208111431103469803921732684821550000306636685874 44985197015061946681210783615519326203370457874818 09489306463803089532003870117945124708987186865384 57502249124636032279092642371404510476635246426381 42975476693934985513736187427160671323551960140722 34568453215848002269076970255190335279798995543752 49005358828360071997147016901758904346186997440927 46927606748828042217603104931166692089787771733752 12014736808137448474734360345709789812339717193382 42171910753797309891867196720617019775752269180308 05819238803492055033757888332820794368278916325943 50777327397696413684695822248629625840154811477009 67477250496546953640765049048388778472110337363250 01795483700073744619293314210033269116250535202403 60354581370253704102342838817536971706851053792012 49335440875390828728805744526105124661248596239802 59683265881716577442601499927670240291582934615598 39353914880258964381064315923681395055051606126552 47530912546379742403602003328017314897594633055617 04132706552611615960666191388513280859186541349600 39085480025318625248454120137169528909560997180046 53228717540926006589060072277478257229022245231212 27204647192370321389319140294410388655454173966457 10451265777472708665920624895993262386664223121687 39038082530464007050750504291037241706221232799190 40501021443652502671090958995946372382512188431227
From the PIN diode (digits):
2026-06-17T21:13:08.471629+00:00 21644761669068286366130577993173991698127222936937 63296405118246222490581500813272556988807210315501 70375896447338185699333236428349929776008247775357 79314727007997242455404698727772751413164525661523 13123528574434272338485491230740783760995146174251 77308822959526024184917631422850368803980768447715 19935896210400512460190250783598413018393461406109 58295341285663664786948332046136313806023820304173 65988111336468404428658253927027200999502616461651 67018363276892883058119587308869096858295879411430 03034916120994119125429443078388036640195726002621 46459820832515013098468467070316707352584954202922 43014834951053137436065483584863996267275424748881 51835995690797558304975240238479931744790504673311 02815609438277062236005798709191034354420420066955 05966208034128228821429922343659359463936680736411 03147571520068707117703437003438261910506610489196 22955766928662028884554351954609954906068712313325 25260975963114834548258936150480741604982056274640 45066166475327683966036857911564858393485059148657 98407420832036066393517491832662369329881113344584 01668856356164066707921404782821419661993406599458 88444465870551637319422435561710817835993227018792 95057068460327675377254316054028914106455417157782 49745336970477520445279946633699332310088436525372 46870989149700276849520466663383945823751027443350 33733275967530146822378975196202184660743974223358 87588188867702688065879438699950045532806797931262 37847294645575077139166664565995566955293746329794 32080074709554262450935117410988199040885793014331
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.