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-07-01T08:00:52.802393+00:00 323b8df1fd35a56adbc8c045d7ac6cacca21d24de428f3fc638f0a1a45858535 a5e6fe0ea01830b148456025c4ccb0abb26a4ad433563f44b9457a251a1b806e b8ac7867caa90f72c74017d69f4cb21164ac42ad1a02a247dcff692c7d3025b2 c8d2012160c19d0c2f4bd8ba17a6a1501c5f2dfc9c9320929e73742965c24f0d be0609d6f6eb254a3242b201ebeeaa000fb8bb09c9a8dbf02ce7fdc636610f85 ef006ed4d3ab72c0fd9f865bd33875f2d12f9f990aa25c580a60891b3dc3d5d4 f22c3f2f5c211756c4863bb9e8ca874a82e0e7d723d26022740702ae2a989ece ba01690d52fce3120f5521b6462c9b348e0b29929250019b2fe99e0ed320dba3 da737d268bd44f8dcb968a36396ea02c94cea644411a259fc2c2acb1413d0a20 31bbcee06b45f40beba9d4449847986c7c7811febe066bbeacec16a490df5c8b 78f21661b0238dac2d92eaed914853f1980f3d00080533df4d39a21f45282855 0d9561472ca2a62f9d84d1e7d93fdeecaf888d8e2b48c22b7ff676a63a406976 fc1714d8d2b020774e992f1947b2d3c562c33f7fd4da598ef685cdcc8494d5b9 91535ff5a289c9932510a1c86a71d6a9eb4dd914232f4428ba5ba430f19ed67e a2e2f35370770556a7c8e4dcfe741e92342afa3d921d9b2e64598122b6200e30 08e060941bca58ff9f084dd51e3604df1db57d91f2de002fac204a095a6a82cd 687d2032b407c180a8468a2ae51c407bb202ad06db582d0d28ac819c732adac8 b777edd626756b32f15987dbfbe6c02314984b73beea7f89c9b243ca39b4ede9 1a69e67b9622915bab626e096be08a907dec57013ea12907ed3976bc14098ef9 29667eefb7dbd694eca441f8525f5e501081694bd0732c03975c796a06b0fbbc f9cee5f31d472a12a542717152e11059dc33b639761b75b8ef76fd1d7f49f5b3 f0ad4c1a0978bae5825cf08bcbc0162e79030bd26769992c442916026ff6d596 2771f061608028d37cac913232077f1313f55fa1e48a57d50f4d41282c3681ae ab6e08df6f21bded2d0a089896be8c5825cf9adbf14bc44975a938e39993d216 16c7dcc4809c4d7de7b1dd27662c9a08fe59eebfc1d47d946c4119ee1958bc63 287817c2044dd0ab97d996720469d0e2d7267cf972ab3485b0d9a1b508585612 8b06b1dc9667665d781959ecc78d4af1a668fc7c7b25db0ab7e81cacdb93f1b6 48313d23e372eef30c07cfbe5f03bc4501177865db334cca69f89b03880946ca e8ba3c4dd40027f066ce83924ebe2d5935c1b0af93eaf5261d90fa4d9567f405 f69efbcc71fae61022a80ecd2536628bc67953b09197125f213971d122b2566c 85890e2bd925c15b445e94db8c8bd2f07648e1d8208911024e1a85ef15f297f0 cfdd5f201a8019237cda0329da54ae342a0eeedcfe564fa92ff1e92adc6cf4f4
From the PIN diode (hex format):
2026-07-01T07:58:03.201631+00:00 654a9ca311a2f4613b285599324399b142d73d460d302a5f205a7973ea5957f3 94037ce1399b67178fb7fa3b99f47207abd0ab3eec71722841040aa3f27df60d 9578492d9548c53723200e8c5e45f146aacab2de498fe1a84bbea6e6effb6122 9781bd61652e2ee8e48748052398ee5b27457b3f4537c42eb885ece713115a86 bd59adcd8b2de1229461e26a290da7b8b1bd01a3931892674f5c9953cdc9e673 11a81762f983930199cd1382d9bc9b669e98dee7b2df9a1c6b083a45433ba232 383dfa413d841f6a6550c5817a4f22980642c579580a0bd02f63ae89e5ead338 6291f895cab24a63fef4372dd7bc6f26c72d67efdd1b6be7a5abfe1ad39d03ba edfc2763cf4e82f3acedfc6ad6a6f3ec2058e41c566eeccb320c5ee89fcd1459 fd7fc4193e677fa7b8dc921ac11e7897f7c1ed90c1301ebddeb78c2752fca45e 1c8a7052fc661cbde1cf5b46ea252c8e8b30e7faa68103e51fd75c3c13645ba4 5470fb9dd472f4f196ba1efc32aaf8ce14d8972682b3e91ae8d67b6adfb7c3ac 9e3cfd9ee39227de418f1d04ee67b3fba3e2289fc7ebb155675645f91d29f317 733da37f3a668c613d8c4a195baf00d62e485d49ebd5dd446944c59e6de760b2 1faafd7a0c7b434db5dd8e493aaa9de393cdaaa7e5b40764b5962e9cb7a3479f de2e7e16762479f4f16bb312810b9fdd8fb015477934df6fdf0da37868e2f0d6 359b124fb9a806e88bd64e97565fdf38e649c27fa6566d7b22da4d3c3e0d7bfb 3eb2dd44cad31881c3a7753b19d3016b0dfd1edba7541b5aa27c3c3c479aebfc 32cbcde82a8c6169551b1f2b9ec715fcd09ad9075af1017bcebe2ab69a0181de 2c337a33bbc82e12ec362f06addc25557a097ecba0238f666b1e9b7f944662a6 25e0a315ffc4fe9a578952575b583895e870a60e93e1cc9577cdd2c151d09e97 6dfc208c797d0fe47b6bc9d6e79ea1b0542eda4526d6168992ff614707254ea1 bae0ae2b8003bbf576e6c1e6c0fd2587b392eb02419226069d4cd0e1f37db9dd 113f512642d3c7a53dcc1f3f627d487bc7f19c16b07aeef7151785bc7b120bbc 04a4827df3fabfd9ae9fca61e0ba72a4eb1c96009a33ca05f2e20c3ae5cbea3f 6fd5f7a8b5431335601d36723f27cd8bb93f3e057adbe8ed1eb81a0d00f450c2 81bababa8c8661cdcfbb48e9d81cb6914a8930bd6ba9fa90c00b59a26407c705 f7ae73a8b8e75e2f6ee93c3f6ab22394977bb7943430a5a9c75695e20993863b 8c9e27fcbcf3f32c99ed05b28a18db12dde434e5301fce235874fd4364257f2c 4102cb58490a01c92a3376dfdef4d82f706c34973e818b3bfd4ceac7173bad15 7c17538a79737823c035cabbdc25062dc6022e5996e8488a11d0b1c24563bee1 cb9a37a2d140a7e637b25b2f912d6096d3bca127b877bca342333cec93cd1b69
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-07-01T08:00:52.802393+00:00 50594153650692697208723377409943102669333353651460 24487772699637967671780674518663688569223726272810 84722003691514996423597678170072667326026271054425 48377801339693571247758623666180289545564732465815 16410194791390060937745066780170001584870968449854 97153300107114925934915617475953106292881096372761 95446347923323869634598535743035963416070274425258 86010513821815853382704455524211414646800155475814 32631525383979415038545710604448666865263759949472 77656110324987076911696852715208242017900607907222 64449239202297763541724546457283521561000805517757 62316940408513499771446266475732637536414243729443 27186658640518232076321978534725717897989563278942 33324885458395623747371661061369772035476840869164 48582662831219058667163046524261462955460089293482 32144808964827885908773054042981254500477232740990 06300425325080079328687038422864237802730688451340 72295615428319381707508935923520527515902737786757 80260523503445917198100907384425870162614107571888 20094241022683486465829594801629057515440351922106 06768829714218656613138216895182571827178418292773 79737626092086309239922246210311030553446841220211 50391397962840247245505007271919956138871577654044 54297471100811338945100852509040883754759673176956 53472222999628567725773902445408899193254808652525 88889940202394047771515014040538241471523376618108 88861839067750030293202589994174660424233710832872 47827249613514120790950388690123200151760555033609 70866077003902314678904589539376754738294477490305 58131634681437549839982183764551189533571334788608
From the PIN diode (digits):
2026-07-01T07:58:03.201631+00:00 01745663176297594085535067537766617013484295329021 15898748032457550323438359531407717162131440650410 63251349207345497297553532144094697070787343687590 66973451298997014646357205355291396923636955964684 33191790348989733945344897064113678477890163472446 03799253831517682398314701531930885502585278542807 08586967596250566165613231060180972922793452066697 21881011479974375698454978749955458811389945032707 65712657038639997830720666328828861050129459208927 96256203276784462693302051934493483089834039826494 28381282022889917037444239486629033192601900916484 12571450863050702051383079262306839572586058463965 43290403796340599977850386692941231561632758024097 61407425917500467293736805689758099678317022122367 77814273587057477067800700815046568363715946262218 36210779182911594376217121521113632004535518798568 06397851869556739427668609233477606213236278682429 95671759250107133067842790622460607154504240970585 27314358992154079001239042825401294451225187461854 47067337852209266035430207305527487098663763219654 87378287918856491266144749199381585109324021251523 07586176844669382237469771073778618674432803871893 92373579460265463806577625851763813866996561316398 25722399562276222123338823181188046430259174599786 14642850005451051258631168816719539629541463393985 63620522308426130080942986868640349787722882457437 48890769449211896200079905741568849447106063067835 48512383485248656999864909473459405839884453057838 24185248313588166700372744650288731001425118471208 52516229395976992359732124238338211520359253873706
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.