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-11-01T10:06:57.998373+00:00 be17412cc946a7949834ba60447e90e81b6d6ba6505ea85b94c8a28c52899435 95aafb0baf33e6e28396d08b1dd095106519ee30814c2a9ab8bfb63056bd4a0a 07aef797a61fc58673f934f211aef6236ce12bb61d922127929914ec244b1b5e 2e89432718e8cd98a0c25f1c783682142c8bbbe5233295caf0fddd270ed8d529 9d39096cace410dcc5ace74ed4b4ec349d1085ec3aa90dbfd59a2f0cca9b5f33 abb2ef50d979c622e91f7af3d36b861ca3a01c151002f5f3e06815cb3cd238c5 5642b703f7ad427d86e7974bb2922551334c21ecbc93966d2c9078ae37061de3 34645526a0bedd6f186f5f32d792020521d84dce568cff2a56f813ed894a2058 422f4a130056dc53a4d0f7a0a4e823ce1d3352a5999bf88602eb0820f7a3bf30 deecbc75c4350e20c8046d3cdb217fc427bce5256215cc5589477b6b319c9410 80eb0df82aff2893a04aa00969769a6d435f26b8f3454a73d032bb411cab853a 9537cce6c767527af767599bedefdcf637aa9b3a3561e5fdca85e18cd821b633 394100d7887a44807e013f672b8f4b0beae9ade5889715a19367c06dc625fda4 712bd9f9ba4ddff26981a1d6d31ab56bfa316bf02be4a888835f2bba0cbae2fa 6868d07087c3ff67783c7c5f60c9cf94ab4ca422bf2a502d05526d45bb4b15fc 84bab46b15e0cc26417419920dc421b8007106398b7867e0c791558329018c5c 70b7b55f193610a4a89fc94eebb7d446e3ea79b94caecaa7e114c1faace3fdc7 2e07d6fbb2f6c1b2dfa467d037e48af34af00a2af2b2f42ddb07de86c3bc576e c3f21826562e61f124142d1bfd1a5fcadb105af92b7399415a2db0bfbcaf5440 4ec3cc9d4abe62212d525c4823e5a69f8b4a824e57c33449e6d46d88ca486593 6dd0a3b22bee9cf1a5bf116e3f077a63fa2dd3d2ce279656f0f42faef2d2e28c 7c0236a504528004fbc37372abea2b33b268fb7620380294738c91f0f11c6158 682c6cf7fade8e6cd037067d00927354031096b4c6bc7cc6985bd4140dda28f7 5e72175ae2d12e704f3236f2a57cc667f398e73a26eb88e71367e3b87fd32edb ba1141416f15f1b5bcb1a27272c27c217242d487eb5ce2a4f6eca7bf1b414252 21eb0256eb36298ecfbd24998b4849759f3714b990d18e8809c3c9446a4ddc7d 1dd42ed81f2522f3d86e2d9aaf09633e6191818229a7b6a10b6a65e33ecd929c 5ffdec372325990286190170a34fbfc223f26bebb35e9001fa3eafccaa52b0e0 913cfa05ab3ced168b754fc646a1abdb566d480cd961a96baf79b8dcdd3337ba 7f5adc0ef9e922c07e3bb65dd601625c89d4dc4096afb085aba57e796f480566 ad07de4f443dc25bb4816bc7d5a1b5aba56703d3956ffe3501a9cf7fb233a002 8185e245ee2c015576f18d232a30df86ad23cb9cda68547b956cf180b2353d88
From the PIN diode (hex format):
2026-11-01T09:53:47.594888+00:00 bd08e732fdb34ff2116caed3c226dba2637c2133c189bf507a6d43b79b99bc8b b3b8e2ef8fd987e4a982de57b961dd6e931f0509d9a2263a3ac7da3a67f0cfbd 8f3c76873f097ad947123bba41a433b6e832c29552cfe8ea67763efbd623a6ae 700622314ee8b727e05430e5d97af43d77d85066bd9d181c2aa4c342e5ad0cda af6c043724a10ffd155c8514f77017f9336bc285e79dc94b2269755f5e7e3bab e98cf88c03b2edfceb134ffd4831021a6bc4b0ff06e2b5da1c5718174a872a1c 87022510293b156a60f277883a98e8190e3913d258f1178eb9a8a7ec5b45fed1 64c16c0856f00474f9fce9cf13aa8f0d03f24888c573a0e3e07d6ed479878810 d5ef4bb226b0fd154bc16a85254102f3ec36535a030ea6e057b2e709010a5d77 4a2a4928f457b02ab787b667fc78964c6dd954cb732e782255b5a287cf156051 e07ebd5539845446a4fa38a62d11ebb7ed8eda28c5316a8d314a99e7c50d4554 5182c062deaa51df93f89e8f023817b8f3492ca4fecd25033f77fc9ec9d79cf5 4d96a9df94d60dae5319ae8a8f22e76080c56905c9a525a6c4f8226bef8f845b 8febcae0d6a53750a79848a06bdf3429923332e02fc702e0a8ce6f85d176cecb e8902398abaffa3418cc0bbce60532ac830b2f3a4691690680b3145cd7bafdcd 6f4e8711bacd4523d61f203c502c9977aa3aa2d8a61eca2a017d0da82d6ebca2 dd3baf1680a5859d5418e61582c8fca869b4a7513d6e01b6bca1987f8cdc3706 6e821f09731042745ded6c699fbb46b1629bb79d727db7781e561b2108fa9ddd ad3ab20e52c9cad343c2123c9cc44d64f36681b6bb42e8bada224aa1344a69de cad3d9d2cf0b35bb71c41dced6e8964887c64e8326cae398ac2e9f0a3fbff74e a143c948c99a02411066257ecb08b893c40f855018979b81257f2fced244bb59 39f60f757339100bc853ce54b3e45ee0826b145d7e9700272382c592c876a8c0 ebd5ca2396f02a9ebe201762a8dc1fdf7b5461118e8ab6867865f52849bd26cb 2bd906e671b29704be87614f23bde6bcaff215cd90beeda3fb541657c5c30fb5 1e5b6dae6898943f6fee4c41ddb6002c242384c6053119c3808481a1b66fbd5b cbd2f9ce751d95ddbf661be09f21d8b72a17f908be7d5592bfd158c23d2777ee 244091dbf11f50b51ff1c7610a90755fa7c27a0532be2e92e64177981d42cc41 f30d00233a1ff925e19128761f25a43dff6bad825d848497e9f014717804a317 8d0fe5b33aa5f994b953b4c7465ecf5c3eeb1c87d6bc589f440d43f9e3e10f23 4c39d15b92cab188a86c3dbd3a4b2bfeb80f370bd567d0da53e40b9691bfbafd c2a39c887ae4c34cd5e1fdb734075b8e7b08c6ee004fe6aad5273573873521ae 55dddbe99d6d240c8cc49c0085e1af967bed29058cc92931f392367a444319c0
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-11-01T10:06:57.998373+00:00 90236544706748525286966826442709076680946891486240 82374853497011755131503929491601254829764254849182 48868974100774516631973415521774350843822946333946 53203675279446376739245260949528205430204439873550 49391441575709087216977278805257163358691391544712 55955171788021983431220734286360282116020421605697 86668303736625345175784637815176338847500944442074 55062952008538609011241195504602053377864042861937 74328866477419008683646064352951826553553402083263 91488817965314320409603327963988379821853771230749 56481628134240476074600905185409679538846974155087 65287133584955990382220389555570555853973340338251 57650036226828260163034343751173365121614703920998 37641343867705296126810749074368363195438612860404 12359503206024959648717664349142804505820969877521 32868007213865162546139633840013065739200399458531 41014092128381952554166468597883702185767467209372 99460778937864035538741042784507349588871095243886 46973620452726951690431553659045769188758464789557 74909833458292723566593974307887955273093672014709 63784356659117106307229945395086477440240254650482 28049515147143517804183256024815404528978804440842 08550625004615840316508098882498529120134094142390 46127950546524980352583836190384274686176565112181 88776214149424331466359264679127656682330286544142 89365339727317595520854442360995680677252946313734 10455475099962974529304167826111060162465695553537 53023425011263799194350779944401627570827645600571 60223917799870617186097212976907752184515586279014 34922659829301989237645075763371652621117205027307
From the PIN diode (digits):
2026-11-01T09:53:47.594888+00:00 89085079791708749438629924335193379180220967835553 88397984433569308785971047310509623858589958038943 60183563092271185986656451825094498203186235667412 06344978833984482261198002895724284264956673127508 04553661152192332012235107943357753405179594265971 40400378197972490226079676068128872423743542283502 37164159210696193658522514571988234285686791690093 08088604161970431303723697156025102135361675783876 21759306333765025483900314668778090110931974427340 87764283358203205076098415462034858162352196812689 85573284706456664517834240974906414974539713698481 30929870814758430256238473446437036319585677506948 13748325743843349628970505653766963407433291436555 80675272600752414651504799026811331844355271755224 11880550723111475870450506287920928611783517866935 31326080445319705862663042012513684510886259752228 65335784242130680580678161100182886152274055061030 31091516661693080559877077985583571425832030862733 08577358781482679418605696770002298287668634746152 74051153871396295072359878313852724659106391786167 72540265160237260884479615338024515529372747688789 57151715571611838479943007209326510039353097461868 92355042589032239868312384971742388234200140738938 43061378510490359779358988752144906384228797951581 30910974045248631176658200443635329805492595283229 61821189911729499102275933834223089025854691889461 39193664453180813199971044179567942205509046466519 52296665130035583137454018313764610773309332325120 13200463234115795865488583809970949262283588885968 13671535765791467736680861895875438415551103831150
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.