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-04-26T17:19:07.464305+00:00 379f7425bf7d7424c3371aa4b0441747fa1dafa21b3eb83664484be643439692 a12b6100b70bf3ef4fc663e82a1bf1f007d868e2f0965577b52100f22aa9a9d1 7170578ea6d3d1873f97ca39b20535fabcbe0c78f081866b4a28a806a11695f4 1328de0ba2c54f3b96df38a648dbab74739df7b3c193bde3989532400ef56081 f020187e45fe1b46d578765125a5473b4a51966ded2460d76fbcc83c1f85048a e54cd7f467749b6d534a521f0b47852740a40d841d9641d938d86bf5b1918a52 b01cfeec7ccb048ad05da8f3bc2271981d267a13e08c4053d390fd894c2285c3 2d68e9244fce4bacbb2555b061a055823521ba10db82058ba3307b7c2fe45328 c4060b0bc6226c603073e446381fcf7b8029e31cadf384b65d660e06a1869d14 38450cf30ce621058cda42f01567fcbf28e16bb50b8b7fe638ac190db6605068 d32ed50d221c134a5cab818e5148257393cd51ebd45aa760c88cd9aa46a01f71 63cd5d9df5ba9b32c0e244106b61437e5ea39eafbd52ffadbf0cb90197708aae ff03fcbb9aa9c9dd2d9a8c33c88f958d6c8f70aa60445e5042f1e777dd1e7508 affdeb47719fa8e2ec75f6768e1ad4db9ba9d958f6af761f645fe0f6fa044257 774fa9aea20cfe16c6aa8e3120905c6f968a475b9203208b994fc40e532a1d6c 163926177efadd1382b42937080d7af495547747ec92d36550609ac9cd12520a 4a0f933c9d07a5159a095cc8ecd8c17ab2e98cd20cc0a31cde84a98b6f7391ee 94dd7e4759e3751ee6933db1b20660f27c8eed364d536f95d492df70b9ef19f1 d80019113ef7c179245dbead3b58dea2e3fae491fda5e47e421750c84e56011f c4de53da9e2e7b7eeea2a0b1686451f19679c2e2c30263038eb825f0038811cc ba1d9343b0bfcee2a10a83e298b65889bfcde4578396eec8e519c34e06a9488c 883e737aa80134f8731760fc89fd14e0207b526cd5692371288cc2b3c2f521fb 48f05d2b88b7498eb3c161071ba50fd4d05c7b15e7f9a57b9da7061e44d1eb73 dad879eb928ada0dc796deb3959cb31855983157e3e4a2dcfb93da582aa3886e 341d058ce4a28e68e13f62ed02ba9266abb7770bda16baa3745ac7785f135f90 051d57b3979a0aec3ef3bf963cbd1127903400b8ca75fef8d1e2199b95d0b33d e306a11feaa8cf35c3494970c436e0e7034f9c2329c2064e12ee6d5e1cba657a 97b40daaea14bbe256d13b78abcb0ca742877cf6f579e97f459ce371a3c8eced e3e22d579509bc842e1bd7c7b1ee6d8b53651e92056f7c5afc54e6caa70fae37 485e7f12cd49cea15d067e2c0c5c3d7453a7542e7452bd9ccc07b338b56422de fa65096a321f0ac7dfdb032bb41722d12a6d1c275f6115f0654947cca292442b 4df1181c04786181f828c505bf1a2a8fbd2773537be2e39ce1ec031a229568ee
From the PIN diode (hex format):
2025-04-26T17:18:54.862367+00:00 0bac48211fc3994bf23601f8e5cc379ec051449377915d884f9f315c326f0c52 f018df953cc66d2cb5a9181b2b5977d132f000c6820695c28b0f626fb2e47dc1 27e09b40e95d43981777c7f4d7c8db402b62ec5d07eca938a48907a8f5f21476 b90bfefc61ebe8c08b1ea65e3788a749fe059c25d27e9289573452ef620e97bd e231205520c835cabfb5d7a987977caafb12ba91449c3e4f0a33ef67fecb51f7 c6ceb9f8fdbba63a6031427df49daf91048c7dc608933ac156155721371beb5c 8a32d3a352df43a407bea2e1bac0ccadeb6e06d1ae96c28a9a08007753e952c6 53e6024b85e031b25e0e0bc0e52ff69537e979a5a2dab26648815e521903f733 24bec06672696415d566270d5353dec94e22f843cb4d95dc0a165f4d0c6fc680 84a9f35a83a8093693a951a232cb6c31f0377445a6fbbd0bb75fd19779352191 3fee48efc9477bdfc4906d6f7b89df0762e42abc29f944cb9970a72c12d6ad60 ff70a54a99a7c42fe2450379f3031ea9249b9b78d72d69149aba053b5af6a44f 26d9f426b6c3030745b9c77ae4d5b90ca3ab8da0b99703fa785b2c29e598efa8 8a85bb0a64bb234169c575b62f14a241cdd0d07cb90331b25474beb6ea16ae54 609480bd1866f149fddc6cd3b7b81000ac31d4f39e93178d592f64f11c91f165 955ef2d2e886075dd069fd19f972f23b03dfdb89bbbfb73967b6f5a5d37115dd 5ed4d7bd5f2f6b51ac49811a4eac1dce11dc9966f6ef70b51d38d6b301934e34 ff11f0d29e138dcb018b0a35fb01b515642860ca5d7b578c1d814d696b7e6d67 658340b73c06a96567f215220494877ba5376db6e0c0b1e1f74e085dab6e49bd 9faeca9a6d6e265b144bf26ddebe4fd82f0ae0117fedcf1b7858da7a1adcd8c2 2aa4ea5cb4204d8888ffe188b06bf0d82db6abe98df1eb3fd9ac955859ff95d9 4cd6b599f1074458cd9b7433637aa0633797d81579e73efd2bfa8b7398e0dbca f50bf1edac649021307ad719fe775976923623a83e6af181270497e729a37936 4d3d8ab322189a23b49aa84698635f30d4c47996db87c0c33af8f24acbd57962 62b42c94836930985639c7f41a096ddbda7f783083aaeff19ac3f07ff8b31357 9451414fcd74021a43a6950b544afd1bb7deeb5dd018d03a3bf751d6ab62c82c 5a72b6e273998a810b64d4df8054106509ed0a25fafa6b3373c5beaecdb6c79d 05f01b68f9c7f701c93eaa10d5a81258b008c8f111bf4c35503dd033ebf25e6c b05499f2143df7f8982a45935c50b38afcd9595a999ed745c2d75b0084f79055 d3609052c2484dc5eeddb8f87ce2200bb7f63098be1b3fc4618cee10b560a37a 5e2b17080187a04de3b00371b752f12695b5b7396696a9032f6e4f76c6b6f208 42e3330ad9b2dbded3a334d690c51a1e16d7da3284103b1f8edbdbd1da1afbbc
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-04-26T17:19:07.464305+00:00 55591637912516369555266476682371297562276284540072 75676750466143970083117998994227070450851981330042 69691312874266356351577805538890122029340774406806 61224919401162977959505666727116155779934789524950 64149629322426692770201881376571597481500936961188 60313304387603165509837482311171333964641332295065 56077745388276282404389368883413522938221940648344 37763433954504367975728737857697608530533386163005 39634823244783409606111198340896481570563123284128 73328293021406613457205669121233054066210391400781 11392756722513829680044613342819749271294281723715 47819067964070706031139993578655509268160797672694 63587589827391128501511238740387546945544051434941 08431270966894806619301708757113596817184226556988 75183100950466871979697462122298704249324492115038 71914603323953799614834229082257382326193080415508 13224984197146018096541882107415476057076521540992 93227840129263283269391115454826718917304761777806 96244254778311494612852500251762932136939073598862 45652666238078860131968358462326626077040081502194 95029903428437033617862947677691611031528288379187 31502595780669724036621522680152152396372032238208 05351340409479943372934336837342799397072765159223 21652357670630681521463813995079495679248552498762 47884263361052290540624204639802864602718319112286 63169099209519954405298779515410629150608917394452 00841725554979610661316853957373129654037956354194 06781809942886012251801370208786592071126766352421 27695613634587490988324627997709398301304605112490 84671574557294271873619306264412926116836784461682
From the PIN diode (digits):
2025-04-26T17:18:54.862367+00:00 11727233319553755401555892816847194593367959499250 11128224496098094481692427438919500098300649943915 98117825933955649367522319996443989307695664370768 20188511979239306694553667730556372646378752829814 51894932853253918169355124701886456856627910510381 98858766589649662557754504402598084758938621873355 27923850638267640790628692731006745094385408001983 82988302753349789414119247495521656278027229948225 03513690920214050021023913838378346777491022957712 11982832699031680954476981625008495516696689118395 51215333456372712396440911233707984288416853126744 18739612657453679647690321033069365555204505205486 05599064793838829503076985992285126371416085510320 91444152683833871000873565059717824720626524850349 78841690822274849648288924027308838416007249584723 41894700284501499434079305251459033787918357038265 13219489954707817273292678722917530212812956790147 78521758194101391053018121004096932387402929770507 26090301316483600669010321340448352365550982927778 08937110738959745409103891207509907947101727272088 22269442649280327736363676074582714163724988894976 81530768885516519922609955512121624339155211720044 33482225198918465435686206293904514163215477613879 34245435805468705299954896215035929558742198988044 48310548528657992609092720483170549527791987488165 79160226676649118474278393245859817198449014821553 38291100288416010910370751159790748299570527049901 62701668188876081791765380615194087684532061524269 47928079388990535869949100324485964482947277978424 32118348529027639697401681966322944323080135607776
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.