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-06-27T13:18:20.071604+00:00 9049e99a42a212dddc35d507d4215aa1b38174aed58604457cc218ec13640660 e4e40321e3520907de9b691513fa0b19c061e97fd3ac5ea41d799764080a1752 5d09c452d6d160e6b5bb51b9465304f82d274925ad23bda6bd093dd7cf10590f a9c24bd70bfee8e4a5f034daefd2c2778456fb5f39cec5416983436af6f23d54 f1ba3e64f435b3956b1bd372b14726c28c410373e06129078ded293f7315e0ab 7db29e3d276a69a8d47fa15aebf5af312baad69432c7d62a8edf75bc457ea9a0 4c0651b715ed07b3bed252cbfd465693bffee6fad5396b865e55b2043bb2ded3 bb124ef9a23869bb79ed879ae9606ecf08717c29fa1e819b88fec30ce68a2801 a4282e1a77ef73d4be987b35f074377b41da44dbe960d30262dc361272844ba8 57004f764276e75e8b6ea625a5dbe1e05b604449ee0042a8fc4c60db746c5884 34ece2faa595f5431e0dae81f8e7173b5df90060c345d4ce768d11bde9150a8b ae7b860347982094d381000badeb199e68413b706c8bd18f2254a9f0ff5e3f59 0177c72c38dd456480533d0cbd3215b3d8aaadf277c1184004c4172ef30c8d8d 6e05e8013dfe31fb5dbcd0b5eebe2c6eea77680471efd8ffe4239acce73622e6 7df623190997d14cb5055a59bbb3f6ec8b3334b83be186142819f271f476b4dc fb360327940c686591036c0593408a554b9b4e5401bb3c9f412feb7db6921089 468b3e70fa01bb9903ee63fdcd12c1abaddfe6eb0e82144d66aa0501daf1ed69 5b19d6543b976a80b5dead161c73c27eaabbf75077a7348133c0abb673fa52c9 6a7824d91d3d02c54b7753d9e74b4bb3e453ea39c627365ef29d23d163ed3d57 5fb27b337cb2f1575484b542ac606e9a03da6655c3996555ad6fb4b50a87172b b3f7bd7c5c4fe4490567cce2b1210704ef5bb0c41913e910b40961d53c45ae73 1549e3d0a21a3bbf7eca33a640e6551690d70d2cedd2b41fff80a54794df17f6 69a834b91df58ecc45bedaeae94c93b854778f6e27966d1aeb6c550ada2b41b5 0e0d7f417169107cc2059218df3359270a1452e9bb3ec16821b3fd0199a40229 6a4d37c79a3a26c2bf9d23b54d84cc79ef6aba027a0cea12f1b860de9fcb8d07 b17f7e848b741526c0008d9745e49accd08e522c9e84670b615fd5ec8b1f9172 d0a7805b78debeeb1c0bfc34d377dfbaf974f8fe14e4703bc6659b408f7dcad8 7d44793e2f77a8f5aaa100ae635f7e2b90c7a312a08dc44a8f3d042bc7447f04 32c86f0002ee497e99d10fab871efb68a2fb2fe5ca426d073b6a7643ffb865d7 31a5a13d24600db7b51ddd2383c22844ac4d6b7257cb6e420aad2cb7196b4d21 c297e587260e8fa61c80c8a4895a52332ca5b0b326220b8f718bbb40cad5ea06 5ab5147b9ecd52240e41db7fb31d848e9ed6213eb91c077792a6b07d2e902db4
From the PIN diode (hex format):
2025-06-27T13:17:36.871537+00:00 e6e0094fd4f462f169ae51634e2de16202610ed7f11960d4ba777b224eb85c56 f877814db6a001076e21ce0d1f2e92940fd5b8fad3868816484d3e77d8163c08 fc6bcc1c268c09feb114a73d3c27ffc40cb3965be77e8fd6e8195e9bd894c7bf 076d373296853f269cfd330faac5ed021a15b9116b828cfacef1db20382b695f 88da3fe7855ff90b68519b95b973d5b269331534403bfbd5b3ab10cac29adcc2 702ccbb608b10a0e80818e1e099d89714198fdd746af231c4a09cb0fdd050525 afaec5770f540eea7ccce7daaefab26a9ff703aab02f17e545ee055fadc639f2 6d339d18c840512d170d703701955149acc04f0061898fb938b1d53710aaa349 0660eeee64cf31a9b8a59318fca527cbf664f37f0bd52188f4dc1116ed371a46 a6124a8e2e744d177223ddcf2e44f728455b537b794f47672cab88d9e26183e2 78436de5bf00c551e9049222a35db62200c0accd1e63648d57c5298c9252fa8e 8ef1c15d25bdba8892cfae086a8389189772d0bbc1d6135efe1bd883da6f8fef f4fe8f2cb83509e3fab89fa07354029ed5c9e45a053604f8fd8850df08ca675a 100f53112e0f15d649516d58603ae7894be73f77c001ff166cc4a2eeef4aef50 306eddcf066cf5d724bce75907a8c5792c9d5f140b0f6cec63dce4c481980ccd fcbbeec809a48d3a255508b306e3fc3cb987c34fe2b11476feead0e13ecb28fa 940f0e34ada63164766220e477290b88004d762060ca32d6c89ad6a9806144ee 1c381bf8c1eff5d2c682ede6b1392f7ffd9b4eb9168610ff1b161e1252e1194f aabb54bffbf6e365f5911fee27430a9357dcee06f90f1b87857fc48b78169207 8359c55739bb0af5595748fe315fce6b3ea4a630c0bae7912eb23439e63a3e5f 7e6e609497f0ce45aa7f3c95a50627d60a13218b53c88045e20f5e4af981a5d2 891ac622fda57c779a34807edf574e1190e2c607ca11b9e25ab4e3958e9abac6 83560036eefdf423312aae3049174f443aa0f4994125d236102e7811570995be ae3d598e348f58a3355004b135a4818ee449c44de7db807a35ebb9909de9f317 150758375a5fda15b1b49ed4b6a4353e53acc14cb9d63bd3ad9de7c0f03dc545 49ab8d010983afa75b1faf59c74e6856f76422ecda4ed984022c239419ae90fc 26e13d95e817b87cb36d8b80ee8bb897a71a331747da35bcf56019314328d5d1 46253f7a08e6b43862de6b8b0ab669a22ea5e3070869f8bdf13f0c90b0ef39d3 7d7ce48b28146af044ccde525191a2a484a03667cd3a2378f2926dd7c88788eb 56e5fa4070add7b90f81c04248e6e7c366b970b99665336945ac089b360baac4 9d37a12387a01396d86a24e6656607e69c1aa682045f0969391a06a562ed5f90 02c2942def04e551c87364e5596f87e4b520219281611f2a05c98cef9ef9789e
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-06-27T13:18:20.071604+00:00 44735466621853073390617929167434046924942419000696 03338209075505211911259297277294642921510008102382 93099682968187818570830445397337733589668909611689 15699475116552941932869557976505316706618486620053 79490727147771389440650315974107414163152171257858 61390605682761907549437048509942421788692669607606 81832107799082708647915707349485780459788718786256 05872135549610081324413029553695123840016440462619 15905223531655236568960298541814327568870079186618 94391066376591966873006668769616088832526549673013 74292359930096956918411789211039742334037152324829 00117325580465591208394334846994638901199944566900 28836112895021797073199324640496234612414110050161 49938881904410190404133554543425352509517681059089 87793951528459342040251318805403394812040145030805 47643885755578840187605965472582461637703962120187 53039918937173143020770270050105912584595106288173 22281594267087801967522951927182158206203629610297 75198375757983579839549457359961879578235124788784 32816672961054030285955301857311808110352343798924 92797305037733070491769625191680099760697415217362 26599126516664852244134480312865714823056852852942 69907647848419431039500926088510436581141327651305 16249405462451893910208287629304337901536402410677 55995458389491573581773221068602221218849659410777 27263239162138920041516954428244583203119795393145 14672891209028115219861620125998015564432525682162 47196870610074999526434499631860419674436104439968 27045011000273265315713530046247660907590618678401 49656161369613838129353194406872770714871066107344
From the PIN diode (digits):
2025-06-27T13:17:36.871537+00:00 09799805748199784598029714259686192334788492861929 77826001071033133146464815843436227277621922600807 28384009772067616039961279509126432594554899910709 55505033633856511570970226218517073040325643059536 63339511048155498515780551215264597971169454941244 82087710142829423009573713655270753528740915050537 75749719158414247478065903707647236905957398570951 57246481452313125501498173729279009737438556775516 70637306960049698465472465390027113336172255267066 18744246167723143546684069918323217971034471369731 20670991009781044634639382340092723099004187974140 46824242939337898636467408063137245114879319942731 11434344845309845960158402589005540436800803901615 83174615217381098896583775631992012208966274804810 06083688890768972144579520111508999629521287096441 58378508790660853595797720186240481514527366490018 98321941113600771832965054692897682856279398307757 47275578852234162722301882257970878491014531396710 47870615273533279639202246073189978757871089877249 95076264664892864546785257586295261096485169702760 49650639101933398328691594742965372698346524195452 28268778174498071785908049425486983186005435494274 48732379685860536537541646201787094990746189425243 88635380047753642942739677282253854457232107885590 95217780588264536283729376855973579261976973714101 09317567913175899978048600347832024435482574443861 49238424790939283984516726512371538896254967407037 63220880569807391082056246650708058963124476572524 39402006688281456264326054035835204609353686641273 85152992667295028512855001510569720855541170965755
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.