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):
2024-12-04T09:54:52.768650+00:00 62f791a8a3aa5513418bdc6ff0b83c1ed117702685462ba568341e9719906284 61337ecff39ac7fc7f2ccea9ff814b849b64c1e6abf94447ab4481099b89c729 df88eb48acfd833cb4ab182f7fb51e359d3f2cb337d772a8291d16293b351b23 2adc752bf6ebe1c2c88f574e593a9d3c4620beaed6b0d08c54514a582a733b03 1727b64c839d92f51f01660553842b53ea1067cc4e87187aaad2223f5535339c 6c10cf2194ac2e03e4be89645e499beaabed359ff9285ba28ad924864d0dda5b 09822a6bd7b54079e06a8fc1f43218690dba70e8d63e1238ea8ad21511abab08 aba91fd8b0bb515b9b0f6367a9e23e0758878a703606856489bc1fdf444ad165 2df469e16703e0f5d9a5c0c0ce57121a191c784feb3d0d613eb35bc3e21c007c 8015732b4a98335973770087062a7d783f2f1931391e8c464a503bee121c5f25 fd46e59d068e0ae90b1425cc004e662c4493000eee455545f8d08bb5500452d2 af5ee4c9aba025a5d3c989434cefd6b3c7c24b4916afddd0938716697cf26d82 cf022e35eb9bb1ed9b22a3481bcf6cd734a979f8031a928fd4e80142221aa8b7 fb31fe8533f6057591bc10989f49fd94f61ab3c7ac1f465b5f3867689dcfcd9f 95d68e059652b7d7b2dfe6831b4f429b97c46efa133112bb26ed4c22a6900d27 0dc39a50fd20f46791c27b6e4e401e314129692d67730adc97dcf97cc01d2d0a 8ca03ebc41ff5ee2085655eacbcd3475e6f70510b1b93eb45f0ee6ab77cf5420 daa3a6e3e2a17d9e885170d9f3b223d16555838fd288c11e0a85271580833b4e a8e79860ae2fd67c428c79a3e8f7702e292bd9a20b4c5f6b864140b513c8e883 5e983a312ea5a32068645d319909963a8a3710a003b8f673619a442e70d2abf5 d56b422731cf45b3b34a249ffd89500cdf04de3c2a0ce7bfeb849b5c0c6b35ae ff46323beaf43445ef56390b8391578cd66f280a27490b546f782b53d7a59fd2 1fb8485d4bc4f257e2178eeb0be999fee2af1d5b52b70b9261a7bc2a8111d896 68a394ae048a3537fbcee994b3ac2630e0986ef511820ce7e61c0ccc6bb2b39a 675fac0690b129f4697776e81d7c933a1292837e9525ee60ea813e11dba357c2 b7e7e7b4b497157028e3f88b32d1207cb456b138368d72ce57fe1e686db8cb09 5249f5b2c1028294a569496803ac7dfc8b880c28c5d111a179ec64476d7990cf dfc1bb0b4fe5f44ddc1a71e98e03e613eb91809c4cc698c5c2fd89c9b725aceb c7effc9cf498eb817788d13195eb7b290afb014b7adcf888e92d87e3c5abc282 e8f1328abca48dfb2949b399be50803b8e7f762718d7c72a3e76da4d0f6961c9 2afc233083ffe8a690f80f0f1e678b18499124ce539dc6c8b8d51e1496eab9d3 e15084fb1e5f04a6c5b54306d2e01f0b11fdaccd2ba36313ab73c2a057da859c
From the PIN diode (hex format):
2024-12-04T09:44:27.162498+00:00 c5c669cf84a5cc01678c04010381db0b613304b440713c19753d6e9a72b4346a 5ed174722f6579a2842bf76b410642374a522c9e53cae659d4aa282b1a60af19 c456cccb0b230ba063dc1969f834cba6f3d799780f46a48923067427f0acc5c0 91995f1c19a7aef1554bd211ea5583aced35f30b6d90e37169361fc3ace099b9 e462018f2069253a53ab01d7ef28d4687bad380dff63fbd0c837abef00b44fd0 2c47d8b0fd1a382c8de54cd2cfb95cf2f81579413a3b091bdab7ebecfe6c6278 bc773ec35c701e4884b1bf0cc33b5a5df0ace9ee1c142d2f6a2299d970da3999 0a5e98b31ed99b915c436e38a55bfaebd2db12d534b8f713827bd7d60268621c 7786f3599c77af1a5b8507bc93be4f23b0920b9d2e7c1cc9a0855964b88d90e6 b147f152b4c34a5309c7a5e4ba65b693ae0fbe92e038ba42e059822e5f837937 f6e2cecec0a538a198e2b5ecc5a8ee274489abdd84f198cb94926c0374c509d0 bf03fec0bd7704081ccae1b7e08d4b91b40b78fd559f13385ce4216d15df5ff5 16e3ff5749eb133cb186a4d97f429c144f390f12dd236bb792cd98ccd700bab8 c1853f4d5211b4474c2eaea60bed84c715abc1f15bac5a4533324312afc24c7b 0cc23766e4fdf0c12da9af889b5f65b24f0ee6c9e6a0b47a36f52f19581c37a9 2354ed121a40af0bbe3c91000bae6d184fc5d627331fad0e0ec37b5663fdace7 e752b284640e2707fc5a9b0c84004ef855cfbae5927414bebbc4d3b621834335 395a3aff857e71a4a4460c9d9abc8473ae15cf726f7ae7abaa7745401a0907bf a09573e97ccae043dc4d87fe7d8c8b27fba36e9ce3296ecdf42597384bfca4dd 814df2b5c05f79f7e18f3c16968d613b7ec087907c2fec00e62139b46a9b96ea b5b1d3362961278c7b175d14afeb947b6808b3ae38b987c4359f03c0fa91742a 530f9e7a119e1a91c47be00e48ea4099d0e4432ba7254e20a93109b90d987a46 ac8b0c2c22bebe4174b623f822a0a6354b97ac761829d87e6c9570387dea549c fd83e2cc8b157f94d0e45ae92394e086af4ad369cbf8f149b330b74e30ee772b 9e4bc0d96d2b2afb5c598697c8ad719e7f4a4920cdbec0b8b7b4921d70f4612a 4bb3a4c7db2a2f5dc958051b41c78a646e5231db9bae9a9b1d640889d64d6a8c 0366e0bfeac67327852cec25ff06133b0fd017333e30a629b4b9de3c4f615c76 0efd0c738ef1b54629357b1dd0316e92d33ab562fde20534f9e269c14d615c6c 470f30d65b6c0082ccf4a345e9ce250df6b58a6b37600fe71c4343bf00a4051c 86e8442fb99c87dbee6a7bc26c7dcaad190089e8f702fdb5ffb326826b4dac9d ba274203711ef4564a50f6efaa7a4195911f3f4599b16358c5e9bf3761cf3658 9f4bac1ff944d6f225dcba4386e833dc121d33e8de7afdcec2510c514136e2e4
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):
2024-12-04T09:54:52.768650+00:00 98456863708519653911846030231238337043650452305125 44983297512654992744692975325500937168717168290955 37994136727231608071244727813053576344795514684129 22415953273542174394438778895857607032907476408481 74884215590323398276315746310102058332438316037835 24227034638553515608163348724603903700947355715359 40916238363477139109304207816421064393502405138612 62185638211771710871693176878191551599036962078835 38125406330037883168740145050303659292871826252820 79611397627991952800242821154374525189151900350642 25206347254957304070748059182895377057064210112037 00780244684700146985693981800482759471603765376776 79999475732275473522052409300246535577553463722708 52692103264643016634266883493351051745881652597348 26799972317091955603045759494205508283783127796655 51961019491887387634664413391395548032034594231078 64304965410545031510512492294510406062886594088685 52170516778562809514711984326366612558368112783501 85314336933010333921283159786852967447246640216312 46414362117695073465648119319452584946656332040093 49530950583855166003841597546846127107663949697979 74365937801204604212913255921207537470505952698657 11314587401140103973118411204383655931847293759687 23421153752991828311469767884229175004634874043853 55487972384852101730122812077879540395720644774105 19182924475818463126493796296217638794838080512112 40395032248086775654411487300409840982737893023048 65057304037225393612409717612100710921449387117977 26134203194528567698529794378337729956522919364949 23411001752236453597719430503888644141737953908028
From the PIN diode (digits):
2024-12-04T09:44:27.162498+00:00 97980532650103400401032911975104806413602517611054 14805206941614470121623243076506665574824458838970 40432696752596861135116099250552665320157064373506 16397297924553952825677485751785317253110944130554 31957253859801433205375883710140042373561399557100 80794471762656444176859221216558590927830898208819 62959212307232779112955990937228204547063453125753 10945279305545926710566591185284193023020498281934 89561975269133078847907935764611574624286033890084 41447771828095748309996586018247741590465686668930 46953121559265566152819768396837713252484608031697 09910392891904082883417545801120855919569233092195 22877319607734642766562079571518350783465200868493 33637782178071764674661132992171939172906951506718 75947623129455029345697536559501787914608022544725 88285569358418266475119060450011740924799739513173 14149523869972827832001439079055123200788586461620 90879682333167535790583326136464701257548832157421 14112271701969642609079160491524677735254039396310 56411037515675642977819295214360225041975926923544 24470033578006555081775441973940232393207548230408 79745685359653590392451642831558221758264596231472 64536743673778326949098513522270723912443490906516 82353460665375517218244126084912562584563139212748 90354834757405737948837848194358759209434292893451 73135827747332909284838046291297427579649942479388 05276599380010824955745455290008377706400302919815 39334437061959152351624866418085607997921814121542 81704153232949104658819805520593779792087115489108 00306369371381380755961528676791006405283468478556
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.