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-12T10:30:42.891971+00:00 1894e4a9f3c29f31a87836ea161567832c9429eb0232b28dbccaeaf7c6d5b849 bebfccad651fb54929cf330af92e2494f380079f81b0cfd51db1dd6e5f1566b7 bb3433633dc79ef5ece8c89c29084430371082baba5b5121c84dd40c6934c345 6a10296fee24538a88e436676a34a737e536221cbc9ca9fe2d76904489ee86f0 c75022ce40e543634ede0331743795fcd82f2fa77ddac29cb6034d0939752ab1 d67d6cac2d0882d3d1125db6951c2ed9be97e9dcdcd6802c297cbb7efedd3b57 e773ecf8b68b36b98702a2e68624d8c24dbd8141767191fe8fcb6472e9b546dd 0446d1b95347bcbf53bc095eeb6c01c5fc3d8ff47802ffc7f0a914f505800252 c2b6224510dc24f5d0fd2f0149b3169e3e2603e26f90960b95111bee2b0cf4be 96f2b15fbd8a76023ce1bb136422911da1307bdc95bddf08f81964aaadf61ca6 40b975e10a6ad50fb6552998e83bb860ef281778e93e264831208f84e7d820db 6f145bb151bd9fe8d3a4503d1b2ed7f5cf1f40529eff0452fb1e5d8d5d00b35d 63c69491179b41a04ab665f31713a49d27108c0943bf8913f4fc749f75d92b1f f9ff228590d08958c13b4aaebc69b94a5ca3ca2aec019a016ee301f173e2c902 6e38b8dc82615db18e697029b381bff3b315aaaddfe0f6a554202aeefb208e68 614de453f1e1457bbbbbd9449e60bd4dd596114562e4d282cfd2c25dd3598b39 34f76d0c30d3b16c72548c7c860c052ef95f2fa37e38bc8d4509a88b1ddae23b f693d4189ead1acc9ae168b646435294ff03f2bdedc058f54f900d2952645ca4 5188953fc5582b82fd060c1d557ef13b9c95c0f6e3724afe7cf2350899b891c7 48578910aea4279c040bff7aa113200af61d4935761fd61f3121904ec6d205c3 235966ac8eb05a8a5dd4828f063fc46110521c9dc86141b26bfe18bca8a5aa80 7853edb2457e5c45876c37b598f022c1b4ab00d84c017dcec0c29bbec0b34c00 82843c900c5c78dce10ba7c830924b27f53dc6ef672f616f3e457dbd47b49221 5ebbc267b7808318132523e1a044d20caaea76f1957d9aee287676761b097b39 32e4e9eda04ee4d3e5c0f0521fdb832bcc858acd9111769d2494f72e01f61806 1eed479dbc067fa4c9ceadfa2781cf218420fb5e694ebb5e7ad633ca57c83f20 af34d2876f30a9b25301be46d0ad8574e2ddf91d86dc4948ee6a4495dc85b5a1 eaf343bd5e54485d05025d5ec9bc4f55b42350d2151ab5395508bb564dce5c52 395c6226bbc1e1fa34eb60219a6721a2f6a9a204aaf1beadceaa32ec8ad84b74 77a780739a81de092b56283648e907afebeb93af60f535500c191b70124bf35a 0ec50e8eaad68faa6ae904c305bb0dcbe9ee38fb6ff80e1cbf70f5c959201a6e f6d1a0448bca92a8b95e2ca424b4f378e7b6ad037da3579bd3f0e0c7fcaee258
From the PIN diode (hex format):
2026-08-12T10:27:01.891044+00:00 1b147308c3620202a4db579feee74ea2a12eadc6eaf0211329836d5ace89b912 47631be0aad051d2b624ac724821bf8fdc03bb1685c34a36c0871ce632c01171 1c4edc4e10515ad246cf662cff289b933fc54311a2b796a0047bc93c561c8867 392a141de807a30b31882d47d98e497cd891011cb6a9161e741c58a59a54d5b4 b43456a7db1699e08e78dd475f85624b6fd0cc67f438774ffb942005abaf8c8b 67667a6557481d704141186fe64cb67b125c7480eb9bf36c8cc460ca62453cac e692cef3849cfcf714b974c700c297224bbb0a7b201240a84a79e97431d7e57d 14a7ec20480b3a25a14939e2521321c446d32c1c99fa048f16f2cc70f0aae1e9 bc519ae809616b5ef0b66d31e00e7649f4ed668574a67dfafa9a3c02bbd05977 32baddb983356183cbce06611ae6416801fa7a67b6b10ff71bce50f1ae1ba2c5 bd8802f8a9370d3c6d5cf51e81c102b302d893a2f544fb19c75ee3e0843d90c8 26f83321b0129dc6af4ed0946d8eeb242701ac9dacb822f984a7575e7b22def3 db318a0f33eaccad503c77537b4c024c243edf8282f724d23b09607fed897c1e 769b985e3e43e9ac8c9f0c1c68e8eae4d4e54003323374cbe0030fc8acecdcdb 498fb889d22bf19d1244415720345181f43ad900fbc0159df0ac244e29731dc5 7ebaf6ded7bf0ba6715327cb74fe6bb620d5ceb9b9aeeadb2411647f850db5ab d704f0ed6a76555bfbc0a1705dd0cf7cd313c2c2f1b904409f90f782f27c4674 942f18188879f6cdfdbc9b56c894e47ab9a06a750b06f6d32d038ba3c1d6a082 a73f0fb3cf7a6f2e64f788143022412cd79233d5770f29996f2203945574eca0 6764e7d5171b91421cd0df04e70d5eb18a796db14235a8d40a144442693e2bc6 69823fc372721b05bbfabdcc8e9e174473fa63d76fb5a390b4fce112e8d537bd 93b7eee60448d5fcf4fab14c7b19f43fb710dc874858309dc6aa0a2db33d3f51 e0f516681c3467d6cd5f728ea4be9f63684dd397aac78b28ca7ac4c34d6bd386 fbe2b82cf347ff428c8f0137fe6f663381ad2647c860b0d1e93dc8b9dbd7ff3a 8b3ff87ceb690b93500ff6486217ca84edc1545e9b9f4307810b0b3441064dcf 40cad6c72c0a9f5373f8e325b08a31404d0e7d0559f8be8886d547794a491daf 7df9621924249fab6a0c715a0bb75f75a6fb3ab8ffd2157e57d9cbea5452ff70 d89ef6a7eec361206372ce59b4dd15ae7d6b1b61b051e76fa8d2ae2257aba5e9 6492ccffcdaa2e015b3bf98571d31ea575c453e52e27b7f337e0fadd2371c0f1 fa45e2c19380ee5b4bcb09fe63526064dd564c02a4cabc2c6422271917376022 07cce19a3b28a99c540c04d61c1c1f8e64990039b4eb8909306aae8cbf4b7c1d dd9bc061f6a3cc09aa4eed5a59f6839ab8182592b04d40a88454a6834c9a352c
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-12T10:30:42.891971+00:00 24486994594968205422210331444841025078418898847390 91730131817341511046364828075929762977109521028387 52519961995856410868485516308686918133771205529569 06164111368338365403065267555434288856694518446837 34998034646799780349165549474767259456820377095717 42772508724508301893824928469051284441248726598715 82395485350262343694778929651813454300148170047085 83718891838809940801976143200299692005280282948234 69163647017379225862380311445011491727431290507795 89381802608719003445296148234989082500707328666485 17100615828541525984964023206238724932433232112091 77818959648061274631648258048230934193007993999848 45235565607482012319645739164009679137191659174331 34334437889359747488058574926342015401100115021056 84309793774205124179299179217073658432423242049777 83692387876858968977501769983094938939575209124877 08148440243412054695476326568841690968392959472458 73265404827067824803899288794413418200926481364963 97884330061229852659564992147424530853844599728737 16746439560411226119321029735318313149334478980595 35890272427690389330430663969716822857976578072488 68657028208378692692693508558152349380710076012592 94559092797600303260441292201167484675396198034797 11626925897180463394879403832831241937356068127018 49255440181818270923575060789282313143333845171857 36484601240630715788062764733929333232940578879422 51876332755235114869788301907073331629347372066849 33816167899484729305029394887985803580212681578508 87867792825792983887935296335403336269620470907370 50387516196728155429094386405472077547759653801225
From the PIN diode (digits):
2026-08-12T10:27:01.891044+00:00 27201508959802026487597862614673983319413109903785 18719927708182367214723391430387223395745492352850 92171328787816819070024440554763976717628350600423 60862836035742202907631149364571427324450128826922 30162888655484808052866722534220719533987511035619 79483205717540390302220187722912656524117682231892 16285508409696986960724632562085169900945134758710 23321864687421164925206732721158376173578219339670 44285304432212708881540997079482094914187302331666 25546002878919508685315397310697266504012203827715 27807427629789360269551360099230299302790247626825 99943261443851337618579875784809423639017257728434 32678794233449381551738060198323760276366230303659 09962737243018555294626772405912280464035051160315 72734384374357186865873252812958009221577236784115 29972686911166138339160782328585743617002733138171 04061885919261129324199494850464594430247016484724 24362188558648228560061711064503396393603067631579 22114600362048346544465119154153113403488516600300 23274566280413947738210977665368102068660562439805 30639514142705878942582368159911816344801855894783 04727776232563831635728848579870104579616381220428 52039514426490599904775170993940229695770734844471 66404301551102512973387196766185583963240511478015 72982332938494555967072911115265067764994410598315 37763849647714250589903634712174732975259825363659 71061213901183951766588421268784821258679597329914 89802174250727977681116874348771650046704601915933 13306517968346398355351392699347289175099982960086 76026488440034392523559634075459406956841204282831
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.