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-06-18T19:08:09.567478+00:00 c9308fb3a48406e88bf4bd79f063752268e69a5252570347788cc125519d6315 e9d5f4f3d368b2097f3520e9b573a0d74fdfae827f97d14ca12d7db2d13f1a54 0e8f396aec1f37b942d9b1767fcbbaba064a4ce65828469f3b6551ac8b62383e f59ba01cd62e4b6c2bd6154ebcd44e388aee834d6c8098d60b432a58c055adf8 683ba4b91c1cc63243801521eef576b675d9fd14d67c2df7951440730609061b 884090f38d4390c2b745a15442f995a927dfc17be9a10e833bc86506e8323142 27fe02804f69251874a4b0523552999d81ac0bcd888d77e9596313bc9b1fea34 7450a70ca92fa75c805926fe7fcb2c3b427e511ff2802ef763e7a94d1e2b63de 7edacbfb3e9e7195c7e4ec7821601fb600f408965a05fd10b122936920cf206f 1f530f4e70b6c0daab5472631c1b29a6c317d06eaa596320b360b67cc97ec105 b43c0b955e8be79e1a78b9ecb50018b13d6c341b9e2e4173a9487bb2cff96a9e 3d866c6402587ad1ae0dbbc606c3a2090a18dbca9136c9a2c2097634544a6a00 f8d315aa18a3a05abc4bfb359880fdd4f8dcbc196ee634e4298bd5d27994600e b4e4ca116cadec885cce4c3f8ef8ab77dc6c19e018cf25ad009377585d4159be 76af2653d9fa5ec198532ecb949da15d6b651e355f91816ffd21650201bf5e27 a0c0d5a4e7085850c18381256be6aacdc6d91237b298738caff778ea291220bd dac22c667a1a55949b2d83482f00b15c469d908929b70a38129dd7d3286b866d 13aa2689c605a5812057c17dfe66939cd62f26a31cb942a03556a2fd070891e8 d1f90457560430f291b4565d233549ae380d0a353fd13eaa46c2491538322da3 97111314a1d5ebf0fc3ae761d753715b96094ede5c844754b57f737cbf4b24c5 f38ec160cebcfea5e4299724923a1c870c411a4ad5db747872c381a05dae8998 fcb5deb4789f59c528e7c037752ea74ed0f4306ab82b91a46f24bb9a520416be 61afcb518f7bf8af6ba748ea18fc815251c852f6ab6aac247d163894e9c376ae 1e3041b985f5fa7c3293cc4b297cb65324e29f78bd7c43a4971942b34973bd1f 04418439fb873434f6df51a48d02791f6f5b519e3ea365a0dafde18eed2ca1b9 505f19d20d77e75cd04d2eb3b7421ae8986fa22e5490e1604cd26ecc46ef937d f8e6d96f667cd811ac3adf9ee7229a004b0f17893e9e7adfaf276dc7342a6983 ca2fbb68fee549c105dc79b5a4a6a81b83cb55d9a7ba72c280811c10524ad7d6 dd567476c5b51b6c50c2165b7b3e2c5bae7c4ea7e5bda9ba48bfe4e084672d46 b16efd0a90871ce629140d9b4db741265dd94d50991d58cd5f46f78d0e150028 c53a3ebdec795ceeabb04529cc0aadb559873574f8256d43202c47b914118ca3 a3a251875d87b7a74dd6cf2aa88011999a8bdb60c4306093d387ae237419517a
From the PIN diode (hex format):
2026-06-18T18:58:58.365765+00:00 d3e2c91693c84e73cc0d52a4c00d2e393a854e645a441376f2cbb87b33184bfb fef7d88424bf079721909f9a1dbe6b6412022a4aafa190d4d7b24d60244e8f9f 0822b26f245fc4baccdabb4d7de41fdef31271d80fc0be8f603b9a3d6effe1f4 f9b03496c3a7c3944ab13ebe97f35d73fde2a6ba7e7e25213edcdd11316d4b06 95806a1ccfa7d6b881676a99b9dfd2d64dfe464515da8da0d38cbcd09bcd9e5a 4267c615365a43c62a3cf216863f6f2f8398fd50a498cc8904a6355b60240bfc 94347a25c96b845aa0123ada0af020a78dfc427ef29f2d03fde7e05ede39daa7 fddcc85e750d9a0618d75ce7c445cd34ddaa380b7d8dbb12aee26d1fbf48c1a2 b635d66036f6832e8d4ab1cdba9aea9a6ac28ddbe953079995bec6d86e840d21 899c37896b83149881e76c77eb8e5a7cc7a1cf5635b1459bf9f371fb23d7161c 3fcee10bc4cd4e5a4e8e36126a99e37e2e7485137bb860ca5d35ec662c55556c 4fe6ba627211a882d04ad98acf1b7dc15013d8dccaf6d38f35fc116e24fee89f 93f666ef035075178f3c7f9408b63bece7c474a7c187b1338aa83176e2ba4490 0cc5aca1521874384028fade9441d11bdc9edfc5cb5429a7bedaf08f4ba3207a 4b94a877fc9e96aeda28b1163c2f379b2385849d3e9eb576b33bf9e43352a769 c2994659d07e25eb59784e40626d3661b059137bb32e3cda45fab999278a637e a37bc09e49b625ff591910f22e349ed16fed52b0e0549212932db0e46efc1457 07c0da8cae7572e6706faf2c82f45eaf80135b349211c8889375e656737df5dc 51d8f445157bfbd342a55decb752523338965a6823831f2781db1ee67038a055 a8256c55cfcfa07a793a6f4a25e8da2ba3b81cb745f54f12362c8a541c7c0074 68e3c5397ef49021872c7f2ec945217de7b777dea235fc533ea71e0bab3f1159 39aae217b1d02ec0003cea3a52ea8b202b7df25743f2e7e6d39a5a98179fa195 fcb911e55df1a4af8751a3583b539ad7dc3c6a42d824c14984e199b0da4b90d9 ea103045db81eeef0ef9b8cc8e730fe36b2047377c2d8797b1b06d8459630501 2aff2f4faafb638b22ab15135e288e8a5259a146bd93e32fed47027fcf56b3e3 ea5fe9c4cfcab7fc5024914ab2243bcae93b8c15f2a100aa26ac131b6a7d778a c2eccb11200424826ca0e9cb47f03d237e7fd189fbe1725565e1cd97f0737c5c 38274e31021eb55567aa81a48f493d7624fd8258c0a99f1bdd8c4732c98ba52a 1d113f38b139b51d6da0b3e0712c68b1820399f0f6fb95236fa5cb4ee52901fd 63d21710ee6a28e3dea3a18c9137a3f855507c77f845680f35d1f3dc0970f1df 6c590ea74e7179c7cd5b2ce99c3d50ca6b132c950dd5cc10b788eb32b6dd9617 1828d9c0a69913afec6ad9fae04838171fbf6433b627d70239e6845bc0106f78
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-06-18T19:08:09.567478+00:00 48437964320639892199173404548282870371204093378157 99210478092753328115607974302751766145257863268414 43570631558566771827868606747688407059590181723998 56625560284675084321788878563831770828521167428892 85730459648528289850672821331882172024454920641506 09062736644441674494836961846649693993236114315901 06504966390228790537241664768253825357297211364119 89991988553152168067126947679228893827445966268131 28469969773043992662581349992033963182000850900516 77344705323211318315781282927184149928274166952310 70899932799682242693058060114994395826208581002477 61085227584665156972237806586134080002882274138798 06956209102445546294091852847406002170246360908875 53522888251052413921489614801708733692766342711908 25243773004719889365899018753883949352834648576193 07013053954529113301020191943960926408888093312937 07709818557852154075204118328994440222268548554531 72470077927057443741831056185740073409197038379805 65293287932502475647386328856660538662070845048786 04484580869335537374561310536362707094732156504563 51171920615897831391500978923271848127152491753697 42939688654151364658283512652674162014952960937437 52818020598997409255174667784806844345641136875482 04229097758143237507677224298281827106723625225648 95187430486585332450477541248283365920892467645125 66797315893104653257355252816441022131119181586263 01604244618580952513199277467983662652116246844496 76107047251102241772585834540075152337625822753909 99524205314787047393052181646668273185678614942829 28168274861618978127088094229123624491742478678969
From the PIN diode (digits):
2026-06-18T18:58:58.365765+00:00 22477815138264921346575833780090681918842351247532 36910751334459542990070018024274756144787796367843 59083478113695968687772531181315929043965954611076 52509567954874776290519315668626263733621749097506 49280628678429030653857770692141604088555890660398 21549067984260223463114731528064523704665391963611 48522237073290601858103267416626594503945767941713 54062492966952705611254187187409319172936282539654 31464174778654540694418307534990981032133337565537 07312052290819429024996186537769551335222863119678 90784254180653264616331923849693530244858508798698 14176830743827259380194353171036594702038017234360 27480882599616679335775138684918866844129772618224 16566440486527589784416790437563322275486819585074 40772260475555353332576258811879595182670594537089 26378920786498095497768919237946606985533938992663 23925873823789251646525811827684461847457610208707 92407417141211754430947528199152461736471786152581 69212366659383828251565090043531313929301256608568 37088560222158117437436384288369791854443884282400 16049757264433354427466933258319625383626730117163 17895770237746920060588239324325876754905223596149 85179364753581638859835460066636937332537675441648 69291484421515073271552445355177760932899905014247 79709939347121199440423882896170894747710227867995 96838036457478365959402161007038721927062519389417 32043630086071613526273714850151152492563978490230 81850370296443736118363088926959274071503965422917 63567757812909607913440477300353493511657841019923 16064063614045556385802419690415530912088914677813
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.