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-06-17T05:01:45.558666+00:00 eb8d091cf5b8489702c253a5f9b67c61e7d697212a5deb0c68e454d3688780a2 e6076f60faaa4680e2518ccbc3778d264a0a17bc36502f24325ac6de213fb210 18e25b1c0b130abe593e34e4803e6978fce53506c18f11c9a4f331787c0a032e c08767a2edb1dc1a3744e8725c49a2a233c9b8bb763f2628ff34fc07bef1acea c2cfa2ac67157d24c115c5497fb58bc06c1384a288c9bda2f053edac49485f67 6f1a486cf1beed0be201fa84ec5e8d2adf7810ef1705bb37169de2abc61d6deb 16c67fc03df5a688704aa59b67cc3e0c43d291925ea067b001571a67a1bac577 e08f6cb6444db7c2640df58620afca45684e3e0fd088d07eda26820d4111476f 26ac236d61e39edf4e3a3c6afe5e7e8fe50b756ff75c4031e39c0843b4010c6f 80b66966e17c89a95d26f4d91ee7aab402998913799109f22c9901e3f263b5e8 c0e03914549ea0a62f7cd13f1311ffebfcd1962643f2c7bf2c08d032d8d23d05 cd490f1eadcad3b479bec6eacb223135971388079bf9bf730e6c72f1122a6c5a 5c362aa83bb8452d1832eacae2d5c86360f1a6ada22b7e52f8f0692c23739dee 5ec7b2b3662aea49fb043d01b81cf877819fd63e555cc93656fc0093a3bb87a0 f78bce942fb66f30810af5621e0481d3b3c2a67d57458ea6da2860b74a4ff00d cfd67c35ec0ef4df771ff1be6ae3975c642e793fc56e9be42f60e74b2d9f6d09 a70a71ee7cd4a4b5c442d1e1a19eb88103c99bc96970bc7ce7d96c68012ef8cc 4276f52c43a9ad86af1ee1ab80874cf08839b4c805c77ba18c9a6cf15f3198c0 9a6cd9bbee78a15b7b3efe43c4fcdbd74f787f3d383adb49bbd1975129357e98 ca3ca388eefd938e63d099fad42edc4c987d314ab5f3a14bc6622439fb1adc44 e11d6e2efea683bf902798b978201fa6dc8ff1f7a08750e8b94f8e2d49f0d407 84a4841062cd7ad8b0d3e9878b1d3927058fd2a8ea51ad0820f891d401bf88fb 6953ec34fb983db4f7b41eed1ce50a23ec7f6725c043c768303ed9deb2bce753 a15ba945426b6fe140eb6141536b1173e0183ad13604425e859fd937ffa4ed07 5e5d875a054279a7aafe458b2fc8a91bad53b5e15c76e35e92314dcfc88871d3 e22611722a4b5153872a2b4d8de3b66116cfcc5962f3e46aaf490ce33eca4f63 91c717ce929c738a925b1cb88144ab206dcfdf373b5e21001f69e661f2b296c8 4990308105a5843dd83b402ec50a723e8265ce477cbef6819ab50a27c3440ab4 552a4bf3f065efa22dd68a2a4a3ddc115c7d02297f9a33403eb66244ca8d32ef 455ba7e2b40f89293df6aca8e5e8070e08702bfb226376cd574068f001d295bd 6d5a41cfa32750ad8cc6d8b9832d2a6c11029f818f1000fd830feab61afc12e4 69e0cac4f9e4834551f0d8409a5ef282e41bde624847479a1a15e255c29997b0
From the PIN diode (hex format):
2025-06-17T04:55:56.757712+00:00 6e029062a1648ad8c901d9da9e9b65735d7e9912afd29f4dc566b5d4367e8c4a 5a671041cc8c98dffbca258e338c26c4a8ff1784dbc047799666ae99630ef34c b871028abc63e1eeb9e139be01539b7d6d35c64431e27a10f48fc17abb9b9357 818cf7adc6d017c65da8577d39422146e7f65cd8923ae50918fe5751aeaab3c1 695ced1e95165cef9a3c3fd496d23c9d60fe0930ed7f94cd13eb63e75d3e84a0 a237144bbd364cfc428be29fa5a376e7506002fe03d13c81e3259c49003393a5 11fb73c4d8c15bf71cbffd8123f5c4a9169e53b79c26594258d2ff691af3ff26 34cbac954211bf17730bbeae91ced770d6365c44405314f7ed0b452ac3c45d78 ed9a6d12360517c39f8fe1b03213cce8ab908c2004738e45d33ac7dd349c9443 82511a9514803b21a000470cfcf0dcd490ca70b914a0b2f30a2d4ac864087597 6fe4c990e596460f20286689c3a9137f567aef4480d00e729f8f0af30571f9f9 00e59890dac6cae6223c655f56c4843d3390c4e2466a4c1e2665148d1ee37a22 83a21c4c186d0a72aa4c248811ac7dcce85af9412ed6a100a65f7864fcc1971a f525a82259021539113a06ea9ad8442e5e9b670f5286b291ce7b022a2352371d 4c6597c2e0e0fe9c226c2427cf1c3714810ee86b2e139cc7014bd10dd5af98fb af98a368926df7ddfbf5c0c15cd806d45948695f78383627615df2ff7cbd598b 4ebf9f63d22ecdc2c3e92225fb1166e3ff35a7687a5b2a7c152bfff4e2ca8293 d5b704db33de033673c9d6f0d0e17cacc25f0929c9dc9f23f2b47de0ef546467 98a12fd45d81ba3cdc788b742750b3f6b07b58d437682f841f8a4356cf90089e 17419d05fb682041fd47e927f8962bf611b2429a0905872f16e941606ccc1dbe eac0b98be1aeaf32909c1e4c6454784968475a9b1de23ecda074f013f1fd6945 a1eb328052b6ef5e452f9673d8db37f803442436ae31a1b176772c5d1cfccd4e 167b5ee78586a27534ad97255c4555384a9bcffec8e5f401e6e91e91e121507a 0a62e0703da84af13cb957fde6781b8cb8e4882c9a9fb6644c398beda784a6dd 5abea7a08da35d1a8093285ae4b3c88ba13e2a90bcce95848dc44c80d8b8a07d 26bee22261e1149abc315eb2ebf627d25cc4126175ed2474f5d15ed861c73da1 aba991c8f0aaf0f4aa5ca45f8de2e38200c2d275e381a5acfca7e08604e38f80 921fbea953b0efce8125a23a0a0526ef942a964a9841cfc85301d02f5c790d7c 3d7fec38ee78104ae76b8e89d5dd318f9fa1afa4d54755fb6380dc75c8cdad23 e70718641e4612a93bcc2de6816d935739722edc53dfe620df63d005a83cad3b df823dcf1a5dede2c9c05aa8ccee89a6e77ea758c8db8b0eddb5b978c708d017 b36d96823be9658f04a2c35b287d8ee8d66fead2867cd495f588211983eee00e
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-06-17T05:01:45.558666+00:00 41092884725102948365822497513342931204840435286207 11967070288140951941387410238854804736509098336378 16249128111910908962522862052053069343176449202410 03469235036277265568149273626251848718633840520790 72946272032125369321977327813992081932623689628372 73729503112672089011013294414220162305875522577198 29092298279261663612746555036212674546946003760187 26036186971943088268778394001334327569047862153626 38301365177111387235099758785860069426431117119264 49560867800112112882050224376993383070800253371921 45094453019981925720845860664724631917503867999144 08506105731530738021909834495351193607559115140814 18420890925442685984694524509996667362432682054435 15579499787902427304610184281929596285925486004763 87356039484782114829109830042979946625876942664096 83747913245314193190065192004621639710554796754559 09096710132464819666615884290355051288240804014666 18446769733475307128357636578005992361405408954952 92540887206191236267967920276156587387518141532652 60633647429953467652254974816175989836572668291046 66319144395285203231664360358085794245730732643216 98227635392957390543688173083245019136058352526180 80302810352703379267990448627888836191696966071164 97658307171524585404669433595564079493359005662167 70693947692773838192189446497736133817144275818335 42437741829722899806757312627999459923465615384691 28842968713209555994330031059778507344482905653261 59644697101462300171249029548110399568108085427501 62453842746117922502412754516462829868415069916780 15374161726807140812433499188764040149890990656339
From the PIN diode (digits):
2025-06-17T04:55:56.757712+00:00 10024498610038015855011593265318755977970281542640 74900316654052374251403896682332927121500274539914 76841302388899855790018355250953986849221643932287 55478729407398239893688725576633709246580924878174 70799305923049229254606350605796094827481999936232 60625520758954766639596563188096020360293756730051 47651715969391289129359669225883835638896688052638 52724966179123151190744512549268648320116942959693 20540918540523955943765019714440320415426958995256 48673081264920285933600071124412852060781045740008 17511144507015324002379569192786226828141459431005 13005244983460019586963261514496700676303801204130 22343162287624091014707636361772259065466100669520 00935126376834890221571758065468469455031582347845 23024235825529760151945634083639285520291407461956 99017513755275526304460992939206897205952056543997 93248989397891599946949534371702536704229142242143 30478304510354152472949509415935802584000352614793 29866020391639807976238855044732313867864408582365 57050432657139504317786654090535472265960829909285 39747550445630760084207304719055296260161905696150 28828294694750155503683654744961771819449328782223 94333462175273513792698556745501304533802210981261 68746085872027408436445459820076573967326690906760 41639326284740907939616242448849324196762884602538 90349720548849947839929618971736169497996161716945 70709264954130009417296572673404432846319069837629 37625810053848425074526583014792211324612756201674 07423749435961756471859928177335072400307018695945 29094787571446833299056860735930612693929068376626
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.