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-04-12T13:43:03.134803+00:00 0a4aa03732b708b55721887f9715b21b802c25bc3e07f60be75cef187123d91a 7ecca8db55b8d9f0deed9c60c103cc19baf2574ea9af6922d50d100e5df79f21 cbf92a6f665ab204cbb98e01267d55a89fed893be5883ca7bc386289dbeb90f5 6a4817a8c159997e0615b6e9751d07a028134afdd4832de6f989e1131afa993f 421bda5f06a9daa3743bbf2ac7198377bd7b385012d9e660ac23600da838970b c0f6f9558fb34a0c263978df7599998269e0465ea70edc42c92f14d801eb0593 ad9010d0dd5ba7011a046597c70d95d8853bb5ec173aae1a8fe6643aabde81f1 ecf7bf224046623a07f56a554b56a136acba018b26145d9c5d8c509086e95d73 2ff73e9e9f8c52a35a3eaad5b661105c70c8e6eefa942b334a979550188cc4a3 54e921f8fcf9b5ea327cb0d5237d4f4c310727806f5ae9acf2217f1dadccfa18 ec99fec5d40043f984547c9ebe136ae3af6586f2d89d3ab36669139f63ac9ed6 bd3a2ef6214df3e0e5a57025ca095d3d8093aa17e441b44e9e7c938878222e6e c42588b7a7037eebb4040aa6fea020737fb4bb863af59e309021e5cdf36db592 f9830465697dd62ff6ee58f735d8555cee7e4b7bc0f1c2518f56fce0ccc2f789 f79fd8c3d01e0bf7a7ec3450e5c41157092e616ea03cd1d1e9ce72c1d627db12 4c1b6236a9ca1b9f20c67d1ba5fc2e434195c38ead0ea01fac603df8132102b8 31e2d90ef8d422c9f937787c9d849324c819d44c709cc172e73193093dec177f 7351cc3b19d928bf8b6d4fb93f21cbb71e1e786e3a1243440a3a2f520d2e6ff2 8c95c6fd3d8996650409538491bd218bc0a811beca3ec90a5ccc50dca3eb49d8 0907a31efa11dc61e8ff715ed3ff35c4b2511b2df9b5c0829078a56390cd0bb2 30b80b985f0c9d8e2ac2521f7d643d66e767c5e791c38be9fa890c4a845d9694 eade98504e084cc8075723e6200364958b8fa602c5fb57d972add277df925d54 e41bb8c37812459b5068f56b69c3be25c44158d54e9556049c12caa028f30380 4ca0981e9b4cb123c3428e0e71cdcdb208f8023f5b6b7692824bb603c0352026 93487f11f486cbbb035d89f88e02e3beb240e37c43483445c2abf2536bfbd071 0194363c52e9abdb5b2a72ce5f28ba14f513b540a4edab9407b69e71731e6004 5c0a6b2a1d9c9e16644cadfaa3de0cebe03e7203f4b8efc9bde7da0024cc799d 535e2578c8518fb9f9fbf835b8536067f39cba3a2d227bad1502a7652d33bfc7 f374321fdc744263086a3163d5caaaa9090d3cab4aad7542951faa75e3db4e67 b1d99275caaa0a0c3ceeed492ee841a7dcf9727e7fa6d5e67f9c63c3d95a0842 f3d6e24aa4ce6061f4b9da6ba16d93e5fc4d4eca1d2c433b2b40a528d9652a04 e288a5a42bb869b6ae21f898157c291026cb2c7f6b5d12166bbb057c7b2a81d1
From the PIN diode (hex format):
2026-04-12T13:39:00.933980+00:00 ff9e2540aec6b6bd8ede670bed1c7c27f79dd3ba3b6531bdf2ac7f6a9d443185 0dc5b5fbe23edc3125b55fa026fad4a0eb809a5b579934efed3958ab93291d91 8f82d059d3f9c0a747af143ca28de424c718ec5629f230585724682c7b5885cb 9f312c679ca9f00dcd9d762dca60beda8761e4e559acde472041e0a48e26bbc6 79e5137bf2cbc586c54e925a3d937a6d13564005b6b884ac7655f8f08af148c7 869364561cf116bf9b895c61ce1b4d62fc5bd8bb271e0130b2dfe32e53c94ad5 8499522975c75d17e31eefb152e565156ac08989aea942cb3c5187b5df2c40b8 9b9e5be31c3a3ec5a72982d60e16056e760f652c8fb6f5654ced61a26e144c4c 167550ab60f79c2501a1956d9769ccc196143cfdb0dc6bf3f1fb961c22549ec7 57d0589a79335670217759b961acfddb1db76a5521b40798b3a0d122bd5e2408 641d14c3e9b88533398798fb40c6ee95577b995ce10dfbfad59a49118e0a16a6 741101133cfc3686dcd9ae2210838f194c32d008f7a13376e0e89b673b0830ec 64882316f455b67640ccf9958f5953862c48e41afecacb01b5e16faf3bc28d73 a783c8bfe8b3758d272995bae032bad19efd43135c02ec39075399234f355c9d c7381721f8d123a52b31bdd1524256cb5b3317c196d9402485ee1e53489502b4 448af723890edf97bc00be03de514ca70c018f251cdbd3a4b70a71afcdfc70c9 68d040e674125d6449192f466bfc45256473e680f54ddc53aaef25127be15673 aee429540c50ee4c2934857e3e20e2019dae07536971583fe302295efd035df2 813d9cdf907e6ae040ff07bbcdb27b7e453801fd09f2d6f4201c65281b9507a2 d5847ea9cc88b7d9bd914e69f0ec99b445effedce81bcc56015fbef97b235093 8f0b4f5ee983580b2d06f5099f3aa1b3e62aa134b221b2f61e823518cbcbfe8c 41bc6532e7f520a44c35f91e73bbf36eb821bc29ae5a0fdffe618fa38f2fc993 e329e57269eddfe1678743dea64a190d22d93d533fa4c7967d028648bcacb63a 45068e865b3900da8eee9b1cdbdc64f00408daec99a6f4b96435fb4ed236409d d8a23f13af9e13c4dc0f64e2740e4eee97312d27ea6880cc19587011d0ae5068 8ccd4309444b8a1b7dedd65f00743832fae3916c58b1ad4775839728d67d5446 11b5545e0af062e20f79652e54b218af36ff375d79ac18ce1f13c7c79be74a19 09ef1f6cb99b6eacb681e933f3a45b7352855dd964db65de475ada3b413b9446 840cb845569e923f304c6cf91886cf68cc60efcbc25d73fad43f7e1a16e16511 2640c770ef80e407012c984b9b5dc16e5dfe966b287ba58fc55ff610f0762988 a5efc4e913dcc68412f5a33f24ad536af365e14ac8fef7ebeafbcecf2821c45f f8341fcdf8c8a486deedebbf0e09748382c7428b318ffbb00f84d617ca0f36c7
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-04-12T13:43:03.134803+00:00 10746055508308818733362751217827284437886207119224 13352626688584569693032586877869750534131614935933 42110290780485420138258568593759366067885698374406 72236893895326062182172907604019743145371926536366 27950669631659914299253119892356801896723596136856 51119285437974123857201753533005709467146647200105 47734416916701260401519913493359812358742643005871 29913464709858070685758661547286013938209356934080 44349315476258594082639062708297169212484351745149 80244096638433815024763525797649073928119072332729 73245397006732842458901906750134575879020519599972 58895846337765123709936128477023658078582447362034 46109637368367032680041066603215278087345858484433 09814631040105254788538592267523929481438694375995 30116752809617870946971060601493391876279854692759 32982527654667654995427314603172966119330284491434 55202457324736257612569314494709612327158159254091 39097985633383303020105818676810584782134611404998 61375001040983324589333992681790621092806373090763 30179713945396788127458192304420659944117848841152 95125742429482312500610203974595393712743293504852 80780876078735320300493943660297871473194693842784 95201869558004070595903796658878498604561860400328 76605230557677359566421413780802639107184630758203 92533238477227173487039337420290786424677252699471 83071301485460827191421495408620198164647148078258 13153096049210074229565822007673631262140384890036 21578394372081438553848396035686584534237321026701 45519199165031166699080649997069091360717473176649 31701778037746177010126073466567142627662756999590
From the PIN diode (digits):
2026-04-12T13:39:00.933980+00:00 58376474988289420311282439578659014989722706576849 33139781624937819560386028549187535257887147412945 43308992677175206062413699248641488887360444238833 59494403566913571845969035978972713265644238879821 19239734977846906147220919866405828432721885387299 34470086282291553792972777989187393001487846837432 53824117999323307782012106923737746966608135814464 84555891285862976741301422051018150144438201769762 10207676221780719656370161490951059350206076075028 34845899878854215186123319898597722983068533800752 79603489943608002920958433515735526498498723539213 54731742102266161701196054347434163143257650086151 18550359084800363522858218644943898334447226018111 75599441156731917917413941498650865867199202570783 53357953925799562333356543498982668691512393506436 33308372490280683835371451880090038176671201433728 64831013751204641618930073254770076937001528778370 37182386157441841280764152332662320157740783051388 63024194039329615644260664078778232669560109322801 40274907623226693683894578055380692786019590233580 47431179943188114506095958617942615278337830305324 40658801503264765330158710843388417490159743634347 47411405033567667425133461836364995025023472887282 58690642349157004255280004085366850053785464576263 19755819961500161478514945390428258812177480044067 09687538272595001656504508887773711731514025847017 81849410981521014684782475545593217224311999995574 25093108855510728229516491158233930001719059655948 70321284698658466348760824340496949315632626220117 38649912280701445275559393109350074023654397951618
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.