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-20T00:46:18.358827+00:00 b6cc9ced398c28c239b741f96a7bfc523c9d63745b18eb3a3626cfa90ed25106 8a402edba80f7a24f6a01f155cb14c9eada7c2f236461ba9293b61c7ddc959be 420ccfdb98db44f3af6e6ca718b6c7e4004a2b663052cd9dfa263bf59cb9e2a4 b444bfdd8cb31542bac828e2f9aa30194122dcb6ad57f27d459b7314fd449219 5437be70420e8171adef1c1e70a9ef50b33e1ab872ac7e1963bb14775bb3e969 de5977878e114328731434b98fd89fa7e1fca41596474cd79d069e024909530f 38282ef2a2173ed4ff44d4d239d4a0c9d933319787854f5f046a396ce56a2848 3f9c922787659663eb745ffed6e256de22c37362f77f69508702787f1b23dc34 05a56edfc3c035db81b97b10bb3fc82bbe3b29ec60d871e93ac4718e434bfa96 2a543189149de125abe7c4ec49bdf815229314e63541c3b2d8ab33c8c06c2be8 7b7c075380f8e9bb8d2758b16c6228556dbe4bee02d907ddfd720b2340265fce 9bf6e02f3ced364d9d9bd8b868fa686ed611634ba88103c4c6a9a02f70e6ee2f ee91e89a6e0a21beb1de43580ce728d3e1abc4a91e41fbfd622f93e88276a701 47a744b30cda2c4b65a435a448d78289fd082468b65f28d0e1c6ab99db41c9c3 145bec2b4297cd36a00d87ccf5dfe4ccdfaaa03103ff0fc2c86c295a36f78438 ff691ae5212af8d61e4a445d6903e8e906c938d2a41d047f9f1873317b8bba3b ae4bd0c9f46748dac8d4b936c109cfafc582d66f6d5f4c2360e1324f8fa182df d9d6823163f714eae61f672ecfd980332daf50e12bee82ab1c1c8496de0f8fdf 79046e458ea2dcfdd07c1914b9f7306231f1985c8c1d949b311e6918b4c1dacd 5275f3b3d8fa37efb2eb2303820e1988b8a0fb1af9c2ff7d98b29af7cb928e3f 5359d333b62254cde0ed3dcec2526e03bdfee24aa9027c2eaed78de6ebd19501 918f2bdc0b997c60b8a0e3ee1dc3ae1c2765967d1c908fe400d0f8d18158f8d7 ff4acf4859fefc51c6c6affdf63c155f9e8e0594e333518ef31eec744b66bdea 400ee7b792e219b72bec765bc5e05c6446d0aaa364960611eff13a647a580706 e351e0aa35a097aa8255800a819cfb1375797c70f23ff741628a4c321454fd59 c3c8802cc537bf025a15e59b8a855560df1ad6685936d785da7f2f84872f9cfd f20c3b4e09715dabaaaabbad1ec39f09359cbe91761ed14c5db9bcfcfb39ec60 aeb6c12496c36239835107f94da71fd0c58fa5189520d55cf48c28e796cecddf 57d576c7d18a340ab8bca2af5ef439b0a28ffb62d1f4d0ebf7308514e612b7eb 2deca52161089696a7d2f095005766ba7f6885e3f9fe98d68075dc92b6d33d80 cc5a9561fbc6f19ce7f6296ba600b14e83bf053311e606c4feb896934d13754a 0bda9c0200b7ef3a2ce881ba88234373c6dac4b664b86803529a3e9b1d86c8cc
From the PIN diode (hex format):
2026-05-20T00:43:07.159637+00:00 ddae49ba52a25d374bbac637a02e2c5ec4b3fd14cebe595dc09a0c119dae3f06 b26b465a2fc7ff76054cc208f4053ecf0b6667a2e94be8ca11168f65255ae1a8 878a544a1cf1b107b5152f45989f054423ce916c8d51ac21e7661d235a6b2bdc a773967ccceb4d2029dbb6cf0f0c6a17a4c9a511861320828e2a58ba9e6b6ec8 d0945ebb3621b4bdc363488a62a39b0eff74ef3fe8043df549a765dfed310df6 c55168e0888deb92f600ed84624a335a2dbf619ce88e58e1e9ba21443a0770fe 5b0061f42ff1f8ca9253929dc6f51f8fa3183e797aade7c2195b99b06edc2007 7f0938c448fd9680eaae48802e2f41c795d459865c1bd7602e3af48bf543766c 74f15043052e00b8cb946f356cb81e8209d05bfe5dc743f4595b3e6d1070b2d8 ec0b7e7bcd755b763a3bbf084e0dbe0997b6f11a73e4a7d8cfce146aa0d327b5 12fa1c40fc29527983e0c7a331640e3197cbfe89d6f29000eb054a58f0a9a77c bc78c717194d3eed712ee693ae0c423917eda302b085cad25987afc98cc8b3eb 6006e96e93674fd5f16c4282363bc6142c69b3e8a789edf10d04e66be20aa234 30feb0ce59591d35bd59ecd477163eac4cec673ddb9f8954839008cb45e08ead 854c81db7b6420fc8858f91ade4b44a5bb5b4544daf8f18a788650cd22c5d8a2 644936df769e810556da8cf597d73352fe53d18c0fec0b2ca74325c31942c963 e9c3c57b43e0a023137606ced65119aaf382da6210d544598b71e46249747793 f8a3cac0ee78a735a7c5bdb94620b06c6791e3a2b96b6a069d4f4c9e5a6cf085 7451bed4d7a429756385f31a0b87b16908d3176844caa4d1f48cd140380c6cbd 116a779021f4ebcc48fa730414343aa0b96e6dc10a73ed7f13bc7e7516853462 ae9780ec9ff1fdc83f85bd64296c48a2d0b9dc6ebd0a33ca06dc68803115f95e bef0bea3455a04ff89c98f09e6f1262020fe4bae7b545bc83120287dc5499080 6defb2bb27b04d3956304a12f1622428ee3cef72480d30042e88298408ffffc7 08942dfc1de3dcc63185829066ba5954103694d5b2419396d2151698a512e47d 38b988745ead4ddb9e337d51ae580cea2f7370ea0dd345d8dfdd6b5d186c0a90 0750d5201e7af069f1d4d008313e64cddb97e544aa0c67a91cd6aa9d8d30d064 5902e73a90df4eb77383b1973bf6137d8c5f07118a33835a47cec92753eb461d 78e9bd7833b16d1e01f39e3b6c91db1b22177b58155f893e87fce31c604357b7 a1c6a4104d76bf24bdc86bdf0cdc2dcda678de5d062f4eb3c2aeae541a5a39aa 1915f379190f453faa3ee9ff8dc540ac5a68a1815dcec53eb7830191a70b0d15 76b693b57a9f97c659fa14519591bc59ab940904e45503eb12f3d1d420fcd342 de6fa23e69c319e48cd77e12f7683537a0e33bc8956f9f910a5772ef004a1c54
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-20T00:46:18.358827+00:00 82565740409457836506238260579916912458543869148106 38644668152236603121927776587367945470276941599799 89906612526875100867248299007443024882573859568564 80689140792166864070482565348273872569551520684625 84559012661429137328301269807962268414722625998720 19917905891935421767401520528543596764215071765706 58027309831556404662236268576051495135337995040657 08064072635646393501509916958634951598270580350220 27273552056510959253298523168763439059419613589613 42677550428449372057377196738921344720536595787151 92084323240783288741398877089840850990750207141135 64389555476054775755840404101799756829039698696047 12474554101033907767881240719669306598474730186701 71676879124475016453647230370836048295409871536595 20914366515460133570604903159408419054325605263342 30746893050306566429042759241549233986597475037285 54930975973011099576359650794361303049992031034628 51457580433071282832501543210410694262242520854898 49529240294855493005248093821779557835033014253684 60269425527854464263838951823484619482100389746902 24467441490145434311532496846029957428390150252844 43002988747289819898756021955842054851814230167502 89641483462583431891979200707063005006175800228807 06817053605170308528102956191721241263659838765020 84899528449755910290215538338596260489543327473235 47561259780913937170708773309559095356904518307693 85885796748293365095985731810777673197436524493292 40405087189938521084886275945776624398483320188345 65339708505067490087028627043352281746826128904997 98564107660077783191055117069684504777191774115602
From the PIN diode (digits):
2026-05-20T00:43:07.159637+00:00 74738682629355758698556046449496792090899392541217 57746306780770904799180576940805621102036275172243 01379068353884742877078121476952590568354508418172 33022935900743671550247732418215120623646517341932 30424288865807104894875433808995997238986355141663 04617367014913978104364146003298745190459197564288 86336858071291009747468346579831436324622122739425 91537610320727095696725028747228464765994989349227 96465839671808168067054600844811530884303009919399 67899162091612781126231791185859910878139009518226 15672006603981182864418221319963490014495137440005 74886967248820992325776213464774126657236302763389 35754079960610470379086630545998204405796737130407 10625248768989295389891922627276036159378431440869 42733376292300323688267568658791696838203480349762 00735418582905864051518283401511446767379525669995 97236760351918068125703098166889391398731619476392 20675367978985703276080345628507060657797658900833 16819064411799332611357705082304686440645612088917 06194433721504205258608510099310152719882617223352 98745128596333890041087262851089105106042849219490 90636990043743093832327574238491493240259773442809 78873976775786487418983640601472134804463641320899 08484529984933304402868984165448786547502122526518 25568536169473775851258174881247151213690793240810 44078032302205084962005168701203692870574148008902 58447883153177515919254095071738513190713983702920 89205177093001585908452734232388219537623528966787 83619864167718913689071245662093064778799474748426 90577025212125156963706241976472900461299397628331
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.