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-06-24T06:48:50.736291+00:00 edd97d6e651399f4b7a73bb2dbfeb5c892dd230df87eb3b4466da03adf5085f2 0c9424c700ac17b4cce573ccb2cd8abae438155e1520da782620e2cdd7a220d5 340e78ed03386746f3a781a32b3565c3903860d99f84e198e8e169706f9d8c87 da58e5e80f0b9b4b0878b4a7a0a71061750dac9d25b386dfd6c43dac2461d2a0 080498263ea3e75eebbb57d92b4708c4d1cafed713b7c0e2f396f6fe416dbc57 43e51cffda6e6300db574231b6812160d6cdbd4f9dcb17d3c5bdfd48ca097b8e dec8fe43202bdaf25e49498e2184f4719c63cfa4d49d6fd6da87a74d14eafcb0 ab7caf636f3af444ec0a2e8abddf69a8352be4992c84e7e81a24797249edb7e1 389a2d8d435f31536786802f28c59e6b268bed1391452f9a68659d87f04eb1d9 c255ea167310eb629f282eb35bf24e91da43941e10e39dfd908f27dadd1738cc 53e9b5b381725322b1026a7b39a2226fbfd6146772c09783aca2dc1edd51b3bc 1f6bce22e785dbcfa74f0ce122b85106b53a6246a54328c76f9c1572f4b745c7 5cce9ec6bf4e3ca4ed1ab39ac6edf3c7cb79e1b161bcc3eff89a8179e5c98d36 3cadbde20dc9d081f64a95db15444ff574c3f1dc063cc079c5608975132a5a51 24400150d260a36bc1c210c82843edd7719c7a999dde141d18eaece2453f917e 130258ea3c6171e5092b8cd599a47bcf99b2c169230100cba38f2436f1118f17 ac1308450de8d21eb576e3dbbadc97cd67b0b640f6b09b0c746ab690f212a679 3bca0c54caa464fb921fd88139f25a8b2d20a85d514c35a35e503ccef563b0e9 07c66ed3e3adf6927bb762d7fad41308059d787cba4a0bd6baf014ec9decb30b f83ef47fce2e831b40c14f509d11bd32c4372d00d29bd7f18b74a50efe6b87c2 16c3b39b0067756e5ba785f19f03273260eaa2b9db9f6f7d0b1fba19c2b93b4a c6127ecabe4dd308b106f1b483230bd0d15188039b3166ada92bcc39142b2a33 ba0f4c392c9aa66ef1ad3573dce7dbf6635f7a579b83e7b2f34ee410f9aae587 989fb6cf7739fc6762596d645533d748a86e3d00075155bce6fba07ef6774012 188dfb6c01c2452649cc21b4a09c979a4b2cf95b72f35b28109ec8fd0796243d 47999d18ce0401182355b66d0f3a30909f84ce1d16c412820dbd4c9f96541348 ce8fe06d1760d852cad0cbe5c0147c9f11936ce6de834e685907da413b3893b0 a3c7e95cdfa4bea9de83ba58756cf73aa681e6ad2b30451528bf44dfe0373aa3 ddbd9d742d0e652a84cc0f94de672bd3911934ce43346a9fc876f07a19160b06 0ee4e1bea59159a3e551c23949dd041ecc70587cd58e239a02be29b1fdcc5fe9 c521b54cfdac40fd5f87607aadfad4881e97472d34323611ed45a5e05b52edad b09474b86639758482dd1a69b5a0035cf87698ba032eae6a6e1992fb949accef
From the PIN diode (hex format):
2026-06-24T06:50:13.935848+00:00 0a51707ecf41418c4b7fee0f5b2a2afb1d93412c2e475cd2de0ed19fd84c8d5c 98f6a470fecd0fa590b56296e32e515e181879f81089c0b0f43cca52a0663875 4cb378ace39d9d0888c3fdbdb2b01134638db4c1f8af052fa41fb8cd1c29f2eb b39496ef70d16c6bd137df9c11a1e6af8ad9290a91bb56606d98bc544d094312 95659fd8303f159e3781c44c1376125dd17acbf506211c0f4c0212d8f7eacf03 31391a7870b5f6c1aca7ba9226b21fb1d0d3eada2d02e68a4e0f49d0f447459d becd250e685785d15805b4f58e592112cd8fd1ad82b300fea54daf60bd75f608 bd6ff585e459819a458e6a9e3615a74a1bf1a17dd56124fa343494ee0dc94a9b a7ffc8b0b98843b7951590a501edd95d325af6b8b8fcc66f1350cb756242021c 5146908d6656a53e35938a5079bd94ca5df7c73d50e0f01ff65942924ff741c8 6f82952c71f6aeaf83a873c478a94237e1b29ea8579fd4e00d1a3b80aa1e9125 df715382804d01f254d87cfab536bb792e045a61d69c69051a226f5201ca96f3 e7f31fde22c1b11ed9e7cacbf760e425769d9610c946b70356a9aefd1aa6b3e7 88dbe0d8d1ef3722718b2c3d604244dd813ba82abcfcceb82c3492f49483ca25 89e81891f0811b3f0fe66c5dadef9822b2f5f3cb627457096d97456ddcec2510 00406fad16e61759683d6e4878e4f0fb6fd08d10f0f1b1a95b5ca35d0c78e997 6aa31fb6cd20f3fc4f27cc56dfa21f5f21504ec2ca1a54655dfa3199504cf9ad 735b14a3b42b5f413d860722ccc95aad08f5e6035019aa53ec9d8845ba695dc8 91938969a2edfaf30711c1c774073a5e67ac67442f7bc78010beaa7bc6d8b355 893a342afbbf745dbfc4bd945fa6428df556e3d1e0e4d014f0ccb238bfbf84fb f282aaa74939b5d7f7e0fc3e66367331da30b77118085df2759a55782657446c fa93977582290eec8161e54a8981ff2ad1b0ed9dfaead68b44823452a4810c2f da1f8bd3815a71142ab7791f135b47d18796960f6c7ae64f686fa6823a47f870 242ba4c85088a31a0071fd1c530285a9a02588a848d9d817c9980dbdfc27088a 3c6c54c54554c40818fec4642e50ce3ff8ca6684880c579258f57de34247120d b68956585a63c38de1f2c253dc3bb3e7bc4438e935f684217c19d30c634ae625 71f2d9364a08a46abfd1892435fd88489d8f6f8ec34628276f653f220e62b763 23933328ca227412a230d9dddfc6c089ec3e3ee8ca582191bde7641f4b0a5b36 16ca31645d65ebae2088e81f92ac31303edc52094f7f21975f93ee43aafbc618 7024937dc5b3eb8991bf224263a0ea149ce8199dfc39700c5f4ec554722b9ae3 89e80d98dd406c0be38e03d2d9d5b18390351185a06dc955b1c990c3025ace4c 83fa81190d79edcdd9d23b0bdff640c58d5f28c58d416d05a751e5a27db29cfa
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-06-24T06:48:50.736291+00:00 25100119538367597881463513267980700960588033124836 99007223801578388656219421322038326232521420035603 70672963435301954456965932520512115740358815115575 08208067606716971713725737793496617236976008045238 62639487874371089619839250650988876728109900876649 82293396897957239789720923426732439473734233321356 99645711356777207671247599115868104638890568534353 44322636211473835654454167954983033428474097580738 39194569475404015735787794852215169859404679917845 67483016574443392356838179291483347702062357623411 91200314925131726230817988310734336779123484810681 58987065674099115621148369999258989178606426795498 99217797889554292141546073891329744921687916950660 92219796371719429081366401809663079394164067135622 53572029246963452619028860971309434053642353789305 35010063433654174323721908691330811886510376826476 55121606824418662159128464004631295790394532689381 76536394806099760798107346238398190805572024867411 86205779116227463127649379805717895096554500553916 65140735942295795500031710916733590339509662855911 25113186259485597498182690770877068031351181360355 49027369435720434251861576574454661073531599952287 55317878167035525982195703988909008551726810610007 81858860261964182441080194693873338060565154754491 14914016580750366171535724040124358582091558484459 32292296183013897659508419724309239682922024591747 08317804890765595647766399926490693186881708586629 73434869214091685558638957164514014232154803434525 52675206591822252211061490654589638194577304301288 24423554029041779597338176726495359622733630517145
From the PIN diode (digits):
2026-06-24T06:50:13.935848+00:00 10811226656540752715914242294765444671921459764192 52641215654481985046819424242116379276608260025617 76792072575708369589787617529941809375054764318428 41794850120807555617617538411045878696095288847709 67184901594863215855299676191818932206332815760218 03495726201281937267864638783177450238781573716957 90371404873388058042893318437330790065777596891708 89113389295469420658542167742761259736525248137455 67768536678349214465019350908484981119801798660228 81704441028665625347388021894893996180318966467965 11304944137475316815962069665578586887591326592870 30453713833028770184248154872146049097560505263411 82015031349377309637185750167083038669742666793655 34133944619666682959684288844452464831373724452927 63150893735234789816870909516909371600641173222389 04611072201141167769919263931220510663318232793986 62319533807894268401934953807673159120638043956561 34073490730803802570835736698605934547370562071793 99160758940372036847239928169070239879853758524291 16939196894895666641862078569191323070677357816202 54154948831324089317548520388768084751173041142997 74372942765739683052826429124731392990132042832131 19917135505015082279041166305871123643648036632600 13288302336960373668722352138939083860088497698496 08249600468063023236128746882566711813823786889099 95419483597988685653323324251299743713547408640691 37365336725743114295704039110163341498839935475140 34161862489892376262883345890031751091542249009301 74323631467249486282097927335195476770982412364725 97793745913466996020562557571212957897841443543713
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.