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):
2026-04-09T14:22:56.275779+00:00 471e571779706f3906c21608383fba9fd3d91c444dbf03deb303bc29cd03e5a5 831a290e62dbc9625f7a68834661ea583cab7d22f255655fdec0a5a303bc471d 716ee6b145a00fc376959fa2a6df19c13e5f4ebcf74afae770313c4b66d8ff99 6d9d28f2c3d29cb309119219bd27ba66d1870c5937ef59da25ae3be9b7ad7bf5 83097c2b3a108ac51b61d0966c632b0f5ec9b0bb2f3432cc5f928302d939cf4f e1ca8eab12ee1846a543e83bcfe4d70d012e67bb6e484666c9da6659a040303f 35f6628228f64c54050c31de2dc8bbd8a94e6aa4caa80ce353b981ea537080b4 14fe17984c73f8d24917729fbbd7ef45f5e28a9577c3213fd3b091d446f44fdd bc6453ba7f35dbd115d04473903088e852ee957264be61909501899ae804ee78 c4eba51c123b5b543878f3b1149dcc4650fd16bdc45bc5c79e76ccc9f1f5834f f66d5daa389df17b41d2786f9a459c4242ca0bc8da78c18d3271e6e9bb2ef34a 6b29fe84235d10fdbf31193a5386073088e8e85003f72524900c1de615af8c04 67afe1b4d37a5aaf916ea52a6055bd63a5431e607ccd6c376e978ac094134bb7 8a7c013c7d23fed523f98f34c1d46a21a6757165725f22a80baab0c0821aa1f0 3109414387f513ecfdbdbc5833bec68ab1ab0dfdfd613fd5701774bd6835c41b 111b22d2cdbd648f299ad65d6f0b9c8b9f203ae5c98b5d87c57df729102e4ebb 08b64621690789b188e5e45adc633559b0a4fe5d76b43d953d7b482c32992f8f 3a8f7537304b17d0b825bdc6eb380040f4b05ca9d529bfcf36873d35ca96929d e28d8c9eec5727bf1efe1d67e3b44303de7a7f9667be29d30452acee6461e46a fd2fc04ac4fd2ad61a37bc633bf22c2375c8ae78c33924c503fa889d03812211 5d76e90970c6bca2c17f8c013d119154c78d5afd6cb15afa22739c0376d2942d 67dd7c1d85fc44454acad72f8c779a057a00751866a6997d2b89c57f8a5319f0 ae39b863c293ed96311abffa985f77cc8b43fcc585eb49eefb55ac4a7a725416 1d6335c40e13caf2ed5a02cfb768ff25fe0039962e7380889ae59faa42565568 62cf6e0adf9f7410745c34f50d75682b26da56ef99a2eb13c888193dc4fcd6b7 ebd22b29a5ecc3245a439ac5941fc428b78f24c845b573f177c086d600858801 19796e9086b616908e03b67075b5d2c8b71b987e4223bf3c61d8d58f893a7d74 a59fbaad44af89e71cd67b409b372f50da4312121a36f5495cd6aeacb735c354 50131354ad35e705b6ab7a413123c84e8300e423479564a7d197e8f10c9f6b63 b373502fd154dc5408eb70831e6bc15aa97835d510584b032d1f2fdc6c3fefb7 01131a8190eb7d0ce37109e253b3e3a16566bf4b54230f6f982ce8e17893617a 5c74da62682ae71d3d20096649fa1773c8278c10094c3332d14d38b16f0e7a97
From the PIN diode (hex format):
2026-04-09T14:25:28.675346+00:00 55b44ea995c8dbda5f7a21bc03a14d837f5febf7c01768c517408c90889ee20d 94c2b595d5173716b5561cb47c63fa57bda2e92e9732168a203efc23c0c062b4 fb8e6604805dd9d72f637a5c620d41213d3c80cd25cedbb3434fc480b4c98258 a54844508e98b916326cc016c03f69eeae1672c342808e0ec16a35722dbc7bd3 69244ff0f5886f51a7bd1977b31fa6ea3974d6de350a056001e6bf961a398de7 a4230975a35ae8b7177b39119590fab19fe60f3a9dbbf8d22488a702623322c3 412f87713ec4331c44ba5131d6eee0eda10ce1fca55d562ddaab33ed958b7714 7a94d27c3f079cb8554c345700e8098e1896f6bb4939e502ba366289a0c13b92 84bb7c1756ed997e3c69d210ad11672cc48a9166c43cc081e80e1e3f10a7fe08 379f654195187fc9d52473a4b9a59e78cbe9b67ed0d1c5d49baf772d208d7fdd 9dbca6158f9e83c5bbdcdabab577098bec0d052358288eeabdc56a7b0c8a4dc6 70613b763b2cb8adca72029253320534b65b5950ee588682245aa01420f6a5a8 1bef1917f058514e4e111537fab629b21948b445bcfa3a003fc53ac67c285873 7b32a73aad676f56c281e5b4be987851d337e4029bbe20177160421729287184 aed20eba87967e9497110aceef23c20816dd8eed471e06d92374a1986162eb11 7f379c182b04c69612b6daefdeac2534bb18acdd52569c05d9d7a9c7f10a3b6a 8b3cfacf7a93ca6794248726b0759a66e395a5767d691a2d3623ddb7ed5e7ff0 d51597c2cc0cc2101884b205a6e2434ea56b3f17daa720f281764eda59dbdd9e 6598aab5977668a20b16fd7c0918206ade06f342ccb98ec09f081318243366a9 35b68aa9859eba7b8a1fbeda0cd78c572caf107ada73f9d43248b101fa90eb7b d76dcbca2c308d131ab7acab8585648c8ac09efb5cf6c6656926f063694ff43e 559bff8058dab3dfbf2db1e73636873254c8baa52676bfc5ff4b27ceb20a4d32 1e70a8a3aca8d16e08b078251971a8c7bfc58f5e5328bec4dc1f120f782fff0e 20316c76db8776385d5891527cb9514232645c09aae15103ba00a078ba77be5a ceffb837381cf1ee32169539a88c4efbf31b9798c10e93b74000f8f4e0c4e42a 21561bbcedddadea0e0f6f09098295f0c0825bf83733ef08683aaa750224f64b 84d0739461569af3122c0d3591b9bcce65db49019f9476e6243066549b7f6964 1fd24df2354ea6653b4e82ed66ccdb6aaea1eca8ce7aeaeb8d2d9aad7013442f 17dcbacd5688c2b5a159bdd73bd93811ea5c8111fd439e46cc7188ae7f1da631 3f19c30c3df128c7c6a62419d0f6f0a73571dbee9880601bd53c00f05469e9b1 cbc36e0c68352edfc3eca8ef93cb63f79c66a8cce65f6410c171a61bbdcf98d2 df511cfc9100be769e86bceaa327a6e457895e41e7297287046a37d5b92b5b29
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):
2026-04-09T14:22:56.275779+00:00 71308723211211570694220856638659286877910379038841 03653126411498989522043170978860712534850195926563 03887129131077696015951849596266259362957888741249 60750253095740955679091746258939860235128955893774 59837323310924435816389727975008994315947687475250 95463102577942711824706567591301460387107270020289 60644863539830407684051249458769780664681283852983 12288020235276157323145987693849199533637645707988 00838627532168154448368249140090974449013754042096 65281859918456207720577080228996919799581831790993 70565723652011546956666611209341501387467407413235 93169149255883340748368003373644122921754004037580 22907545106542968589996567309624085510513892481975 83382401602535354352930633661713011495346811707692 30266149096567351989888851909838777113976312231689 04539627172734890043415493111156395932583993359725 41164678870882703305073777369099538976649318806149 61237244505347435843175548752384378998560064769269 41915435615350465741405887399130290380670322275003 90410482720097064792749642265588995944351774209557 36970336570329341793180912988862932740016117458499 41900877903415560318484503242933686974474019540522 00172402665325433797273883257457849994475049269152 95193967973373857274221484222999539614199002830437 00575046152836545970668685049810105916161692521317 04433886536219362561968343416595369067549748319640 83433669811519923400333601252110443482224442038212 17818327522666359160974337582516655986736875372823 64555547806718182654739274728353958480191984735305 82712265493578310035714900675112590799791580478484
From the PIN diode (digits):
2026-04-09T14:25:28.675346+00:00 85807869499522338803617731279592230497236440443658 13489481492355228186288024998789624651502238326235 92929880420204289347992292981365336160283779677996 28803088657268804252852250089222926305742214956628 42149306531445882305367936118167892519793166571653 10059601915026574164350917639083232357174944775915 58578736366702985134956547351362965128688681496112 65938645715149391920224824630756848576528700094224 50877357028654983760935946328724238653266005167317 03449638450296609229143063166708555901654924273615 64856558208226975575194532412757886621435831978786 81190939130535884042899706231238779812975918594484 73140246835005528291898088343036906020326568272523 88817878172155824178257280698858006397589824408815 23506758730311869429809052208155025590322313966623 41401332741486355026485117103594082242713006351661 52979817275556244304985018827237528724728286560569 99105906396022470348363538761754024965182505264554 35839427215194129416243278056667786507632367322918 78895801527081511804621122240924320606668542925908 19243651026953823869335886233831901240874475162215 50727701442309444841192683727133330040389258929801 05389905796285552888799145775454355084866538189197 75397810775030126863726810087620372513689991974394 83409096311815204714324908183518569388458224858166 50009209708103860060208619909084555628502249576840 78275152931447836400964233862788731415110909304992 30915551080458701702367532154897865418441353458588 01730159481836480284552705003177537866015978300206 74616822414554731219684723868636948161898959561792
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.