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-05-03T13:08:59.209361+00:00 b74f5fe2b52070bb4c1a6678bf8a37d6cdec6af6b62a7e9b9aa4754de88be622 e942881634b84c959e9cd0d66b67c817ec9d2069c1254632e95d798c6fb9fdbe 46ae5c6ed8c37cf45e8c9b61fa22a933fa858133816d516fe9654010683d1ffa 49409f141ee4979aa1f5bee0f0a1d4f457b071e1059d3cf71d773bb1e9db19bf 482f464030e6cc060db8b3c4b9a5c1ff0d51b1587c3c9d5052bc6b7e5ad0d7e4 02a8e0165532daf2dda06be55242f29814463275738d3a5021ae1affad4bc74a 34ef0a6ce6798d853e7ef370c1f21efd4b94b1950d58aa593da297752eafb941 9f9d881dc0b49fcea9ac703ec81c54e99de41bb4296f5237cc8776519bbc93f8 cf1500eff0d5cf5b0577a703e3c065242b86ec7a870475a8dc773726229afb92 00b6a4de4958d6d6bdd665863cbd4214c207e2658d4f27c3e12d7111ea73bf17 36c07ab052fbc1f1f698db360288eb5052b15fccbe75a7b79c16508fd2721cf7 0d1fb1f911cf8a0c64a58ae7dc6de518ea2c16741fa9e8134d3e07f80e767835 155b0f0b718ff8d59c3e58aa3d3fd0ed4c740e7de78c559b6ae66af059484409 c8bdd7fddb3df9a534f64a906c1bebf9e95348b5c2f58c640ab70e1440067c70 5cf44261afdca8e388cdcbb97bd2cf81ea2d9e8e90511d799a05f84684cad0b2 ef3082931901fa3c01b81e4c0afd81c9ab7fecd6920ea454e9ef9048187d1b1e 64a91414cbd0b6cc369bfa15a17da9afcd17e327212bcd5c9720ee360a71da1f 79461f700a1895ccec76bf26568438fb1083f0e60324cae871f25cc3f7053409 ee5cc31b97301f902b79e7a42f11caf17fd96dd4b10c6829529441d111f9e101 5955e7f90afedfacb60e43351c88b1e7d36a07c045c8738af33d5d75b27f8b39 cb8080541b3e3766398f6046dda14d787609a55d5d3778599b00510e498290aa b609fd9d0443ffaa6bc18809732756a01a2130bb41b340b0b1594767ece49a92 02ea2086cae7a023ead871afab9072e65dd976e73d8d4ce5a38aa4a2df8c2e90 155df1be2e3a97fa6040cd040f5c5c2f96c2cc3e6e8c758c338cf8d94088c134 0f0eadd97a693df9c6d0a13482e4300083497fdc81173441708a091b434bd89a 0475556fea6539420d0bb0da44520b043942e26f6dfd7651a177aafce6843700 7b4c1390435a7221c32c3b04e52a1c7d126c30af58bbf6537f1771260b2e325a e398041c2985379e3928905fac31fb8cd62626c12a851a9d3cbde104ac6cabd1 3d0b9e4cfaab01a87b4206dd4018ed8c0fc5d488e2297dfb460ee91e470cc04b be78b3c89c27afa01ca7825efeca8cd7b417ce3e035b2f3e49f3f995c2c644e3 7cdde8fa193f6abc1764406c8ccb2c3af60884f7c2e161a64250b8c211d592c8 8f2dfd367864d35181730eb56ed0ebaa4f0f18dc27aecebf6322b116976f44f0
From the PIN diode (hex format):
2026-05-03T12:56:00.406805+00:00 ee077ae64242deb8f31ac805fa4024282074ee567454c24c344bebe3d47e9cc3 e6b211c0b92be646978ed48fb579595a0fa65ca96e8c4d38a080dcef34e46f23 2424cd75457aab373610ccafcd2226d941f30811b7ccf0cd7922273a942222e2 40c93581bfe4c084e2220362ab4c2211b5e6b8456663e119452bffed6042deb0 4ed83dbdf94e4826c0f93f7bf247f1985a185fe3da31458a52bb39dd74fcd415 641457d8ce42be8cb8bc18150e4171605588d6c3c53a9deb5133caf64dbbe575 664ab83c9954ab1b2d57c74e37a9fc7e3b9c9661d34e37763e0c9081d7e57757 8e2affc9ef386f080e6696001a8dd64c9369b32e52193c07872524640bf7bc03 72188e233c6df735a1ab30d5185d31c2f8ad196c400185fc2485c0ba3300e8cf bf6ced0dc964363fb81fff19caa1609a7587f51faab0050b8b0655c60f5458a0 52cc5b6cd7099d6786a563691ddca5b59ca7c7637a5ad0bbd27940a454ce3818 496de4aaaa675a22135a89a14596734aa1e693512d6838ef3b86c19a0264b6ad 33ab19db3f8e48399cfafecbfe777d647e470f69da8be9a9edc300139bf5e2fc adcc7fd0278884437ac34bc10c2b9513ad74845436a14e53f14560225a296b02 b4654d9d6779f1daad948db477f334111d7439fe766b623a41a1b417cf892604 f169a4eacadb783a7016c370df48afb7bb5b722e6fad1b47da866bd50994ca58 0270dbedacf2cad6b16d1ed40022f8708419a02f6028baa1084b5ee9b40f9120 c8962d71cc6925eaa547f72de8195a3d1bf2e9a29b274c28daa7cca31f05f977 727fde10fccd9742f0c36be3d87258386ef859144efa855aa4bfb5005b54a119 02cc9b160c56b8df25d097c7195117c7928e4eee038d00a39d6d97c9115eb165 6dac711af6f5160d9c906b2413bf256d4404beff263c4f0ab8b016d033282dc2 731705c39fe9213a8a5b124fe11361c2ffe7ecd85f057cd5610dfe0c8577ac7f 5718739a74463cc7ee73efbab04cb7df3d1852e292ff32bcf009ad1a6fee133c f4de61d12eb7b1d6f4325a141baad960afda2820e8bf04f75391f884a44f778e aa4633d238f75e7ff7a3f59d46064ff894c5f2b84bcad2131f0ac0ecbd6890b8 610c9451f147a007cb374c19088a9221d84a37d149bd675a857745ed6a168e39 cd0ddbfa1e1bb3adb80dd3d7c9ccd98d9b32ae1bc7f62509d27c67c75ad70972 18eb65c8a45cfd7c3075c9897bc0936c2a9c339a303244c9a106505f512792d8 ad52b5121df2ad0ebc7176410db5f4a22d602e1551ae5a47233667c778280902 e5ca79f1ddb8c84a27c0c1faccf63c750d1563d63d9537b78b5062fa3aad25e3 0bba05a295c5e8884d2c74b253efb3a6d2d544bb6ceb00bf8a20a4c67475dbf9 6ea3b1220eccfe85fac7db83a4e56b9a8f34aa745e30935d8cfb2860ef355d4e
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-05-03T13:08:59.209361+00:00 83799581321287762602209138550682422655546417773934 66362252847649585607032357320593377050932140118590 70749210952494405597346951332951290981110164160461 31736459203051546190618776130557602919597725917247 70644806138479968565931381778824605780828807269002 68228550600782665220705017154158803374267375997452 10082141336226129330754877491388708961625117467585 65595736299280596972126228845727804111825535188155 88472100910519670392013643342235041768195538345446 00826473888901346089662094070141793995451317159123 54922276829352540236808277959017678356228043142813 31771738120065380924442216316919776207141820532191 15111343566288706163761614254085550606897268098961 65527444082783728194400010831420640624129266977568 36852329455842448129215405703278483047250160018430 76102971274614648444722425273000692020825455216125 69752339334392513254101331217031121024491891388632 56163103361392950552099295275148314443216447172709 77120441824865170189851072821467532836770607926915 38619317782739572828842762550257439670617720180965 93935520895500811473304470820957046770079336091539 86602633488765796476778971035446023234603513757144 14931861417663386462404644219390465851966404159292 47509462104017405140643693521514732205619861523048 00317327292352651238092767755404178511015766131176 68821104576611091881611970325500237619446790143395 44590442282518084875888783272313381146509052042841 33555857404495724940383893423326576089047208716111 58767101682366066424401597364125701430711292759020 79563975602867309440802362039147627349949868242563
From the PIN diode (digits):
2026-05-03T12:56:00.406805+00:00 07226666842605643640321686168494765275265695781792 85437051424381218990156692691040775660285211353636 17692271555416753438650817832134395848343464532991 92323403987176341781846902992569439666767861897872 38926323715290249549693882875716210020876690408488 24211465139685369597585781517787170274846053847127 45879978556926595650977855186212442919874242561108 14025000264176470579468225600735373600118803142442 35600953617148249349947325086401333633928651009108 13005463843125619654173531707605113906859815848860 82910809570334659905296581566799992290872164648456 24730970700390341990376169501574614781450456593493 54020082735171256342725756192500267115053969950019 55732739363267229575931243491973163284546178836996 34904107028001775703217348418019521729165718079858 65618023373804056420581222951272758387911446117327 71340709488802127277093000341232256047964086610875 94801545325045130537657145259061276255397640676331 05191427165166950714885610892078339064918100918461 25025522128684375199258123994642780341006357095117 94770109721326221356440736199137096804903860791084 76225140459415230595593358389118791997949505249713 12331972278724155416706099158676768361248246508809 73261119609746837750902027709675403291048345326479 19427070515694276357700679489784751931109289044484 97124881716007557625083846337455738903903319690622 42571330277973841341555074279937092403999009142401 64922448173723924708425651544850686106809581394673 82811829731488131865138162459646218174907135540399 20400902218474399293601713219961495583398098587337
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.