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-08-06T04:37:54.097956+00:00 7e950cd1c6de420a6b43936444fc24706de51d338a6c4e1474e3b43c9b6fe9d8 14b1cd3730e4746c6c1b91d524104a35c9b2a53242e0c111fca951e86d28ab39 970564fd1596bd9941cb635ff5d4f63c49d0e9f7f757f187960a5c7ec77e0f20 a4cf4ccc999dcaeb45ea7bdb3eed2d7c19423e1dc476511cb9137db807e04102 26773ddf5d382d6256f5efaaf4bf41a00353449a12e23fa870138e178fc97aba 3f806eb8348086d0c0c0e5f867db1b56c83c8b34441d764a341b3082846b63b6 8cd5e2071d4cb4165215669eaadc0f9ecc3ce7df1bdcd0692ec81c79fc1b37e9 c086f29a4b4f8c6a35b70b8b8086843a74a88234e03c7a5f9428a8aaf8daca99 daa976d63507f7f39d76be26ff05ecc0301f425d1a158b2ace2f6b144a661df7 e4440e181b3c64e82bedcacb9558f5809afeb00e0807c8cb3d7490664a1d9976 d7c81cee7f921d2b6baf1e1a5fffdd541e34560cfe87ff4860bc06adfd11f4dc 7a14d8c7204572b23f1a3ea712eba667bfa5cd08928e25af5380a9eb9f8a0dcc 96b4e34c4f3405a4cc50f4e83d45ca76e2b716e2b7810c58c803ed33ad6288fb 0dc5922ef32424f569a82349e302cb1a572e7254b0f0df0ec64231baacd11776 904c1c2ed1eed67ba5772d5d6dd520beffb60b9f5e634ab41a747613a3547e1e e01359a81a436be0b015cab5a7e1ba362d19670008bc6b90c65411dc5fb3b29d d7a29dc50b1b84768a0f2370ca4ab9745f10a12f07ed7003dbb09d1ba9ecee13 6d71778ae55779247feb403f5187f9bc7b5c1fb7442b2bd4d86b3b23bd6aee68 d0864646cd29c819f5ae43ba4975824158a564ee47a3d73bab5c9b397c9ed40a bb32930afa806603c3a32773146d8726ad04c156cbfcca64ab3a99b80f17bb12 7aad39af489d74d3793131e11924c376c2d1155617476c576bfed29799b17e96 a3439939496b812ade5a65d90250311771a16a4810079d4b6e35701a50388d3e 0c2149f92b5e32f12ccc402c6d29b31fbcdd0b991865e321a9de99ba09ff5d05 c41cd8af2010dddbc3d1748aa5821d48190b9fe2e7a46dd4466014c688903a2e ac2e0388b4969e4e02607992f9bf59ef13cea6a5ed13088f0c13c6dfa3c21fdf 2254340168af6f3a155bf503e5494b82817d5899c94e4544e3334bd0380a18c3 2b2756d686de9772a4781afc502c89f44d2591a58e93d314e1dee42b4515317c bbf0c3c0af497aceb5a394e450620079506aab620fe7b3ef1a7af3fc9753a772 7f17876e63597ed339ce88da68f39f319feff946013f7f0071206e787425c10c f4837d615580fe76f8ec4e0255d993c2b98b59168712643043906d16a89338a7 cbe52af9e71e6a567bcbcae36fe75dff31c9aea8d4320f6a308a74e5297d6a73 3ff490ab8d70c6ea761854f46c05de56036e966a0901327c472bf8fde09bc11e
From the PIN diode (hex format):
2026-08-06T04:35:21.297381+00:00 6fabb8606790d4689fb40550fdf802e4d5ec42c43374143ad3d7b27cd9c2ec58 d0a021358d6e721da3c1486079f7594b8515546a38754c3236bddf98f9fa3005 1295b668fcca0b69b9f41b51f1304b973de5ca75b588b6642ba7a9b7f354ef44 29c6533a366268f784058f60f31bf6de24f1597e47671f9db0604c401fad1168 fb5f33fede0ee4e1925230d751c7e60cdb0a78c9ca97de9d1256f2e9abde2465 345682695733cf3317fb5da0087d2dd589c977ceac4453e002ef503ac7c88707 ba7b81532c74b829fdcb8f3c1da69bdc8f1e973c756a9049fc744d65ec5019e0 744c2db65fe9a4e49a2068d41bbeab26a444562f62abf94013c32132606dc28f f67c734b905c2ebdbbe443424aadc75c306161537dc99a24d8b4007b6d080af5 5876830e4fac75b62a14813b3bcc8cea287bbbe8f140eef0babd4ecc7835525a a0d9ae4911ef1e16f21325d67945527ea64894dbf66c5936e33780a37fa2f47b 88f571ca635622f89cb05f1debc4d5ddd86b36ff1c6f3c995fac6f9914d68271 7503302118b5245a26d1e354696cb3ed44d12149e3fe028518ad48ae13fa8a9e bda013fd845e6ebcf5f73efbda7855c92528846499b5f92d4eb9973d58ce6a1e 0e93e813ed907873219d46709966a528d9d079b6e13d33dea93cc465fc0bcf91 4015b2fec0603ce6ca87accb27ac29812f6f67a7109192d845dd260e980c9d79 562b51fb88468ce8fc1320bce9d163dd707a251dda1bbc27466e386e0c284800 abde7993545edadeaf0bf9a8107b3c42c326f0fd7d39c4be61aa8475547aa0ee f0d0a06bcc3d11c9ba737b156d5e3dca4b4e19a2e4b18f88c6db2cbc96554c68 744c925b6ea68ec31af934ab382f8f8c59b043da5ebbfca538b2594c5e83c6f0 2a35afd22823bf3567aaa4a06b4f47bb2088b8a47712b075db9a2ed8c01e2b00 8c2b9f5ee0341c1fa434223c791dd081092fb8538db04f0e32219ef50ab84746 40a26d8346f80797ef2cc7e9d2d6763c7543432e06c83186c18477a7933ef7cd 52cca21ddfb85a21cb2bf0e6d2701a10c0c2ec3cb19c39d078711e33d0cb6d83 76e072c34212a5e4a7674d8e897e996709fdc40c4a3a4ca9b010b7b9ffb4a8d3 24a391ad796db23f77bca0ea368d7a10171ac21b9c7d6cb768ba89c9366dc531 ea79f6c3475311f6de7e756d519238f50a1fabbb80299c91890b646accf37a3e 954637c09e93e45349afb1b66560e11268f3f603cae508d6d92e45cbc7e569cd 56ec34aef78ea25740a3f62b287f8d6b9a36736add4ba3029430b3175af133c3 898a77998e05fc1a3458b123df0c9c06199c2b7d491cc3d536721534dcd6b5ca 9d4b16dccdf0d8606fb05d20364830dbe2942221bead588457c8654edf14ce31 76a08758c4232cbf023f6762b78ea2d277656e712f2d75c885d9b023a4d69f1a
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-08-06T04:37:54.097956+00:00 26491298661007674700683612092951380878201680605511 20775548160808274536167453786550669317698109407157 51050021508953659995607387355010922699261532647653 57692362452425666229961881288519258407650238196193 56459886709165600383685418636812194223432286632810 84522834929203278660395268291874522748303207998240 07297680228221025870155860270546282127559234547579 40065383113928343258166830526022954840687053691853 07571890380592483166932621394247072074022968142427 60004349882854761408076116440274295318282746294307 75302695843052861235729688067317222099326914786326 62671866039165084642377583286959381350807679520564 80616918832283291288035173983613974646363605683573 02268746148476149866498672231844762846236519459309 32908211599499748026161819638426301989682667077621 81678654452503000888074498841795797857625797112732 18381535127485169516614707120376572769190913193887 21362764638135882392318368434307593589060434707041 25746786731730658865007163597192555724581087504710 28020395633915200935387304938600715853841523871822 73577572571621494925369518942186237108870751537726 50636753577307294290010280492313610672160757751053 12268056416212337343945044644409417931881153240133 69538609930596287532169516386530297225115964097096 20983644584672460336805058780296214691891966651908 43121998639431348452010475115821910373753029258853 78696851755610249543398634511464202680443777374565 42472043692149248795927573228163488098002180067198 15792622518367142723351099892657360459495970016327 00133210201637931231259785281878028547948539892235
From the PIN diode (digits):
2026-08-06T04:35:21.297381+00:00 11718496034404598005800266965116205878249488603353 41101429639372962189753321840656177650548952480518 49820411058527814875516117813682004367698384684198 83585498043205439627368926710331577696766431731704 95511446824881991210205157188671360152863005875151 23936008254537197268830280589935078623298344168441 43602966554330516017064473167701802516764582956454 32042790713864688647987164199533509609944324157544 92468987676674739992489797832554368000230908108818 31147972178242202959594040238764868978205382906074 73173022193721698226667248088954552863276223361399 86345676952996075428116053957211532030131703483324 81369038840508796833730233247372741938588960193294 10886220853740320053814578855161880630144719442015 33577012530265402182615169609601114564217892966035 72397241294711036716454669381452125721864381367040 19328899122237292788397010561012407200712147849475 11681623606695382557969097703217842260600761178615 23210994617578256277433698448850857604167646911066 42952652715647434089766794876556788976943198425375 40359153037064600779718732368464191876175446923043 00404359945228316452346021292909478483417679145033 58108471706462093170075144991860176767460649349332 19674762826229849033431226169294607756572013305109 31181495661865670377423726530309961274587669761683 85806836634573210978631988605441221623269427562508 83048637540997492195718317261709814656103171872841 56453711000622624970559258478373757782019618040308 46699905865274426287646343402741075454150675630248 48792390519537381953420526528877351256062556432573
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.