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):
2024-05-20T11:26:22.808362+00:00 9038a4f2e009f477f537c5ec1d9aaa85df0f7f3eeb4737703491b96ad5a01604 075ddbf8865b504d99dc8eef91ac50442a5cc692d26d8b23738d7e8eebf55221 4e405fb998a2674a5709fb0e564dc358ca2ca69cae541274bab222d28c8d8136 fa3271b89cbc468d1994f3d6fb50ed56cdfa8ff0070eef334b0ea3269f8f208c 8aa99fe5c600c9eeb796d9644ef1007c36afda1031bfd8d5305cf0143af16594 0078d2f7aa5126c04bf1e4b948b8049a4d5ad12040786bea9aece89374cfce30 13865f931ad421033fe1bc0aa6dc8af9fb9f45057ea80ebeb1a5c20f630c4013 771e293003e73347d6c0409e1169d500ee534414b4adbe9c68244fe3ea99c936 59cc19052d3153360ecf94513564392ade4301bc2ce829f29fa52a83f482f151 4c4e03cf6090a3bce66583ad48cd7a3ffceaa52d30e6ecd2fcf40e4a82e6fd74 f8d65b7e32a8d1567a9f9dfe8e6be4956e014561f89931ba5886ec8b3307967f 6a84175398c257a1d8601bcc7e0089486d4509d4ee1b17e452d4c08206fef528 9b45906382bdea7ac46c199ab0cbdb4bac35d7fd6ed2b1128eee939f21741b37 dd22ae8fa483fa9032872c7925eab54c9c23277a7c77240b3e458197bd5363a6 b9a862482f0c00b36ce657a706024af47e88319a6158ddde8222e95cdcaba32a aaa5ec4f6f2cf68804d39729465cebb8b84642b18c7a9d5e4ff2ba3a6e8f2728 b140110bc3407d2b9e222c38bcea7d7b37123d7a36f34b82b10ecb4bdce41ccc cf5c5a70f1a1413c708586b3b3bc74c9360ddb52d042c7ab6161307828deabf4 9a183ffd86cd62940b7c772aaa6091d1e57410bab1dd56aeeb77ca4097e0a2bb 615ba4fdd6135c9f6597215ed46716a138fc0fc86f7b4d945802c0b8159d9ea6 73859378f027353871d4c84151a2d92a736b595e17f2b9c689c47fd3c96e151f 235297999297f33a3bebef0adc33bfa7a6a1900ebdb0bf00fc2cc4cd411c1452 c1fec586db7c3732b50d105f8a416363dc42d337c59c859585216bac180e303d 447b2a014cd71f55d4b0820df64379d431bd67282ab7df8d50cc40cb094ff29c 7487a1eb8ecda1b6c0b9c8954ed036778eaa071d62c9657546e5c4bfc89243fe 813c39326f29d4a90c73a07bc0e230b122627307d2433fea646c7b2564977e25 57669a3563f31e7a00ba5a27c3146e5d6c7a1e6cb28391b7e7af16eac79e956c 0e85693c24f46d9b67f1a6f42a72183bc6549e5d71cfa5d5fde7813e66a2deea 0079ea6c0906081b1595ebf421aaeb5e83f85deafe98f4b2e5332c1e961cb8bb 38ddd81ee04d2bd08854447071d00cc3874681e531c3c9e2b3d23b1064d9d502 e392c429aefd98da4baf679558f7f0e6ce61f1cab4f12c3b4bddec63ab1c5e08 6ea4261b7e9e72925ec08946bb2a6fa18b0a1ad58f847182c9398e10563fcaa4
From the PIN diode (hex format):
2024-05-20T11:28:00.605144+00:00 2cf63be95afb79e4fcf212b7845f1da75e50ab66ad936cc434be8902db7c1dcd 3cd414074278a5e71fe006daa486c22e136c0f3464e7fbd605b729172d95bd8b 7a5d59255ccabce8108106a879be960b307a5d62178fb37442c0513dc3595359 8f67029e3eabe65ce5d6e577621923afe37fb8e394dcbeabadb216970cef7e6d 1d89da90f85fe7ee5624fc451d707f49158bcbf91ebf9c00013952832c7b8c8d 537c3578b20045f8e5a8ca007a7c5bc9975aef4783d47237be4ca3348c84182a fd828621f1eaafbcb33108a64d6ef06270621ef7d80c1c11873515b780ad199e bc47169e5265bf94426de696885eed34f6d5a1cde25243f5eadd05b952661c75 84c833133283ea9e793803fb7628f9409a050af8885c8eb85ead7ef005578902 30e4cff18ca79b931236dfdbedba35ac07f82d0c42007ed44afa037464eedf1c 34284fff4dbe8248e9a11ab3960b0e07199c59f11105781b4569041d98de6ad7 bdf603db58f9ccb06c9a8676313254aee25f687e89c324c600166c6577f75f76 123f6bbf0bbed30cecddf790242deb1cf5666fd7461cd9599d593d478eb04455 0bac25a686193417716df773eb203c83b27adbad492f4267bd772039f23b092d 11cc67865f0cf883b8741dc81e71175557336b23de4ad9ee93de5628ef4b6340 0eca1b33d9de79acbad87fdd21ca517972c556c77a50e7c5d7c2f7dacdcfbd0a 028f65c0408216f7e3bebb365fd94fcbed54613a5a869eef5ed4706a75a71223 1370d31b5620babc89b91deda3826ea4d9e95c1ba6f95deb3b02d3ab5708c119 5b4bba130ad7f6a1bb8d4f0798a0bce8b2b082618a56908cef941795837e6e5a 2748860946fbb1c789fe35fda9c1f8bc92c1c324d657a213a466ff8d19c57e6f c1f67bd6982f804b52833aacf1555e51176224ec16c1ec8ee6828c55728bd2aa a5e41d90f2da2e0d00559b0eb2f65ad78019a03d4509235720d467c04f6bd64f 1918d44454393c72df145af5a16f799492a0fb8ee393030d7413d6cff56da493 d9057b4c9747627d6caaef4bec598b8133ae3a7c81a47ff58820feb4397dc3bb 8e1a5d2b2658220fe485ba62be17e406b3e32a2c8ed34c4fca957fc16a8f71fe 9c32e5cf453aec536883076495a436a425197bdfed77e102c8933783a1650503 8174c4388b1287105e070dbb96efd7d3590e01a555517b36f99860cdf3351e74 eb55a3dccdec63428ab6c5930eff2971a34c8741d78877c694282187712b2c42 bfb03983429484df3212086d74b0f2de816353d62a35169d2a97d00415fc4bb8 dfd358c2bd2fe67c86c13fb5d7c979b6bb40b656d38ac1c72db213bb561ac1f7 8d526ecdda8b0ff1395880bed991e36b7c023ca278d04554e182aa290525c629 0611726488ad31b72840530b5f0d69ce56d0e5bd4d560f970c3fef55114d558e
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):
2024-05-20T11:26:22.808362+00:00 44566409195597295470331527627155125245850660220407 93349180775342457280684292984609393515412642823378 64958552620374870914867795884466567484181686783440 41295450138456887041254880864307145175146338594332 40386959980083500078002454751649914892205801480020 70813892758572840454779032642007544716481934954726 33036388106638596905266814907765941599126419193041 48035171926458170500836820807390560436795354892505 45498354144881530057426701884441596542313081767803 96446388013173722263654548147430169126506886225957 42074910016997534986883439510750270632238352948761 96272600377209690927238292300640556944993089229608 25547675725310771842475933162755347443643144503544 21378176563539222419361162692951898399668568987247 12007908876706027426364954978830349271634270657911 44360451417092848470667740225794798658104339407764 17119564254358344456882523551861225475307714752892 90126165601233347979881654138266997197974820407154 24633498481124194270964516168677867419645162879791 64199259015133940322615615112377488802928421575866 15334720395356136581624215078994238598379627102131 35825153465158591051916766614414897691004496652820 82939734245550811316953865999966559756334933330772 24144861682342017631857630136721498903404283418064 09795616356142618292854978541942700729980117709691 46672960575011416912156023924877349815076763000823 37005126378702545399302200869039952010930822300878 31458375229958490814330560360955036642142459988458 93136529620262002108090608272149337094319352785144 30502884875630774336846812131295357029499579591600
From the PIN diode (digits):
2024-05-20T11:28:00.605144+00:00 44599021188332952967948071027347089652903702242960 20076620653106643494461908155200058341234549893922 93893792881629066821905011482293982343791666928161 95898389430302586271921998253575278448907173782251 12260929374495863669291227732139309156000157823144 23404183245320780069680022249151907131145590766352 40322442303433758879490866771098129830122817355321 83287325588871225882019148660950369452618267058582 02281732511950315821560318406454051036924284947326 05873702484067554718548653720745126600267403160028 52407977903072612679501114072556891705202769050429 52068903887608543418495084749504263795369800220801 19951818630791119012443645280211702889578961714276 68851172376634255223130915326031782273734766038919 32575909451703349512318416293013238587510735744786 40759964142751217286273381211497869922809794891002 43019264302290875495798497589034589412061767183519 12278632868837852963301064922766935902718708932591 75861910618741790752608878763097388644404823493126 10903972340970779937536993884693953687621964024125 97261193235247287582315872859481239836229342304085 14397065294446130085551478902825606169093587320392 79077925246884576014209061112148466042470313161909 64470523765171982508707589392951745824296427363280 57259587422693433888341533869890230679424442767949 27930643135650695883043107004964546437252319024755 31610105032916965639183516940713875089140165858123 54529653301685639966388297471441136376356536199848 40333513434466917657316648325018080916762999834253 22574251042175848894894724349363812182876482863893
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.
no comments posted yet