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-01-13T06:59:35.336821+00:00 2b5d6dee91214ccd62a2c965b6ec382b5d7fa3401872cf5e7fde83c27ed772f3 99c3553f0e6339a769e48f6c3d737eded81b9f58ee4e1cd6ff55cbdbb3dc9ea7 addb01af812c31e21f9a991aac3707401c346e6cdf4558a4a63e1edd2e8c68f5 5ee4216c94b900b7bc2377db0211311afd4825f3a777eb696fc545f5ff19d4cb 5a1390649d09a0c8dec3e56a988d51a243409205704692ba5644b6208ebd06c9 88e4ab040d43e56933545e6e88dae37d7d0484935a9395f7163d32f47de73411 c18cc04a974745a9833916b7cf4cbf7cb21a1fd288b80c307f8dba74fbb70971 606d06b3a38fe7e73cfb35a65595688b62d4d18804c65d2d5ecc8441adf85ab5 a232b6792a63af360b847c12a43732f7258ff2e13e84759bb8bd364dade9f59f 1df83d4a88991c413d4f0fe3c933f973c6b0dc56ffd6f6656793e62f295a3879 cd48140339c247e6aa203ac97c4141c499a0243c1905bfc24fe750ae78863595 b3a750aafa25fa42c05566a4492c258fb2a81b50ec12eebec67f87236758f676 483d9540b20a4ac3629a0e5d89a48be7a93a24615445ae1c39944e557d7793d0 3c77c70104d9dbfd015bba95f21c6372969f28680edc541495104cea49171023 bf1e59af8207ffcc6d241583d43fbfebd1f492894f57dd2a44cd74e003bb3b46 9e3874ab4f20b4e320352267e595dabfdb20f3e9a9a8ebedc54d293d92c69c76 a064bfa9a4eb99c1a9d72afb7d9414c530c7e172dc2f38e2761bb0875fddfdd9 582d041b3a8343ade127d34bbea0d37cdb47be0d95b624245fbe4a67f0fa9e27 4b4cbdbf62ba0d3c14d4361d53aae4beabac7b5e3618c3b64c438b49c40acc14 44b5581d3e88659b97f7539d92d0ae0e0319f5d7e8c1c3cd71d251917cf6d0e6 f6897fde32cdc1b7e12a4d0749fd603024961e4068815b67df5c1ede6de47417 ac2fb9a33f05ee1377f16f0d889499296d1c7668f837a6f3f7164c3bdf541c15 a5cf5b30eed04c162e028e83654e58a010c4b19116663e18b5fa85706b9c6fe2 e4d2becb13ec359415de2c8d3d911c1fd89339be23065a05b3450775056dbbb5 9bcc625786298b05b87d4e57ba65c3313b39aa5911c1245f403ad6cb869efc58 764d63ba6d307d4071fe7158db218cab086d4041741a7850c2bf872409dc498f 4bd73508da0d0b4abd6ad16dabc9c15c440503c310b9c6aa2b1659eb7b7d4514 da450a5095af14ac451d899e737d558630413cdd084a5363b0c6fd30ab9ec191 c2ed5815281c454fed5248e31a5dff251e39fdcaa1f9276517ce7c44721536f7 2cbcf99f184e39ea84cea83a55108e6d366dc3ae7210c1e21e9ba2591a59f0de 09f79b034a1b1319c81431d1b535ae1a018e4617df5cc726a321ffd1f43dde4d 86e22e2ef8ca6b91729c179b68c740ffb2719cd9f8b33c0fa0acd2635ea5dd07
From the PIN diode (hex format):
2025-01-13T07:05:05.737630+00:00 27a423cb3ef09b43bb349b2e03351c9a78fa37be7423454c6785b3c95c351da5 71cc9013a2a72e51f30f62c6117ec4cabb129b68e1b56650949ec96f57f5b6f0 43313742d137d548f6414867878fdc11b745d5da2084e507e1304cf7028ad077 758936729be6cc369194829844b7f69f01000a5da1a3667a4ca6554bae688a11 f9b220e4533e2e0a8db60c09eb5688017dd5fa29d2211dc8f948f214309ab9a5 435ac81d1b7e09c68fca0ae6212d9d31759ac9d7ab09aeb35616b88033b1b94a 9c609e8dbc831f38e1b20973b15dac36a113d590f119d5bbdcf59052dfe22af5 75d65f2426fe4d5db9ea1e1b0ff1ee57cb527c597282d1cb252c362e9db0e175 5d4108c312ffc83156e18d51c23f56a24afe688dbdfa2d10b3b2350778207f7f 01adcb7cfd5937318434a1f3d2ffe5a4dc63c479f8ef570cbee88b08c8fa5d3d babb31c61c0a3183646e2ba171afc77334ffa8ed0f7bf04a5c63cc0b488b3166 e01877896a3b3486b51013b279905d01a30c3c2d173743fb22867028afd4862f ca75f6893133bb3507d24109f43b87231a74a35ce221a4df2bdcec75783c4c24 c6384690f8cc5d3504a0e24fecf18f22dbc327ac5219a7b34618634f41e764bb 813048e66248afeb4577536c3a91b92e09e54a7ff4b29237287f033a3444e689 2aa30f6b00ece937c91f45a301c744f28a28b243a0d43b0ec1579d8ce0575add 9f74b2096e865b2d53dd7346e669a982d436aa607a4b1f5de1dfb6f0c1f66249 e0c38839187a41496fc8a7187214974a89a77cdadacfd5316d4555acbcd41ebe 03f7cbe35388d178271b6aef2efac9f02f1c908bec7b250915b5a7dc4651589b 22808ce287208e8bf30e5776c1cc3e22fbd53bb5f1a8dfa772f7884ff66d962a 1d1a8004fa58717073c6a7655afacf0b3614ea7544e21e9bcda794a75f34c583 b9c445262b7b3c61761776b61ff037b0cbf433d8b26d2bc73420f37cd03f789e a44857dfc9ebe974170d5c13213bdc0be4d7e104d94b2591774d3cc048a5e2da c4eb3a49f1da497680c0190551ebe64c86f7ce431f6130b0140493bf08e43af7 34ffa225829a769579429b6ea93ad39e8f14f0cb028c800103e36a4dc7d07cd6 b7a829401ff008ba6d18aafcc79eac16bab99db21cc004344038dc3413f0f617 e1a54210cff1edb3e6448d573db565ebd24e7d727df0877816694a3304feae54 5ec4f92b51ae6e1a4818e85fd358c4cb9902263010bd4ee0e78d5fb64fa6f8f3 6a2517267c6ff9b01afbb38a70ea677ce478962634d873b159223e9fa15c9b0a daa4213ea020cfba7f8c02edcc606f0c1af3071104ce04b6211862cde5c73bba e1626e3d72848a4997fc6c1721bbcab2ec421245b8b75757266dee22ecf017ba 6f69dca5c520e564bc00cc7b5956f55babf46bcf3c4cdac8ce88264406399ee9
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-01-13T06:59:35.336821+00:00 43930945337698620182564393276364241494273194261453 95856314995767054308611526275988782885795867730175 29444931545326725507642852100869886466623046400494 33084885008388351902174926723767190511976925901944 00570960950652418162676446051270468686688232428906 36710413670551849410362525043247904749226150255217 93409274517169693157228376912478263136841248274186 16830913960906796343605366854904399836049893459432 65739081625082214299755411322418645550374362321755 84895477735929617436532865617915511598768601034747 41905621722003579471703258246565965360366025059194 79807420345349796780703766928502647344374378682780 18909827353503881872614964781074959854149337643969 58369784697428574878852519476019990104019186492899 14505940041484204916767323163591308975300709362131 63914637798742681603875970585616717932803253340349 91326968977741614698561860009169645393694225482097 48991447561827763595884504275831677339759060247190 13498236369590740358397576899198861360205429837090 71722394542495827667397396102068818829623601555183 57467414032593951381452437275093834277077396483650 30640429910392300916237247856363051919111336485341 09281804556622765984282165914876224602423101788860 16967745220262248133120756119019534821444161452831 47579035069005796907170509878155988734413905842578 87860195495957708917933695645834588818779986094825 64131388334071080964651626208094913536097343755308 13117489060971939268050395168598704322892325692069 10804975207269293758152585344865600874839976984871 58934594882140286979827226933730576139012324681421
From the PIN diode (digits):
2025-01-13T07:05:05.737630+00:00 39643562556787525546035328542055901635697603337992 53296513441962674681159898172696871855048102804858 11878267495566557265720335431783693232074876023819 17375414555445483052688359010010936163022276668575 74043817783283624610418212098636012541332972204854 85656790292726099843103345574917547109747986228428 51778574569658418831315678091577937254611944258744 82421795363877938530271587822489143037445446577617 93650895184986418194638662740441894516797853072032 27270173248955493252616499962187129039089361868749 98281049310010436113759915526815237492991172394902 24193706595234811619782144930163126045235567343412 40753447173749518753076509593535261663923364431720 60763698567044935304607943349539728225677970249979 65008729487298727569198308584585460974277846554027 03585268374263150700553169630199683840786760591493 87574087905916780910349145831570056930547096227531 93829398739536572422657311672414205174376724490969 85728830900383362039270646472844392337092181677081 88553428403532423914871893623459816867143679095042 29262804881312159867019011542017683055674867955297 31859669384323609718231882315576517809439952322463 20586472871623139219335911047537451977609272659658 73731828922505817634673197487620044791085852623730 54184921665510695858432002402801030677992483684164 31088609247099587222868557782892045264565219236566 16796841876181017825142535202205745104748494964381 74102672249588965302384816897841958279660637233824 11762679381203242050385215778934625961925510643362 60328627400296111226071704048233249899598698106114
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.