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-10-29T15:58:26.914099+00:00 2d1aa333d5feedcb681cf4f5ecb392a54b5e4c163c547f1fa39af5e2e20c6e6f eb4721a4ed53e157027e2816e2a4f2fefc0017a5d0548008e07f9201320b640b ae6fee286fc8f808e717a6035fe4b906f72e23b27ed1518d1c6f754bda8470f0 1b3a08dca420bf04581243019076855b319dc3f066537f7cdb6389db6b2f0b2d 29df5d8210c5f1397b25f7de0d359b258d1b63eb124bd2f32495bce708bfffa7 1747a31e8c5d2eb0aa3ecbf8ce48a415f665808350f2cc6d54d42ab664afb443 9f4b70eef66dd65bcfe48ddff0937191dbb9088b5a4660c33abc97b8be2853c2 4bb3f6811128c5ab98495bdd67326c23f4e23bb82c1bcd4aa2534f4c1cb4e840 c2d2b47397957e4a725be378e31ba4b300d3429346b17730b1fe6a4f8351180d 20409405826c5e124bb6ab65f2367616ee67c4ce66571edd611de37f3136a622 971d0f34a1c1fd90cb59fe21799bec48ca08599f2fa6bd3ae6f9f0d78b699e87 aae76d27e73b60c3cc75e0373bc09f5160ed09ae09832d4a7bda9c11aeb72d77 48539411ca2a6be4c502e174c351f6b6824a91d9a0333fdaf5efc374581ae7e6 49f1dce896da0bed5c647525cdcbaf235920012dbc8254f64090b3186dd6430b 54f535b9a26bb3fbd0b56adf0e87bb3af63dce1e306474caac87c93b56cffd57 47e50a1f8337dfcf3d821a3c515fa6e3b5db90dac33e472eeb7ff0de049f22f9 9a1b088238897c06d61204a5098567aa49b85296eb8495e6c5aafc87e4e95d6b 565d21510a17a7824fac482bfd043ee88b1c2b2a7ac4ac1c40c4d1db5f282476 f446e8ac6396795cf0db0e37ec8434d15cc42bc294df050d708e96fbe8992431 7fea12f91d3771eb4ce1a651f96fa72f0ca509b86a80ca1840dc4f77b9750fe1 197234be2c07e56a4fe43e434c7cb74d2df005773546a1b0f63c49fc9dac5044 11303267ca87b5411e5b4eeffa4c580d65888e02cd2481e1ecb9c372b1be0599 253622a5ea414d27e10ffe849157d1412942324ae4aa42c3f8267f252d791dbe 02dc19dc240e0286190f57c320e6336af7773131fbfd8d1d36dd4e9ef250d64a 1bd0fab8d58a836345c0092267a4757d4d7d291936a2369f56a43866b911e01b 41b4227734a93570c9b8407faff2a8209968c115ffe1eb72f02408eb6c8f6c01 e192c170d580c55a5312d5ef96ae509ee36d9e11de3e9c7d049c58df0879489d 3b9586c203e8850f3e265b56ebfa54894b81bb01b550e4cd5a2fc2cd1888b0b7 9dbc700a9e9d528a805d01803043351ca551a913d2955c3f614182b6309fe445 c24d00573f9c1ddb49e42db410aa28ab10fc07bc9b06c012986c73aa7420dfec 92fd748e259304657b7fe98305d55c88b5816b62099e972c9a4bbec902ccb83d cdb90bf46712512f63bb9486ad6213626212d5309e3fa5aa2d7cd7c03988e924
From the PIN diode (hex format):
2026-10-29T15:57:51.310737+00:00 13c82871e43f8ae1fe2ef05cedb0461491a99d5a376bd0557da2a8f06daf70b5 8cd9c0b9cce23eba1fd82d0ac161c1a2e850e24a7ddc0d4ebc034c8f2ca90120 bbde3fdd1b799aee632e2175e3768f1f1682076d86ebfaf646f3b66370518b25 301f26a7d518fc47c551640fbc53a6b9bf506040f5bd3096c727f56166a094aa 3883cf60cd9af941dca7415e8bfa83972c5c220b24b0d91b2582aa276b576cfa d7307781e6d0c6217e0ac5812ff77e9a3f73f69eca7b21fb8d41a1162e79ead9 5ea656e352d569e7847cc631569cf6b96ec59ad168e0b3e15fb922df39c1266c 7442299b87b000109dcb86d9fe657424d75ef813167810796404a35461d17465 a5f0dd8bf328ba0667f44bbd2894ef485718087ecda1977a7fb23ba86ea45dc6 51a1f35291d31df00ca5b464c85da210a2707259d12c9b9d1c7971a1586f6b34 a4132da01857b764e7a47e252d834e9636bbaebb8cf8b2b208c70fde701d885e 4659e6589a7e4d9140d1f63e7abff4e74b982b6595b01340d376424cdf5b0082 216ffcf5bba48e3585f298fbd4b661215f848cafba45f12008059e79cae8c4ed 8ccf5174b6da26685c1b622002e4dc574dca9f4e1a9d424f5a12eba7ec6ca632 ae46b718a40c935b68f1eb898f7341573d7932f7f2f3070271d3a27fba4fcbe1 7ddc1b69d6e5a6331e1b367ddbbb97feaa2015817df3a2d00ac947dd70dbe608 1fc35b78ae4ffa4e8db101aab0b9788ffc467be35b1b1e09319480de9225e6e3 43279933b345b758c0d564fa152c70df2c24db92f63c0b291d78e48e60ba89c7 130009888c2247ce70adca46f76c4fab2703f9a7f49cf3f36f7cba2522637daa d6333f1518771d9717b51bbe6e030c2a297183181ff3ab021b3f3a5589089522 f4c96646f16a2a46924414c8b25678ce56b00bdee2313ad4edcd6d0b08269390 a5a1c5f006994f8ebec19c2d6f73628b1b312288705bd34c5f119faa92800146 9ad9338a668fa71018f80b36459653c8e7a448a25b0fe777293338a9eecd59c0 03ca4c41b94f6440c5071e59988bcd6bfe7b90967530ba4bc5e1619e291bab25 b5da4a1097ec7d42df0baf1a81158bf7f3896f3a42b179c77f7f06edb5f279bc c206dc4c77418991351bdea187d03530082191add79d48a00c0b61035b684305 c60a3485876f54b1da082b08ad62f687285f0cc3e08cbe47243ca1a2db8b2aa9 5b7e0a0f5bfd8d16b160c4d800cd648da0733b70a4f602a104f0ab3579a001ad d5a993a31312b9092e6afc08b05997a08ee7491cbbf47a240619004f3b76ec60 ef4b997d2e3f6c527230217a41850b0eacc12f6617c4b3b2c8335e62662efbb5 dc5e82aa40e09b1f569be6fc400d608a766cd4a3ff7c5b82beec3120bb88fca7 41e0722e9b7cdfe6b2ff13b1b6820287dc941e6828d4c7d06bec78ab377b4364
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-10-29T15:58:26.914099+00:00 45266351042879466575947622608427316354121011713364 83870226402264002365842808274601501100117411401108 23660395850646357826814128111775321227580864329104 88186701441833914957950283272499370747114541933016 97572337135355374127991875364988089167237163304093 46767062726421012831800984428200758067597512099141 47134585083990709695588851849040839475792917409771 52739103500835598444277462837976288064948015514926 74149120276479006647707719487706793181241332644805 30089418758271015418220396028730972927495466345129 15526193448933215572088959476689583905583570093959 96951755599259819609740931457423561774834519728348 17420797021695818230744560516395168826735011920017 37753589320145883084644479240967118453856207798106 14358758613048001672355986877110313155613026608195 66814495627146270459345427083056372406180465093303 70738482503249977035930786933381102367307972724304 62392843422296722864969540361870729950219214553252 92964394480513124250533649271829551376668111674712 65098406282464791985171525145290440706796267762483 77450519537061766073577280681748500335816530917876 88130136420236298595147790055337543465657739153245 87654166507470669538273745212990022536140234251587 95325106194949412954785880742784383199699209340364 17257725412554625459866456028517276580341952695312 84642775683253049321143608084308014693122897908318 50748058095817625625045688082172575949349403331562 38918684377529870181809047942436768357881210585782 38289301284867532865816919499263976530824859699477 00876356297345801670407116078855069218520815701632
From the PIN diode (digits):
2026-10-29T15:57:51.310737+00:00 19401363384692767020456957905507852562680975128140 92856286314510939793628074251378880376434469013287 63272154994633171843312230070934708299128139374831 38672471978100158883668591809664894850993997026048 70563196546567659439315144923411367627373070390787 08481929983326109729472654631558233341656122462194 66868205322498498656851097540479958534579338081666 41553576001657340116369419222016210004638497160165 39408606037589404872872408266151222778596810649398 81618245291265800093621662121489445557282113618811 07526419456024878300642637453178505487748740787808 99151229369470898854267745646222917552430149761964 18667691003033118764425333528297339532407586693208 05582196408116823804922798320287775978265766799018 67086650747083246412479104374315658761215007021362 27867925270566513027542587517032212925621071120831 95912074797841770170768520437023912730094948284637 67395351796983889200214412443646601141292042968637 99190009364034711273700879713903675611248637349925 70516321241929512381279010031242411331243171022763 58853708493402700642704668207886208676114958091108 38474465619706537942909356451115983927493436129176 95175970462801705451380243671624115469508364726291 15194151566989920376658579006497073089523907234450 17488675979758412771378174165125661175262921393711 58667721992727068121889406761965374553276135534808 33457357726012119703910467059810523335118477084308 73983540951295409071366061623942699126101591412277 96960000416015591264026104715321600173694763191885 09460608768951604273288722360625007959189675532546
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.