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-04-28T19:28:27.727134+00:00 6d8c326b28355ea9ba52d42f1edabcb179ef939bcf7f1d68f937d822b8bf89d7 defac91270be6fa1151eb3557dc219915e0a05bd1e4d8f936db2b56919ee0f73 017f88e4b97a5f0886ce8c185f67d6a9c930ffd72f8ed8844ce12b80131db04e 8aeba0289eb14c07cdb6dce8a1e48b463cfe669a68d221660ae92f1d15395eb5 f2f05afa5c7c6e047775d1fa567249d01b470bd9045edf133c4d937944587977 50a52b35ca526b3aa320421feb93b2f0f7588b1050d690c414f2ea3ceb6a2640 554941822b1ea0a6a88042596afec68273bd32fd33bbf9bb07316ece2d34fec8 83e02575e5ce2db7e88057e16c4d5f54d678fa498adc12e126bf363a9927b72f 1562cad31964f51c6259f1f9977d89735fbf1e1f3912b539319bcf4a49b1a289 721e0bc004997d91b9ed689e2dbb6d6abc2af2b566adbe4c05a2a74fc81dfdbd 092ddb03c1d421f4273951df8b455853023fd39c6711276e911933a765a538ac e13eef86ba18115a4ce183a8d3a710fa7eaac0457a96b061a5a03fdb5239bb7c 11bf4d71a8f6f2948a812b2f07aea7c76c3c6ff05997265df4a89178ca3b0e27 77f4d64bab471e0914f6255a821f0e4ef953cb30dcd56f05c9dc8b2b13068c16 aa1fe7e49111c625d27aeae0c13539dc640b0b7192034b6268f0467cd0dd74a2 0779a9954c5f2869fad5146ff94af6b3852626d376dc424ca6e899e6073ecb0f 0409249d4580c986ae6ece7bdc84073dd7d95d4ddeea4fcc6b0308f7326a49e6 513f895d09ac74818d3398715cb4567a6f8b9b93cf02fe869a12cc0bcd64791f 460db9491e04789926e63974065ae280cef3b077ef21876b2236fc939da4353f 5d2793ce5b062dfdd0c9ea37d8229fece2c21b8140842dd343586a8b4801965c 4fbd3b0462788ec71da89e506430142ee2bb3b08462054e6ee204adee9faabc6 929f01801638be8e5a757e4ece5a541fdc13db54b0e4c38ba236d36e05febaac ccf8b5244c40df57a0428eaeb7c3b85170d7f1a2f4491553222ff3b6d0d18a95 7f8bb86288093700b7967cd384efee90f48596b8010455502c6d8e3a8cd16736 038fc81fb9c32fb41b9eb3f73898984d08cb7ed24a7cade36de7b97b9d1305b8 11d20549cc2f9cc55e64e61712584c3b9c2c8c305bfcec0ac5c251ed1ccc2d88 2e704260fe6e7d094bb6cd617298109a6041f101c215644e4a2d74da7c21ffb6 cef57044f9445a10d695d4a6b9f0b00e32ef4fa0b249f28803ba24bb62ff1f00 0ff69b20f422137e041675f33b7e380af5cc9841f7bf75e5cd70fcc2b4560d5b 89f56866108c931e8e3a1508f61905cdde64e3fc57c1d9961d5df401d28e3286 69011017a1e6a3d8ca861a34e0f18af49934111f8951acde5c711165a0c2ae75 0cff49ae8818f0bd5cadcdd3d6c5734824da7b225976e76074463cafe9554182
From the PIN diode (hex format):
2025-04-28T19:35:12.828652+00:00 d65c1301389b29c8862571f14c122357b33c65d9c92b65071ad123970e17cf1d ac1fe17234fff78a5226552dfd8d513e19fe0e9b47563e550ed6ffb1cc13b5c7 9662eb0e3e619cb48660e3793fb2c4c358f94493e282d127a44938c466d6e3f0 9fb1f69531b93ae2c14a6fd9eb6cf2b6669345ea0ca76acc56be0a6817f9f11c 397b93b5506d816fec6907d2466b250f86166c0a0d67b7ffd19f42b1b2164708 8c2bc13bbed860b77e44898cd1d09585c8b06b285935dea98efe0b02cc87b350 d80038bc74e8febc95a86e439f2a570e7e8d278eac845a0526e126d0c3324b1b fe66ec45e0f279a7a6383046dce9fdd94c52d96b6fabf51855cc742c7b570942 0adcaf8ef7ef446b8f9075559183e5fcbba51b5801079623c9c482c821cbbdb5 1b572a6d1392ad28be38a4c94d81a0280b063938c4b6f940643b86b34692fe89 a2c39c2d9529366001ab706d4babd6d74e3f5d15073e1a9242614971ad909fa0 ca7137cf275bbb7b57f6ecc59e4ea2ab540c20c77ba51921de0489a80903281e 48cdf52d308c8a774af9ce4fcd8be13d48e4ace64f4e65c7a01a4c1560eb6075 ed38ac8dc1d850ff9724833b17e724f76916fd34627155149c03e0fc031b49d3 b76305fc59b3dfa428d4195a771e980786c5b26565b0786f8930c627d60b8972 441536b869f40c32875332fc5d44146acbd941a0fc6f5475719474d4fd0c12c8 5ce7b19fb5a6639d0dd1ce32d922a9304614cd6dc3505e17c648c5e20ef00be9 c23eca04879675fe9c88c9d44f80d5a6cc7d8369092fa45c3680c0e3319a4e91 131fb80fe643187569106c4994198c74adfe43e3c08245c0ff51f3d4f1198536 1248c7e347117200c211ed302cebb719f2d735b54dc40a9b6988a5ab92333677 4b261e51f757a7ca6484c2dbba1e03b8675429fc866520a51e8cd45bba196d6f 723bf3cf3f726c71ca064696e1ebea295cc39f761e0b3aea82b30588c0a219a6 8ed148e9378c24deb7fbf7cc2aff9fc65f6de71b011105ea79f0aff61bbb2d06 e394b742d9e41617a1c06abb4c3c04483fc90bde9b623400b2c63cd9bf50a2b0 4ee7b6d9ae0357f38436498eac857cb86ca71cc84f9daf62fc298c2e965025f0 48e0cbe76ae0cb38e2a9323455e8ea41ef6a596019567ee28ed57535a33768bb d23793c6ce8078aa78e59adb7127d0e92b361df87a991824398bd9ae94d924cd 90d4fbb054492230f486cf4e3043302a2dc711e93bf2acca7a2f7f42f51bfb0e 0b93727eac2b67b9de51649d7c35d5e0f05b32ad0db0d633f5288fcae8d417d4 9b3e795e9812c00e2537b184216303759be4d9a0221a4380f9cfed6273bec9f3 756cb431f4fd8e1e9e1b5f640b66b1a26e873ead831e012dd7e8c5f18bad7aa3 c1e1aff1fbe5324244988c915362a7cfff5efde9c4df7ebc44c5ec0a21b8e685
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-04-28T19:28:27.727134+00:00 09405007405394698682473088772147552729045534849137 18129011612130798525942545941005893077434709788105 25151501273685229508344024950369484742327643281929 76783860405877760782613970600254043302104729215794 81909224100419178614732771110494196077472168882119 80654353820758633266314778883916804496206006386485 73653043306066682866890698301589505187870749104552 31371745832887087795842073381838915458533983472198 25002898895125371595913031571881574955747377623714 30119204532545850458458709068842810273907605626779 29890945039333395781396988830263560317391045255167 01655672623486241790763168671626709269225076976560 63825787241791771368483829434707746799086011895138 93684520591439197571713009203790303114788348110539 43190640227031451798372293535700111113460375980470 24166207216949769540052011747933383818667666530762 15040936576928347410233207619377790703085006738163 37930972162941515213928086221139554702345418110021 31701385733004205338571606902876193335073454475764 53639339479106455534599427296432456788063972015092 79895904982042992968588000482046875908703284327471 98465901282256904290172678908431198476953962541005 86728136766487606642748395848112627321833447823849 27398498360955008350243244335084010485804409425840 03540343318595478027587956525277082674247309852357 19058417057347569794002318887659564440489110979481 28453646126696102509758297145216549665019421007874 45162433821268689016496685761450796078733603863687 98310015553234192604221759265610526591171294808613 91370402164047304258210825050087935029930142503405
From the PIN diode (digits):
2025-04-28T19:35:12.828652+00:00 92190156554134371376183587796001430107263551142329 72311452388238854541816225145571866285147719819950 98146297568034962163789695886847303964735696025977 49498558937411088202476912670686901004232857234781 80092911050770073715342208101303835966777822710840 43935990968326683740493376074089536942110235798000 56881688496810675942871426413942723290053838955075 27026921676656487076820711712485164423870966107542 68074344178545318765278801075035963033898127874209 19467340905664772960401106575696826400593479704637 62955645494154960171120975717863932107622646669773 13734459601355399187238797587862718412329923652533 04376809034030724548403819747939617272797801996026 76219696175672419380513631592336052252981385205603 03277383990589796440259019305207349778010176201137 48983911371468215484051250358350936820066560118417 13481612189277598166995713503469487020099580942398 72971411946204355017563679286625310509476492542892 49547845193184156724170516087348254016736792306992 81253354187299711714009417484483255381779610550536 65714651541975383081876700329486300384038441340132 65304091862509111459631408130670504192955918301158 30790536926225664272554036834259989509270117052175 27874506488366222361920687766004726311559852007898 60918062767882740387325473427233248408672879577598 41404650803772065669505285650689962586264217536355 04875547982820702054133943542922532436573974483644 76847334483478486748424599175972224727662714114714 26724303858100572453915073137651404323556221945218 92143755773233990317556034266728981590170880494230
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.