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-02-22T23:04:57.896533+00:00 acdea886aff452aa2d4af914913db1e4aadd4dd090a88ee988dd961190dd84cb 7e68823b9885f0aa17ad7b528b1593fa80bdb0a48a0c2b10cabacb32fa853b96 8810e81f4a4f09216bbbf93582920bf56ad4565acf71415516f8498deab5f546 7ebdf90dbe026c8fc06d2eed845fd4ed57bcd3988bb656531e7c45c5ee228134 48e0797d024f9144aef75cc3a733734a5f239ebbfdadbe8a89932659594526bb 54fce218c73c7a25586c40a7e9729f48d056f3aed0e920113356636aa02663c4 7e0cc1f6d27986523ca0f80ef5e9c2e0b8e703f74d3d746d14210de69d570446 aa7ab64f10d094e581291f5d43995b8e54faf9d18cd9ff5fc07d58b34325e8da d1b27676fbf2946f24dbe7a00ba0384ed209c4acc7a4a5ba943afab4d45b091c 3cfab6399de635953543ac6ee7e2fd2ab763ffd08062037142cc5cf436c3e67e f434bdbad4cbebe05e1328758144e801bbf061e63258d40606ecb72077a0b879 fc1b6ef51a15cf36d4e70d3b1df3583227c2b241ce5512e5597652db53587139 396c19d222afd79f6b0c3ad82a94f6f0cda93f938d373dbd319327c6f407e418 1b2e0c195c1cc1fa7de9ef902eca7ce7ef84ffec8a91ec0426521943d8c47295 f6cadb1d649dea58ead7f96d96616db28ae82a63ce0bf53afc8b5cf04af96b82 a32dccfe91614777146a3a019b85aeb340ee6dfc47461438b5faaa054bcad1ac 744a066de1596f3f1c96a90c72884416c752a05a51fb6a71f55bf6f6669b5a76 5ebf8b16726cab798b42680c98436fdda44de8c55fe627991a53c460a5173634 a98f71773e38053cf42a8e75cd5c852289b57cfcce39e887460d6e7c203ffefe 4565d8738b7860aa03a30c5b1fdd1eb6af32f40967b0b9b2e1d8e25ba2a9fc6b 03b7326444caad50b3f446cee147efadc111eabdd613ad30fbc4b8b2083366b4 fea7891bbc62789d16aaf9c95b64d5cba7ff3a79320ddc8dd695878558b3d824 06ae352bc5c0a5c383df32ca19eccc455ef846e776945c8e94d0a6549d39e063 7d8133b4870d20da72ad1680a1a6e7974aee8ceb46fa7070e0555790f099cff2 a1d5873d0ef62e2324bddf4626cc2b1a968e72998137bb438c64e19d750964bd 7232b2f927b5cdb278903627eabb650d0992f8d5ee8186a9f7e409b3d95cb022 eb481fdf02dc93a0d2ce47470bcf9657f9e8191a86fbe658c72ed5afbb7af9f7 a59429d4ddaf24a54bf226b346de9f261140dc21e7b1e45ae083f64dabbb055d eb0052677d4a8a53db19cc3939f099e251e69b0257e8eaddc854e1476961a19d bc80895049754a3e8d02a88a0a69d922e7768db82fde169dc09de3ef0d307db2 b4ca12d666a0dcc93487a9f3bc8d4fcd918db8e9571e030a98592ac5ef47fe29 a0a6af9ffa279723a8f74394ac0fc823d8a25deebf967d5f4a62b41fd6faa7e2
From the PIN diode (hex format):
2025-02-22T22:54:26.498316+00:00 99955a3a4d5944da85a5f83126c60e6158a39157c41da4ae24d2c61b2e824b6f bc414f13d5bbe0d258470e4698863a05d22cf23a5c5c315402bd6edfd541072a 9b6477c3b233d55e430acd7ee6810a8f4b45563e8d83daa4c8e7d5a1dda523a2 06a12f23b0b479a62be36e00fb79871a01bc7941a111f5adb307b8e0d768297c 47ab805976c79ee23279d6e91436006d43a85c7973879de2216477c761f5256d 63b66485ec16cf50fb538beab5df953b22b8d22b4bad870ffde66e7704e775aa d5315ef3b7303e961435522cd8427df46a23fbe81f6698b47fb9a0b614b8b9e7 52db71c6844d98730ad63945c658574d48e003704d7c4167572183913839453e 044276dc43ef4a158461061bec72bf25911946e3a4245819120959c0a30e345f d7b44543b5ccca58d5852867014fe8751ce11e16496571d9b80a2b8953107abe ac9164797e40ec52a7f6d56ac450b13f6d81e052a334c32c79f41413b2dc0950 3c06420d12e349c96cdb49e1ae8f94b5956bf0b97020e569245a4fa55aad2369 ad8cf5a5f0c8d2fa89f1a80e6ec5211b8806a8b339783ce7c6a4f8095871687c 5c5c1e1f5a01ea5865ff479fa65a78bcef7fbad3baab1e0f431db581ebc26828 0ffb7a4b701911ffb929386dcb10c3e12f8b5b49f021329ed1a8695987149e05 1a5e5526f282f5157ce2374f92119296a3823cb3e98fd7ffb6ea8ae508cf37de e2cc93d92fc2ee0143435cfc27db62b2f9b3d988f242a6c83e1ee7d388670ab5 785bc9d455fb23b0bf86d43223a7aeb5e6359c3c6e870bddef28593d2a90367d 7e437b74a6cfbe3350ea82273586ccabd80b43f50b6344022adb05def2dbb0db 444037c08b033e862fe8a15fb11be0b749ec11b2941a17ec16c94de01bbe387c bbec4ce5aa7aeeda03ae9adbc52de1eed05ca0fb49e2e0ac4a29e87ab26a6318 ba402fa49df0074d25fac001d7369c1840962e339f9a9378b10bdca39bd1fa26 49ddf0036accfc847f85c26f38e2bb6401c24288aacb212af5528e9db0015c94 855b649632ca04160e1c4a53e78c57334c1cbd59c888676e1597118d8154ef9f 0751b98523b3f432e7fe4e417d35234b93cff5dcfe40fe3157975b21e1245c92 26d74581fe7b4fe44dbae45a9134f9c5e12dd8d21067a5012633999de076092d 308bd7398c072e2136f8929ec23136f58183cecfd3f01ce65fd6460efa574e71 09336b4396070bdc984f6de2baecaee252909f16c31307102024aebf5c669a4d 3ecb34f1adfd572abb4ff17ee97b5e12c646a10dc1bc304633bd48fd9e860ce5 a418e61bd2e3f8a857222d269669e63d60302d6bf92a0a4c02624a0758b341ac ba45db9bd0808a947824bef2f4b7426151c9b7f95d2685570e6faa82d98e1799 2f1f9411303a08f5f2d61baae3e125aeb580789942f721b586dfd1fe008c3088
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-02-22T23:04:57.896533+00:00 72683475827045742045617770774468423650174432260430 59523370237323823921472889766438124316865033595036 16317479093307875330461106869013658522734181702689 13900208439209463295878852398286833024699734295272 21250279456874929567511574953558877390383747388989 69388784249960223788086467145972867432175186990660 38999626129321348260601494840377611609203313578704 70702282791648294131936753914284409592258879673778 18184811366011605678099672996465864858809109286082 57575349536772104283992898031366925495265289869419 40172968018797508806068332196084212710262154135929 88503994786585188918828388135757082534755907125842 48696347415561894947399807242746122592289325444624 32384504388225679614492900578809509709783842991158 39927407306345459771192006580155337479640971702056 81700575721674060989116328506912143668229982609081 06139102559018949139221408712139660412526711647797 95395326839696652354526943131962560560424217923334 37812457357013102432636901153920967003631291313082 75500903768578916269070383500068738079707173931789 19734896847808510280673727889820572270910067582150 13414935338879360674534397926595315025699470184892 42486684575799252951803513321473222861665174407012 12858744536135611446353689703843265042145329558767 40005717090089145078398178204454398701130946293469 09799276347231024760717111508725263488994675872265 48417536657538797059381764337790317771870593008203 25743883255757538155028784710597615788283780731774 62410268381005341841844722579257134825788018026052 35698841794541848730031052894297714160667559395135
From the PIN diode (digits):
2025-02-22T22:54:26.498316+00:00 53499058778968336549389814978863458796296474369827 46307511886579198788711470523458054458929249840289 10650742550019957851946710262910437569866241316461 65356206614735768021664310002135260188216561177379 07840441247171288918995850212054000967689221153557 33001999973709998200332280833981495934844375733515 10190417704994834862502053824466250635310252802785 60822084858213983277521510576998888777720312772465 03873331455657696204661867742132970627149137452570 64368825180989926314529580696781883340030179172830 22730113841043378316229072450021266482670696807763 09298263529544212019780980600666131873087374434881 49078512320536907965907335057340653768141097332736 06687957206098640988130424929230319001880171596690 20882786867130156729812994044015227512251785415609 16954739917333505868058935205805269485383021245579 46174650633060794382380855474794016767923998787936 66666230360310812091853576913450356774815356601035 11408961424454252667231666905180303953347111671199 68024205766864559239036234476195772783731778482623 22772790562487767022037454974592607372744122780699 24866447645707773792015456246450465159544720771163 55387303063227339411568700019466367033428242577601 92483391005050042214287483408751762889893603102151 17412984590781853335795078652553357547644987519133 36924638692923797786904552974516036501385153571809 45483957400746335446589449542931289570148778130951 07675007115279098674824459229519071632367491920254 77625273874287792623941898706113938848705189725834 12642427688734453850056196484507421076029874078879
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.