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-22T21:58:38.901056+00:00 6f1739bb8247e78f1eb54594f979f237f27354e8d7286d419651739fb9191d1e 9809d1ade01bd168c9f53270bac3463e1a7f877971f167fafad8435eda147915 e006d08188558eb3ee4b0f1df4f1239e088c212d3a1669a621fdf362aa9f5eee 205f8327722143b2fc0f44db479840be6e3ebc66cd8ff81c20ed1b565861a505 da48384ba46389f669c625bec0cac1807a7e1ec0190da713174c407cf40fceb3 ca74da08c9d0bce39efe4a615c03ac0607060560250a3efd3c9e3b27360c6d38 50e140da70069db825a185d6642f24a7b4fa49971cc612fffeb17f8799b03fed ab09f7a8eceed85d59a0d1a955e68129c253161e26ca3e23ac8e04caf03ac925 f8dbbc7d39fff947b5f870ea73a00654233cc4ebf9156b8bff1ce34489e683f7 c3f30f18dae8fd7ca6777b22262baa263c929ee70b95ecf22b487f1e5eb15690 cf3886b99385c8204109db4ea3ec6dc573af34ef501dcd497e825e911f6c8f04 545e9c8797f9dec2b99593f324cdca7a0fc6a7dd0e91793f6310afe7360c64cc af2dd6bf652af16ab9bc33d406173c5fdf6eb57b4a20e806fbdcc42a7e01840d 6c7e07cd499b422b491786400c4643523f5fa349f460ed413469e99e58cefcf2 59a40a8588a433a71c2ffda409a48b2ff2d4f403be06597af84c22b009f7aaa3 a2aa24e2cd06d627e64e1f44fcba14cfe8a55334d31381a2c5a6bcad89264726 1a8f6567dee2c0a6946e853dac99426cec4baf782e522774c30224938a399f85 a4ad9c96ecc5cde2706d25b833416f462d5689155230fb1492bde5dc58c8ecb4 4421d946a4689ac95d79a8895bb063db26ce645adc84ca29992e0ad2ff7004df 76cf94c76b4b53e4838b0763376ab5ad18513b79ae9b8922465a45e92c232f62 9b77c4d2e20cec8ace094bfb2290c698468b7d30401faf42ad0b4f15b9194cbb 1bc1c2e5127be5de45ce3e95f8b2e5882e6aef0ade243c94f6a2fcfb89ada769 64e5eddad2497fa044aa3de29c8a7b3d3b9a85476f3dc238c653b86c5822abb2 03d1bdc0f07d46a54ffcc386dfbaf154f037323a85615d0e53c0c56742d8f609 fe1b2a1c2736c8c4f4f1bbd4dc9e7c252a3efb682f94f02af0136836dad62684 702b04ee63c116fc872635f4810715b93496511de6ed42f4ca768dd63e0f7016 c632c6cae3141a0d87a7533d23cd4dd514f00ab34a0b5fb4f0cd423bbc00415e ba9a1392752eee70852d680b0c995471752cc532c5bd3ed1b7dca06a0b7886c0 b2a512167a7a64b3b78eb63efdf2c1eabd485c7c46a95f827b64f0ac9c202f6e 2bf861b00ad462e88ece970fde22f3ef491eceac8d8949d18fc9925610193bc7 6bc92294b6d26d0d2a62522267b47f0637d2599e6d283940b9150e12434f91b0 5a6e3d8a797dfe00e5fc91382ea6980b345e98ca0b9c841f1b8b6fd3f416818e
From the PIN diode (hex format):
2025-01-22T21:56:24.902765+00:00 e62ea299d731d432ff8c61131368c66a611f83bd956e785aac85dd37bc46add5 532b3da91dc310fe2e4e15fcca98792646997059d0af07c02dda37cedc93956f 7490bfa9b98607e237d4325b6180fb7409556f2c64f0e5a5205c168cc10ba641 d01f41928ce5e02a1bff1919b1ad293964ac90460772f935b642b1a1e8b6d9c1 cbb1b444d74b0c43de000a1d16429f25f0873b47b394cc434b348e06e4498318 df9a49f0ec90d45a4d6b18bcce29b49ee7e3f505954e5c9fd94f0a87cb2de79a ebd5c5c234a35181e1580ec91bfaed97ee929d6ff227752de6a710674d27daa6 8a4fe6af1c947c06f258ed0cfb0d54a3d53aea8e148b6cefcbb0e2999b3f2453 0b7af4455a50eca4db670d3741c46bfdc74da33456f40b405043bb0e1f42814c 31f6d21cfc2e728549006b6cdb0920c77bf0f89f6965b2823d33757f8e5aaeda 65c1bcf7fa7772e2a1767710126275ae8644702ac07e78b204282d2a74940fad 02ac01aff815486c6f83aae0bf13c88f15df0ee47928ba57c1e6a8c616cbb442 54ea5a17dd5e02a6eead8fe38636b1bd634cb8a786154cd6bd8d7453835b7ea6 76215dfd2830a2ab12fd31bb9d6d03e429fdc316bf57ff0128e7c2360eab2a86 ec51468d1ebf0a830af77141a9c73d679617618d48fb4cbea06aba006c32b18d c23a028fa1e962f038b4b940c1a625e6c2f0fbf51ec13a1b6c70c13c8ef1f7da e0c6123df7000d10fa0e3f9a5b511eb1d04e56fae621b903298f8bebbcd68bfb 5da4b7df9b1d242393f71711cbbf5c1173d4617fa81549276dd98c47cfb1585b f0f7de5cf36081045f199b3698c5e5aacbf9a43074863787811e632fdd983585 8ea9a71cd6ad40390ac5d35e07cb08b8d0647aec46fb456ccfe8880e55d882fc 28d7e0cf2fe888c424c99981457295d653a987ea30fe5e6971fb3b5610d00830 7445187b948c006dec7e5d22b2d9f888e420069562cbdffd8f5d9d71816be78b 8fd98c0ce3ef9ec2adf3f6437b65de229611da44199b572c3f6d4df9959d1b43 affc17ec9c2ac1b859ec847c0e790551c45493a0277207f1fe227e775ecbeee2 c73bb37ca9b87c1fb9f80c4a4afc73f7897ae3bb7b2a2c3504cfb9d398f7c83b f77c344815fddba3b5e53aff9409fd25ac95fa90a9a1cfc877d1cb5dd3d0f0fd b6c6bdccfae374d64b57eb7fc6433e5f59160467006253644e41503511306047 ddf36839aa231e73a3e395e3f7041f9a5486429e0732d63b69e89648e996ef6b 6cb6293bcdae9a696fc939fb466e2649eaebb90d9bad23e7b2dc153bec40807b 1431ee44e1c7dc487c29b17079d9aac235263be6ef078d9d675018b720242a69 3fd983faca2674e3621f68e94c79de698ae1673632a2adda075d6abb758ad48f fc05bf3400b846a283e592f32413a4d566acbe7d79e7f345b066c6217a24623d
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-22T21:58:38.901056+00:00 11235787307143308169482155158440096550811559852529 30520973270450128695706226273521130367942021210629 36854279751529355808403345582205663398705994329531 39143367781568715264901062880243283227868897650572 56756499370598379092932822263092251367192376642415 79160888587497920372060706059637106260585939541209 56806412065784376133004736678073512898187727355376 63710968938960698529419483223038623572420458378825 57718112156006843560962107392868373195152424661923 34384370386046581149437227309477864456348547333265 09786309971575528029732630944531084304849456355194 85494736221598671445216399167554120075459101420685 88510623609510812374320696422601321308260773556643 73233464127067826395637396655205588889641033366451 67284764096439470390068922763476097063627036063978 31688620658352192962976688733738713826430103926648 10336172536608757520468239169502364738575933647356 50971209378451651170458637218248204689888068337064 04549321683791769938009032415346101204184899077583 31390799550681732481592174553734709069443547985519 96123809753444985270392548643175667311792185257687 27939418236962497836460610366048623773670500732760 68706156382361595433711161945698838408883471780389 92257065799534868455505833979314839297036609274228 39549687582437426204474842190454383212430499932235 38532907218552508129661841621512229850982026133567 83613577201079741195806659880065948654194617461233 45041112538413174497509789628360061120349278651822 22220079834282629389729224706995302300725632471043 97761098425115347330724137734346861625599907344882
From the PIN diode (digits):
2025-01-22T21:56:24.902765+00:00 46625349504097191904980697313189491020907233558870 73834361692995164678215221387053128975079245554749 11164491698534075550919728160985114400653292224093 11666531654640422725257773415700724470071453826677 61829377806875126700102922665937355971794867755242 06733124547344907707248841805805497892597910354554 97945263812988142751465711391745671603773966387975 28482406881213846358422039087653556336831122699080 64031355659607997763528611648067871431662976492846 14337300070809329923590501783061511727429074019388 19146118191618981774346812429226207804404542164815 73027201752172081131709119432114214086879368982280 66849023940266734334547789997684673421768941168331 91266618339340486271184987570903419522918701409454 14714234817041309110311013656999610350239741727690 60068600085077419458024361985680856493663794309358 27081293604298186100131614635491813077788633850341 43398839936483552936354723179192171597276821733909 40717788919296290495255554529770644816345535293099 47525333426967287364571097940708840022706908361485 30404736963653296914498369354894051359861608481669 24234840000926933478363206499843935713290739434012 58947367230134501768255587446309774957276775235642 93848932241421058196844760391407342619949959792469 84243185127474153722872342445304855259245272216381 58480937724944696119938298891675872798676295892204 03009883007865805317489671045770353015634904315484 34665807505905507250070882415974540511577010387385 13557335782159642823204968997224417712217094533859 07415703802483323642056331381698310476210538035450
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.