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-08T11:05:52.343990+00:00 1852f12dfaefd511d27eb0c1051d397a3343490b6eb503ba1e4ae0892d33ae39 78e62dd80e7196c412bb7e47ed985b1626e8b12ab5ad0c8018a6d9f10495bc2b c2f96bf31c562c92013c22cae0fff9f477a2cf65e9fab9d435b52d10fd2ac1d7 0bf568729b4079752c8f617499eb5792f1923b0c862da51df876c1ea7748f028 380d3509a655b7b5484c1bda1a4864b2f332509dbdae4230d25bff79aef69494 bd0306b3b5c8be2611cb139aa7e91c937019f74e67164e900155c9bcb9190240 1d62d300b1cbfaccf3c43ee101a61a0292e1addc7999c8b252155f9cbe97b33e 75cc13ddf4bd45a1e255da74d52ab8ce24bdd0547a67d58bcc7bc287055bad66 0360856896ded0bfc191b1ab7fd34ba1001ee6653350ded0356fbfd516b214fa 11e1f1c3da2daf1840e4edb60b632626ef75ab0e22c64ceb61fcb07142a53669 594f87aa4431aaaae052aec008ff99c66fc86aef04abb2d78d612818bccb4e97 32fdb2bb72b801bb7e9596152939af28e42e8b78bf127c78bc6ccfee5aed36c7 9831321c69119a0d4c291cfdf1b6ad3fe3ef5f92b4710e8d17244a22311fd639 c97a89bb6c97cb0d0c215cfc77a441f88546fb3d06e57d1a393fb7448783f78e d9b10ac0aa31714d7db55b80b62fd085e9478bac40c435aa0fab8075396355f5 cf534bfdc901e009908272397423bf1e95ea945429469cfb508e3ce03a62174d 0e070ac36ed75da68cf79661f971bd26af75b01c302578a861eb0652906bb368 82aec8a8a738bc5be54f1a0e4d96f2b2b1edcc49436927276b7650f371b772d5 c65171185f54f10526d8699e2838402246685fa09d4669d37f79611474bebd30 9a13553d7a2b6e5ebbb027edbe4f67c778f4e3dba460112ff9569557458c8617 70495a72634795db454399f8703082e7e03a58a4122ada9f0bd2623e1b6a97ac 9e91739ec49f7adb8bae461a1fd6598ff7365cc3087f06bc9ebbb1caeaa99009 aab9b70180492807a7245dd4ddae194b4d8863dab5d6a2afb2962af2be884c8c 286d5a66c1b41fc860ae1fe0419a89c01a973ccd16826cae9ba3ad8325f65b51 014233ba2ba1b360ee254c663ef33f007c7bd9cfd2daf385417db129dfb4547a 6cef3550b6c53cbd55913aea9b190cd2f1802daf5515078efda0363f86f389a3 274d2ea66c57e94153f833c4ecaab06ddc691a157a917a409d8b43f0f99dfe3d 0f7b12d7cf0c55b81a5433e5f5ba3257c9e21058d9534c734f55c7368c1bded0 3982a410b757c83b0238850b6c739c821d098e0a037ff65a5dee1e66f5afc22e 4645993048baef22022e5b5389c195208278bf120eb87ba6d6fec3c8dfa096b6 99bbd1146d7f5bf899456e3fd5a78a139945010a1dac139533f6ff75d4bf4f93 dfe86c35c1bb14984cc4b9ad59651d87822f3af709b59d68659b1bbf078ce228
From the PIN diode (hex format):
2026-10-08T10:58:07.742938+00:00 3f9815ea140f6bd5f433a86eef1225ec68a61d4da646a83ed1f3657ec93f3f80 9a557959e667d4e1c4ec0126e3de9621a63241dc028f3e2ece624a78d07d5a38 25425eabcf48d69dd0006302ebd80f3391b00ebb40170568fd92cfe217f1f493 0c596293c5eac4b268047dac379ae938d3e7ce0f7d49e7015c65aa575cb21b97 71df77f848f82cc13fe33be048a71624622d5079a30f6f07ffabf8d32560c016 7a7685982ad0d2426c90ceccd0e7753786ee9ac108a5d6e3f219598823a572b5 e2b714caf18a23720cfe7fa21dcbf45fd5f666cf6983fbf6bf0ed6344af15735 d8ba600b9e4415213d90daef53a900ececf81ba7d7998d371b203f5ecee6cfc5 e22c7cae4a56eeffdc1188adeeee5886552fa724fe8a9e508f8fbbcdcfc75fca b75b644d462f640ca2e3c6c529971c422f77e30451d28a695d52cde438e0fc5b 4add50e26bc312a8615e8c270755bad2b961b70b4cb208296bff8e6ba202402f 40c49d5188481b36e947d3c7b7c736c6651076b568954e9ba1142d258be02299 675154ab1efa771584b6a296d5c2728e99380de2bab39543d874b134ebfa926c 36b4e306b0c8b5116701edafec8a7508cf7a7194f21192bc55c4f2312b7261a5 af2716fd55b21b7479d1264f2a75715c2cc05b74a6f3c60f527b4dbfd641bac9 8a800a4677561428e7edcd5afeaad2fb1f4a12623a6d77224b004c5bc113f24c f2ec6409211c1c01bb1e8eb1225e0d8f9356d9b2a6766d0ac25dd85353f82c08 b313c489ff7eb0140da6301dabf03310eb5559882294f31eed225c841e4674af ea414390502a7e1c261c8056e6a991939fd3d81bd76ca691987dfe4443308799 fe365e52fcb2e009306cd04f574a09478addfa161459c0e7a5b253ad2399b24a 4e61827d65300838cf69a420c6b326281256e5b46060644e6b2b245d10591ccc 7006c1efd20fed136c3212ed6c6ee09ba7bb05d10d14ad325d551d871fb2f4e6 afb1408df66b6d8e4e1c0da96dd4b6eb06854b109c29ffffe16454bbffcd21b8 af60a71d6465933c2565f8d337ad1ae94faa6528430399ec300d4c70476e2f39 71fc8e03fa26396ab9d249359b37da7b399f8b7ed12969ee369a6d83784fdbfc 6c2b8c9153366ab3607d1eb81d52ad6486da33a0261edc867ebf3bc39624aab0 799067c64c5df4e6ffe5b8718c09fee38c29f5a1c65908d52a41ce60d12d87b5 0f03bd8b8fbc91e9b80aead94ba9011eeb5568d3a9d573c4c93c337dc40e32e8 8625f1e959026b167f73f60e4ba6467c3290ef3cb7c71a1161ae7e4793b231a9 858cc268a49688e2c0f147502af0bc81fa4f027ca1ec80b1ec3623ef83f022b7 dbf8f8d8967be65280d8d1ffba700ce9ba2166cd309e66533a361d4ab0700974 7f5b9830346c0e85e3ff5fa05b62d8dc1ca5951a253720327c477a41da6e04f1
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-08T11:05:52.343990+00:00 24824517267693052957225167731110810386307437455174 57204514135096188726715291223877428173122824660449 88439407288644460160341962018553814516429311041455 64211744439716538746465912344565291893197240561353 09668583817276272672007850805789746648912174484889 03067981903817195467284712257803227844018588852502 64299800779662016626024673215378822195569051796217 19896961851642843689842203392394350591730203963304 50919345777127756100300151805311912278201795457524 64821199383817711434987697761366655405897935706849 70708274920853981106047178419740248878515078871484 01872649502141577540463920911824208808905499524950 28051754137641288273639546801314412336743449315722 37870851131233921964653370610625265763836835314277 10927049137725819128824733713972649653701571281757 99858375010944301457163591304948844170568042605898 23771407109510936640509713893875177628483720689706 82440779043074686756889179261477507877736705393907 18801383149881132495840538055840566434700495605770 05272197201690894854198561224310948776399079039920 64961747864987694034231273901499714969675312483058 88641842591198622706517258451558965922397470263189 43549295082706885887776944097085830128734007673693 74257577369981627578504290367640400990029380319674 31655437922651602230087455637331379181016651864361 79963776026263002423336525774180842208538082976089 85455855251228457585210742605463343763397746660887 65835196707609052621224522645739675761152318128584 26845186508716888376157985995440275730641683875902 56331108155630290942100327909330027594467069534872
From the PIN diode (digits):
2026-10-08T10:58:07.742938+00:00 63522120150751681018370466297766706862012663632854 85218903960138503366506502436246987420259056376694 71725700990215514576148764230504462347128998479796 78040425725554561525730192017087927827511319724493 63597267223698458021631511077137969222221833524266 08441755345493086525893635651481832038351412276229 95020531911452748753869611586821336144836900276753 41552732639497442474748617367388348547673638588043 43879995839100777047001262989741512866471904813805 93825691748007951868979440390785868597831176780841 07420762026447649657813672275471998399549801161881 04497855612045373934530381847130192132826250941442 53561386794967167752460854800676811703017538170822 13481746888596494314976575392285782716213879421713 92449291166698158223779165863828107019862040907031 74189858091934750076919319760009332828018730427734 94134347867866180910949383834408791996372676201366 48297151168589363448303492323070167565674480422628 38282886694547592708664552256867483553549482780948 08798774097138222089926578837335537874789730250148 08560564329879384018868096960078074336931689281206 93151908501808105567870513207350938529353178757764 41070942782813690982063375165641008487338475966729 00014760370155732679700140670353481376127110475713 42033857068573535555235759392641055454093120790843 40458354067996253084298273003451603830342691599550 36707621440398769384134009404161988908426596453581 15038939438845841075690130850469159660512596145034 37890207222715147566702450446083992617977426714778 49693340940464503692718042882979022461287754353134
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.