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):
2025-03-30T18:02:51.294001+00:00 75891c2f9c90024a2f92dbc8b68f61704fc2b0a12d9842223d982e9ba28f1f40 9a5a5855e60d1e66627656430b25b521a6923f9374ca6d9dfd5b19faa621b6ef 3e7caf27564ce8cff20b508a5eafb5c60d6487eadaa4d7d4315de2d9f2749d10 c33f4677ae0eece313ab18cb0d833cb17b0e50ffb3aa46a074a5eafe47dabd3c 5f73946169d5c7fa0c296ce1aeae420e53c5a279b512e37a1effa1313d4d0a6c 9cef2ce64f912072e30606778dcf169fc07b90d5518731db134deca4b77e14e2 13b7b84990af8d49b366c8f73d58d7405f270521ea6dc38f21d35222f60bf9be 4372d021de53d3a0083f74875011883b943b05092e56738d6f251f695e4d9bc8 59ae5ff6afeffc679fb3c15c5ac028f7277b4910b846d7f2085804debcf15803 5f225c84f435354ee27bf4ae6d173d7d27dd30f92a2de3058cc4b2a5262a923c 9b0c62accb538aad416aaba83784557961f6db10e76ab9633e3b1113d6e2f463 adaff1fe925e4e498da630dee2b2af1a966137c8e5eac6d0a75e16cc481dd5a4 7fb81547290927552a58fc31b31149b8eebfcc1916347c9b55ce4ecd03a4738c 2ddb34ce3c384787153d8acf38512aa4dbc5ed46a0650b08ee67b5c1b05594c7 51ef9a18e9256f5651032ee70de145c421c945bf529aa391116586929b049793 896a6824668be9da9673ddda371fec2fd4194956c9a944636d59e54e7ff23e72 9555d48797b88e077857a354e8a7aded83faee481ff1a40a1dcd2172fbfb07e1 e66bc3dfe464f936d41295751b0a325373f225af000d09e961e93eedbb49e712 ec7d5248e431afd8c686b3631eb8bcee6dc31382445ea13ce1345e6788881e11 f9e664a3f36ad2df046ca87a3e30c54b272f054cd1608a95c46b893f4777d7fd ef6bcfa05dc438bcb8c624547f3355eb63b3786183c7d447b6de765b62f0a69c 2908e85bfdbc95d290a79daf288acf3e83e5e1db97ac19595f40d0d2f0b047f8 2c0e1b8d5654c0bfd65011b66828ec4f30db85c34baf0b3cf9057bc58238027e 931923d9ed5b7e54d8a197d7044fde342718e193a8c187b351bc8e980c7101ce 4249bf9c2dc77e60d0c98a0c40064fc8947722e4af5533d68809fed71b9d15cd 6b9f8adc028596b05677ba923549d8f7563cd64efe3264e79ef403c7e49df145 b7a03bdc2d5252ca27163757be9334c191b876bc52a3314ebf0cb0cff5661f58 0c1e4546bd435ad373c62ebeed4e5806fd4efffa4bd604e51bcafedf415a804b 8cfb09c669eb633db93c70d846a1659001fe1a3cb2e57b70f4d895ace161a9ed 337c5d7f0a79f277354aab9555097ae9cfae6938d52252b3f975675c952a2b97 781974b351476f3f344ec557cf7eff98b29da2067c9c164aab91a133b6329af5 3b0eb8150fb8513cd4b686b9e07d1d7aeb72177ac70c7441f458c80b4fcfed50
From the PIN diode (hex format):
2025-03-30T17:59:32.693762+00:00 491c138586c31f0f79497e5e06553f25a4d799c2838c845310c23452ea17dff2 11f36ce26e61e4f2a66463d1e5a5f80d5385040d49f45fa53b7ae1fdab8a1fd5 1cd6c09394a92783e9f13f36552bdbad5fc3ac8d0fb1d90e4612ec49270ef6d3 93b326348113e4c7257d9bce678f88bae21bd79cf73e933ce72276ded876e80b 6bb97c8541cbafafd0f7c9f81aeca5b025f76ae4e7b14543e4e5ea6ef8bf8d5b d447cbfaa3fa73fe15077b35099983684fa50fa43fb07019ca5a068a609b256a 3685a79a206a89202d57dc8b53fef756fb53bccc8a30427721b4a8dd3e00d55e 1696ecaef7a38036100b7d46d9cc9e339bda902347447b9ff2f8157925fcbdc3 8aa979a1ac2bbfb83fddcae58cb01a14ff950d758de97c4103c04d3b914863d1 86419d68b1b4c1cfd4f901b741f322b5be09934f1ebce3d8d61bb7a072c88a21 2784d326eab63b330f52710973f962aa5344befa4ebf6be3095aa3cd666502b2 8eb7f865f5ca881ecbafc294f5d092ef82be234e1c8214225e68731af215474d 265fc86f438b2fc40b60dcf4e0c0a115aa23574618798791628e24bd462cf7d5 9d86070e3cdb8b63df4a22bcceb271ae2bcc21960f9ef55611993efe9b8e0f2e a64a13a988dd02bf63f75e9c3c470d5333b53a9dc85f2f2ec8deba2ca54d680e a5a588bcce4294fa9c9f65846cbbe5c713f54d78e2e818137d48ffd46a6f0ca5 6c01d4b27e10c24bae454c8e689361935a64695e5a3eff11d05acb25d83eb259 9792d0c135b1b4bc674c78dab7ba5f696de7c3bff53e4949bf6cb843fc33007f dd8b0cda6e17797b2a5834af7f7ac3965d72b340edf7b1cd1cae1dc26b3fcaf3 5e1cdbf4cecaa148fa96c98854fa66cd4f45848828e254e657e65b791ed380eb 0ccc2bbfb3fd6344c55e8975ce5b5278c75b0898715280a515715aeb9ed56c2a 614849f9e310fb4de929b5822fd8e289d18a14c7acd16b6874460c104cd63a77 4ba60491ba954ce13fc91ba2745049688c4fd3b4c6425393f687a99d9004d05c e6e16732f8dd216f0f2ce0ea0ce17bc3e0b02bff9235e8f4ebe8241a511f911b c6534d320141683424a71056efde61c494a9fb40d915a08f101d65b58a4176b6 df7d862b6471c84fccc94b1c36bbcd175980ebf540f59b4fea8ef12c5016c57f 3a96b5113a697f1f9603258d2ed72df8c63f8a79461f80726fa30eed9a21af82 356464f022a4ce4b269768a9a448c0a470361c99c77b44da55314f022d9f183e 1cee434cc51d71ea5eedb339acd19d148e56b2c6fdafbc2f9e00f78dd5148c1d f955ffa384fc241dd89670551a9f86553bcbff1d30c7babb2af2fbd1dd3010e0 a478e64f11d83332787b2d0b09f804afec9d409b488da87a377d9528f11f6860 244b67e0e236db71681211f95fecb23072c1f1e62f73642f1e397198f8b5e2fc
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):
2025-03-30T18:02:51.294001+00:00 17372847564402744746824397127994766145526634615246 55624331645490888513300298188667113781336646634716 09579125663382622475398676118038947581981300356449 93165716956370197414197124133160772314807970706016 65718960951548970599124108747466148397622181182230 61496177100856447945321406061941225992234481354919 77648326201983847344754173790261886495390533099543 33823411906714338360086316358017365948590509468615 41113731059477558974957503597993929092403923731684 70088804888803953492325353782374092361253948424505 40967865384246605512987283387365067168553285219716 06859962591719997375469478734166487875265097559867 94227229642784217141093985428849791773849125225224 55857803641540455260567135216138568142649770600111 08038193768548998154243711868103461369963369918254 63451701344655045147370604360239501555314725738669 68990989782762144985355184420720876384677331723164 10293314070795005418491727105083153775001309976287 73182582724975983479993084880995193068946160529403 36363017006306040868226248977539470576963849960737 63711907609396568884983684275185997920973199718218 91986656410891884944675775403862315172258995647671 44142741868492918017820440794833957575116005239730 56022647253591268461510479523924476893357981884252 12130166739156459926963812640679481934758551360927 57210759380233507686198646537386607850005803995769 83605945828239225587904752934584188882634978911276 02318812306970896790159846907888067875042765902875 40099805996185601270610144012660782312497297695124 93271021195374714985092274055634827917039249424351
From the PIN diode (digits):
2025-03-30T17:59:32.693762+00:00 73281933349531152173269406856337645394314032831694 52822317081097660099651383330413739565592271383128 92474869393163548543739595724115771470187339144779 38522919993725550343368627566247603418181107852433 65757526657637067769671091419171631521072353095331 04796515646376122590063896553706543367543206373245 87398386838838486619338068620094225074632854161125 70585155443571682359212137899538692161724391846340 76262049131741246503927759457299346557047780930183 65348190094779308827836014383339323882595115821309 15987083689078910709906302010278428301363075944846 30903578283020349404152621717738951167394796119692 61217035877024213545984236897044573407146039997434 88781374433350155886175362554215466674196936029199 94566071138351815857954746864465770414656536886648 56590132088799197720241925720611126508017826169475 74697642044797479000059490621790376278895146935377 80880376208386950509959162737391088467510027391210 23212342885275272295509314796477287429940763942861 72503684027969323640848791213028124391799968979437 17918220999108521382286521139058084297727316774181 30473738209972070416701216765819756604458649766327 62168073044079809866834735695744049203503311154412 23957643465336268131452798837750016504523667168697 96486964216043162901813865188225344300137975285487 23892864557942448022972758508117580527315003374146 45986338217031281411631454337530530000346475385104 69647292641254285399236885497902455924622867769729 13947957725720428678987588475800412040298563323629 50128526593485592948998687424816642079175150202345
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.