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-09-03T06:40:52.094719+00:00 288fe3ad5aed0016a2d9f27a0070db43cfb24b7277b8c3367a21de8e8b232200 8fa23f3cdea5278a911904c5843784dd180b89579e727dac7b82e11f094106a8 1884039e0cdeafef8117777dde6c97aa7794e008e9e7d309c73b75eec97e7bd1 c91d5f1909eb3ed9e31a6e12b65de1d76a629b7384c64b6b15bb2641ee95a790 5edee9ce1e97cad9f7be47c2844924be1f6a0f114367a47dd392132775ae7fb2 43000d97f42471441368a77d83012c65c9995d3f7aa965f4d94ae7f085381a0f 801d4a32603b78c3498b5de644fbfb11f7d2a5fd4319f35003f569a63def74a1 3fc957c00266f544ba86ec4ae4418d9eb05b8947a351c24beb408c8a036b64f2 2403df58123cd1fb0eb37856226af1e7f0ba80813344ab8a76e240e0461b08d6 02e9a920bfe365e55970392bb10ce8bee5838dbd9c33c11bdb65a4227b3160e0 60f3ca7ddad2cd12a0ea6e618fd49c3db333ebacd54405cddc838c863ead3e05 0bbb5e48760f543047703692f8e6e3eb84c3ce0778846eedc50189aa1e420c77 d45f38a2da94b8e7ccde7e37f78fc2e64ee44c1e22cf32445e6fddf6c73a7d88 026668ac2ac1accd9325a04ba74e5d028b87f2ff986f220618c02bf5ce11086e 1a968c3505fa5db59d2776f6f677bd22779951137c5e22d65d1ac9ca5bcc8f35 b4ece46c5889fe83bcfae55be2c6b167f1f7db65f21f7d1cef62f0ab20e9a793 f63cd02523fd0d08d0ac16ca82c6b29a8290d698d36139db6d9baa99f16f3603 c739e85de9fb2341857e12cc88dded8c971bf28992bdb585a3323786cfbc6b8a 36e1788f37b1f3c921711d9abe33acee91c7512b090624c8ef2913db133afe09 c2d94c4bcb45c1c5b9aadf9f4cfc0df00d3e9dfcb0b402e131d61789e544efa7 bb55a8388cb0f6b050148e1b86080dc9b1a8828f953bb2bdf367bddd2a3b834f 18a8a05f3e29764bbde18bac9553c04ac913f1b45a1dc2182728560177fc0d94 e0be620dab38b7feadd75c1ee61659bb0291f5a8493893d29793270fc27a8457 7ae2c4dd1e16e8c8b6b668cd0c78e9a7f200e7990eb7c04bd08fea6e24be1b32 187d8b75df7c0023ca201367cf3aad78c83e9057ac43b225031a6fa5bec2731e 126d0b3be343a7b9799ec1e48ce918d913f72565fbf111305f62ff5c06e58435 65c3d1f09e0e4243b1e1d797084b10c1144f536110460732942f6541da2a52ae eb17eeda1b17df1714c808bc57634967b7a9dbf00f79e004b3141ec82d620b91 745296f8ff91a67f5974656068e0f0ceb0a6e7adba9f7f11de33a0fb74e1ee32 8f860d9bc355d90d11b4bfb0c3b6cc49060e316de0272f4fd8ccbae15a50b824 5614518474a155434529f72514ed9861fe073483239b1f976443d4eb434b8e56 19f134c91acf5b0144ca01794cb9aa77e1a50dafa5753de4266bdfb0fea1fd1d
From the PIN diode (hex format):
2026-09-03T06:40:24.094579+00:00 bde47a699f7d0153ba54be9ca646fb21f326acbe508573d15be13ac8f975e348 ffb72f4e4757efa2e05b39cfdba7f4406cbfaadbddb03439796f7acce91268dd e26c03d979943b281081bbb3026946c03d8dca798177f3ab9e0627eee54dc824 aecb3544049c385b4cb1e85b26e22ec05bcfe80581b456891699457e041a3a57 af69cc611386f0c3a4acc62fe9adee13a0044032aedb7a57c145a5d5b1037051 c78d8403d23995c7c81511f65da9082d53f270826dbc2fa06b47b183640000fb 0d7b7dafb70496a5779d0bc66d493dc749016c818590477d09b9303bb9a12841 07c02da4d08daba5babb12c94d18f0cd9b41d5f5f2bf387d3b826b56c604cd29 46919f4fb3fef09cd0eafdd20e915ad15b9a124e1a83aaa71f2ad90825f94672 a915f318ab42deaabc7c29a8c192dc90a0990dcfc327b7b44c0d394c00ee97ea 1ab374aff02cb982dd13c26b0fe0b72c65a5fcc22c24b49c417e3ed2c8d35482 bd6c02b2a939eddd26893104679b6f94593ea5cbb5bb60efc4dc01c6b8b8bd20 d3fbeac52acc2187e2d74f53b212e2ced3960f1fe03dee24bfe529410ee3526a 3dc48fcfaf562d250fd0dbc6e5abed969080efb537e5cd64f8a006975391a4c1 dc7e2c09ef92a9b08fc9f25bc0bb8af1eb73601de639b30f53c92a71cfb546c1 65f8c44c9c2b31c30144dabe117e57f89600c3a1ef53f8029b3fbc3327de2666 1db0fe93f0e659c8e0bc94c24e0f4d83e539ef6c80e7d2d6f4b597dfa9657269 d3eb94d16e5d74586cad1b809d6270fed75692d5d2a5883fcc2a08f2d19cecf1 a598e48452c542a262f316514eea1885f57b21de368329ea5c41776bc863cac1 06c4f0373a742252feed57f493b2f26a79b353e9746379985344e320c4549afa 1e564d614467d96539b9dfd6ff31e5210ed2a18874eb23b62b83895098af5ee9 e42e3eb101f276565b2d2db8e06999b55bea8a295706725b7178c13a3731e159 9f486b65dff0a8573c4685666a46fd0be8070d6a9c59c3f1547a883c02ece509 40fff788f173ac489ec0e55420205daa278523d507b9648844b54bb97ebc3a7c 71e9c2d246d0ddd62e2c5dc324cde3e13bfb752112604a3a9a9e20b1b801bab4 cf62c272d14ce90bd3868aad3aaf9830bd12010fc0f6c4ea1c28a5fe82c9ff31 238d83e2ac05599e4c2b256508605867713295ba9d3ccfeafb28bd73c8463215 081e54646efbe882850c0ca2188b0b8f7988fc14a052fb7d75ed2b5793694908 aa8f4b3f9caea1bfcc7d8efc941a488a4a97e4724d9d3d46300328265bd12191 8f81e02f85fee03da029e3540a070cb2004b8d9db71106621266e53f5140247e 7bb192c454d4bfb78c71d3b20667786b3a950f7a29431c076bdd5c579cdb325e a1f77ca663a341e5af79b8fd52a43bd54be97312789840e811e3df99cf5a666a
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-09-03T06:40:52.094719+00:00 40437390002262220012677875141984955422334239353400 43626360653938452504973255322411378758142572233031 09650668243203581275292319250851701948080999591726 23299525096226101882930698551532987507218738654967 44943051907194327336903106151767036425461939177427 78670013513613681904672531014401539363226901743356 26152829745096592095733993681765672580030566611661 63879202026886347465415876913771638194756440380307 00360388186014792086340686282951687138186470270802 69329101891257437712903141895651932701643423499696 25186010974356617951726805314034627362051187947218 15844871125446329507203210970137703066121995566248 84265543947876303450689411995825360202047242937247 37607567789302393552113406249243170810265040530593 81573918198934195381192494349326914353800888373188 91987703013125289871326747603735130872223098785430 44529757095570531154039957933565332618364051273746 89813363505534880738542043557733132954905172459981 43090636411919580994767569939785705976131362577680 02492337686787856856407676802042273408137768304349 59788903894259317924686095624118758939724983927419 80902994243940860119134890981371568373923022898702 45687356475147391594223287229630228282041220670053 14839275431036902750242539172400353219035873206244 87726778370326116590941530180911596767852158934024 19370117489598920632530195581466677751087516932079 83971670075048470165428274232723232008888799730383 69152104792030459811451682504566278916019604766673 86592717516016504334135595851317809176958273061449 09394779869080843686208132166185676941372052970752
From the PIN diode (digits):
2026-09-03T06:40:24.094579+00:00 89220559250183868490566670333872908033159158177283 47787187629157676408917076525721112218040803214859 40162987790205709261412129197158063977367453680456 56917677913846929105298086372253692604265887750597 19349564729847731960046450742287936965770312819941 32035749992117936908458312300988476007717731000000 13232575830450651957119809736199730108293344712509 85485985614065079245644171658687187724556591562559 30078698044170455979795614459091541878263170673142 08377014692124716670882441689346446053139539838076 13577600512679167544853019940715834401659444368056 65266284308908027869573837490403551148896265818796 96019884848932974233357983781850153161369141651482 06619643758645371598715044288155006006518345649326 44094669764391928738159629577915834213817093019676 56434995016890172687500095618302556388513938022976 47898848947815773157082881516901140548109316880873 27285798128646653663420856655232829766629822817824 33233354314192651907999306965558163482874778062179 83169921528368329684543086779768030157854933146136 16358243313780527594466277011886914545840553819138 41870614911320935855498959720701688760703302067011 07130656899584223660020964361572725892843232937039 33350785003668817585268858241394704644939536591733 18967458545832778401868098941476113438735875524889 18011592962840653049354131720589587643370108968803 13504986576040891570502108308400103033121262243911 43213620608225174387470573087043756356746191254248 26723874511477576170480340389133454329473361604184 10071278007541578317069818026381643626237746968491
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.