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-10-08T10:58:26.542070+00:00 8bbdbcfdd03175143b1804c586a1295834b0deb7818c392291926707878a3415 d9070d7a974ba627e872602eac61c8d295a158bee101fac11d43849c1a6935de 528112b04d821be1e46671998a060dd7f02914e7e551a8c76e5ac545fbaff016 ee955b146419c7ea021f2f5be9c5babf217eecc3bc449a41952d04fccc4ae838 fe2a9fb17bf68763bb34b01107e9dc6bb847b988452ca8fd3a7b03e7ddfd1cf1 e4a90f6d044c14fe21bd8ac238d0c659d4c77ae63b61acd67efbc0f13e9a2e33 79a974f80b3dc76a573868e374e57b8e2321e0e6bdb5c534a40ec761460a2eab 6ff2e0653df429e5d278277c0c6561ba49228083dee77b3abe9c6e276dc54ebe 2e6420a7b9846d0422836ea0f31b626c29294eded69b5c29eadc7ab774367471 b41be9a17baacb69eddd2ae4bb01c4fad6ac8be983bf80d3b00c0416f4011bc1 a175ecb55832a291594a0f89b332433c4a5f48c19e2cb139e355601c915f6b3d 9926ee752016ea16f2e9199966b60db79127548fec8e8fc69f310def3786bcf0 5d5678941234fbfe68bf5da8e326e018064cab54a9f867420772cd045a90520c 622a59f96c31a68fb7509bb4bffb184fe5d7ba90325def539254e8f25c241661 c22e588d3662b8f65fa13e2aadb8438cc23134afbd2d7ab96f7122709441036b 13d558e42c6b131ca0a8c3fd2974f9017f576c6d724b2f75ceb444c64ce3d2a9 8eb3aba33a3fe43bcdf816de9918223050d00f303d611e91c98adc90566f4b60 f8bbdc87cc481ea161aa0b82406ea3b06a34799fcf568b0f3f6ab8e31742a555 186bbff28522e96cc619ca415864b10fd08a0fe754741e060554b32d1069ee29 3a6a89730c5a187b862ca351d7822cb291af7242a3f634db803d13a6093be244 29286e0ca336fafdad2a12ac6fe6d0467c2d709e8cd8da90347233214dfaf317 519c2f979671d997c77fe314f49f1c618ab8a5461ca45b1ead320d352ed0089b c1f5af9ba2d208d522532026a643fd51737da23a61e98c2f9c5d009273b10d25 52d1ee3abefb0f6b842a59aaa1dbcfb9aaf76468c9976dfed2f0ccc0846e9a7a 181a3043bb0ad6744054c6b1ac0516735fd8d2c9be9fd7bbb9b8558b9565dc5c aed77168e4417e6369c95efc7e905ab012a78f32b663dcdebc3f256e6bed6eff 7aa1a7d4aeb29f0868e31144e18e8a4489ff068992c3b442bd558e66ed6f461c a0e951dbe6ada564c2d8c24c9e31c38f9d5fa16a584ff087bb431d04ef4a5087 4a0c05f4b297b37fe8281551e8ecf5c0eb7bc40fe02908b46aee55bd6f1909f1 7a81216a833d1e2c5ae9616bed8dc81027b506e6ec42ace00701e2a660a4e63a 5d558953609172bd294b9713871b01d9d871b07bde17a081ba9fc9c527045afc 26229bc02394462c19614dcf35c637fb3fe25f4c446b9e98db11718a474de474
From the PIN diode (hex format):
2026-10-08T10:58:07.742938+00:00 3f9815ea140f6bd5f433a86eef1225ec68a61d4da646a83ed1f3657ec93f3f80 9a557959e667d4e1c4ec0126e3de9621a63241dc028f3e2ece624a78d07d5a38 25425eabcf48d69dd0006302ebd80f3391b00ebb40170568fd92cfe217f1f493 0c596293c5eac4b268047dac379ae938d3e7ce0f7d49e7015c65aa575cb21b97 71df77f848f82cc13fe33be048a71624622d5079a30f6f07ffabf8d32560c016 7a7685982ad0d2426c90ceccd0e7753786ee9ac108a5d6e3f219598823a572b5 e2b714caf18a23720cfe7fa21dcbf45fd5f666cf6983fbf6bf0ed6344af15735 d8ba600b9e4415213d90daef53a900ececf81ba7d7998d371b203f5ecee6cfc5 e22c7cae4a56eeffdc1188adeeee5886552fa724fe8a9e508f8fbbcdcfc75fca b75b644d462f640ca2e3c6c529971c422f77e30451d28a695d52cde438e0fc5b 4add50e26bc312a8615e8c270755bad2b961b70b4cb208296bff8e6ba202402f 40c49d5188481b36e947d3c7b7c736c6651076b568954e9ba1142d258be02299 675154ab1efa771584b6a296d5c2728e99380de2bab39543d874b134ebfa926c 36b4e306b0c8b5116701edafec8a7508cf7a7194f21192bc55c4f2312b7261a5 af2716fd55b21b7479d1264f2a75715c2cc05b74a6f3c60f527b4dbfd641bac9 8a800a4677561428e7edcd5afeaad2fb1f4a12623a6d77224b004c5bc113f24c f2ec6409211c1c01bb1e8eb1225e0d8f9356d9b2a6766d0ac25dd85353f82c08 b313c489ff7eb0140da6301dabf03310eb5559882294f31eed225c841e4674af ea414390502a7e1c261c8056e6a991939fd3d81bd76ca691987dfe4443308799 fe365e52fcb2e009306cd04f574a09478addfa161459c0e7a5b253ad2399b24a 4e61827d65300838cf69a420c6b326281256e5b46060644e6b2b245d10591ccc 7006c1efd20fed136c3212ed6c6ee09ba7bb05d10d14ad325d551d871fb2f4e6 afb1408df66b6d8e4e1c0da96dd4b6eb06854b109c29ffffe16454bbffcd21b8 af60a71d6465933c2565f8d337ad1ae94faa6528430399ec300d4c70476e2f39 71fc8e03fa26396ab9d249359b37da7b399f8b7ed12969ee369a6d83784fdbfc 6c2b8c9153366ab3607d1eb81d52ad6486da33a0261edc867ebf3bc39624aab0 799067c64c5df4e6ffe5b8718c09fee38c29f5a1c65908d52a41ce60d12d87b5 0f03bd8b8fbc91e9b80aead94ba9011eeb5568d3a9d573c4c93c337dc40e32e8 8625f1e959026b167f73f60e4ba6467c3290ef3cb7c71a1161ae7e4793b231a9 858cc268a49688e2c0f147502af0bc81fa4f027ca1ec80b1ec3623ef83f022b7 dbf8f8d8967be65280d8d1ffba700ce9ba2166cd309e66533a361d4ab0700974 7f5b9830346c0e85e3ff5fa05b62d8dc1ca5951a253720327c477a41da6e04f1
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-10-08T10:58:26.542070+00:00 39898849172059240497346141885276832940573445460307 35385221071322517566391496467297496188900193296732 56260553822918767730270213533806134120816899109097 69752249912000259902314791978691332695886854654945 04745642597723359987527617070784718536694468582303 28691509047620338938945698899922599772269262544651 21691611619906875604162342353389819752641499977010 46711101614120392412019786733428312358905610390997 78904600326785320904343110602798084141785592412283 16541613802761237005428701967239319128761204220127 93611781885062458974153779506760749572935844775785 96284595076153381732222225530282138345398443424398 59491355348893862048185204919368382406767184690366 07140490448212984289084966438380558091247986445093 83468492362297944688415498849561624273846740944952 75894522851113341248650307198844071928606895411601 27870809147547178068987669427971635863592253243448 80154861973045384486117596873572306197701130641063 76065221598639156306842366658524079133340898256588 00771538158416300605847945160541580637151290242334 44638130447845751466635228611966095968414010126354 73421872117024451258404452145133772381564751501351 99272059289738846570286491307350135346085593755562 08348332386667811525625897404756930046157713378258 90150732428970618570000451099232105422242648678710 16648498777205221595905987858485394901927413046526 99059426449076186743508299886337100710226167747859 08041768423868370637469580668985420211702860817365 00949476584995435795610688793587672904748035741205 78517927402181922396154108800685891125092229330631
From the PIN diode (digits):
2026-10-08T10:58:07.742938+00:00 63522120150751681018370466297766706862012663632854 85218903960138503366506502436246987420259056376694 71725700990215514576148764230504462347128998479796 78040425725554561525730192017087927827511319724493 63597267223698458021631511077137969222221833524266 08441755345493086525893635651481832038351412276229 95020531911452748753869611586821336144836900276753 41552732639497442474748617367388348547673638588043 43879995839100777047001262989741512866471904813805 93825691748007951868979440390785868597831176780841 07420762026447649657813672275471998399549801161881 04497855612045373934530381847130192132826250941442 53561386794967167752460854800676811703017538170822 13481746888596494314976575392285782716213879421713 92449291166698158223779165863828107019862040907031 74189858091934750076919319760009332828018730427734 94134347867866180910949383834408791996372676201366 48297151168589363448303492323070167565674480422628 38282886694547592708664552256867483553549482780948 08798774097138222089926578837335537874789730250148 08560564329879384018868096960078074336931689281206 93151908501808105567870513207350938529353178757764 41070942782813690982063375165641008487338475966729 00014760370155732679700140670353481376127110475713 42033857068573535555235759392641055454093120790843 40458354067996253084298273003451603830342691599550 36707621440398769384134009404161988908426596453581 15038939438845841075690130850469159660512596145034 37890207222715147566702450446083992617977426714778 49693340940464503692718042882979022461287754353134
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.