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-04-19T15:02:10.454398+00:00 6c28b787a3c79237221ddcc3f94baa4ba12eece5d6ef5c2ab5e5739d0561d500 42e90645f46694bd948afddd052c577d42f1343f8c5c9600774fdb4bac53f7ff 44a0fb6ef6a47ba7adf25a5e46ed1d2caaf33cc0ceae8824e0c505a4f5dfc9a9 fde7f633c1c35fc68cc5d66d600d25129b8b37a6b1dcc0d792175f52478b9c7a cd7a9e8441bd76eaab7cf95b09cd0d19ffd1d324aee0017755241a211291cdde f5317d54a2b558155d7924d7c3b7c0403ccf3bee989cfafec9cc6a4e962207be 3a20d3113920f6842e9a051ed2d3098b67469136177641e0b88fcedd2af1fafe 178e7b116d7b68288091cd97af34706de1e086874e12414b847a914fc3f4cbf0 ca130bad1e9f3fdf11c06fe084c137f17be45b6b2b49ca27af3b5241e6b5c729 0605f753986d2a7622afc094745121db3180fef3abc40aa94cf4758c555fb7f0 85541eaa8c2e31108e45d2236d55f701f99338ee2731ea1d32547406388efff0 d327777564629176b86514288e5b5b35858a69634ab6f9d236f85d124cad65a4 a891d0582301d8b4c8ab8767f97dfc33951255615f25daa50406caca6fa10bc0 1f9d3a7bb506ab7cfebeb8f12d8c9bebb73e6ef3f83b8eed15d4e57816e63c5a 1bd9a0c5a6b68dfe3de55b575deb1a380382ed2b34b2045b664dff8ff8afc821 8d6ed03dd931d82b6a533f0c3e0190c94ac35e1fd21adef6c4d313f150315b1f e3015c6209c5b44d8b25787ca57f27500909d5730e618e5d866c15a5387966cf 0790a968de2d0fb5a010bbe7a01946c59a8961094447098499ad2599dd64893a 23cab3abbd5b5e02ff0ea309b886ed5b8e9e1f6cf78665904afef10ffafa4233 edbd283c1ba5cb6a312c636d071df43db65d25a8f233ccde945b86d850305ec4 e0c1a2b28eb6fff6d51d60153e5ba8b0eb1a5d2db8c7a859000c5a2371256e31 87faa8ab750719dd8c430516e8e774b3bdd9632f31615894b325d35be67c326c 2a320bcf907394a0d4d30d1b5700778e909238654baa48a18767f7ca351c9b1f c14e1b337febbc376ff1cbad80cc33f19cc2ee5b4cb6e765b423926239704c35 877f18acc204cf6f57752c0065b76c8817397d4444117e27592f09cf5a244252 667e555ff438ba60ff102c578f9154af09aae290c9e5392ac4faf22bcbb2826c 2cb71e25dd7f5f497672df75b0f9883bf289c9572a5c403575415a11596770c1 6928066c340d1609f17f9be0de0c2d2ae6771851a6ef83626e659890437db27f 9177fa2153ccf750155f2a5b17f1e26ef0190b6b017cfa76d4df4373740a4f23 e020bcdf1a5497e9208377ed52798484347daa6d49330fab83c6a90399d05b7c 17b8d5b2f9dcfc7b51da9b6b34dded6f60299737e2067457fec8369f98dc6903 9422674db56badcfe3ff14ceeebd70472e06be94496ea808234cdc98c6d68eb7
From the PIN diode (hex format):
2026-04-19T15:00:27.053756+00:00 1f40fc795d0f267a1f8e646cc8737041608c4b4f2e7ef68c73ebcbad54d1fe02 d5734adcd46a967ec87386f63cfbcda0a404a177f5771601225e1e541fccd62d b3a7d218bbeff6eeed730b8a7f76ee2ef864dcddd53f56ef1c2cdae6a347f7c5 f47e30f8d8c6f301dc67a328f8be18bb3e91a1874369e30bd7d7381e11215cb1 0bb4e01c028d604fbecce544e663e19c80b012f56e8c763b8e4a8200a64e0bf3 7fd3a8de1ed8a3357fa741975f83787a90a341bb81683fb99870fb6e49ab515c 365e75d08a39830cd360f53e3c541f19a7dc481301021467fda4e25acccaf5fe 724f93b4efaf54e4d6beea1d8ee611618bea34535822cb0aadc1bc3afcc41413 8e3dacc56f8bef7e98581a904f7338ed63f9d689b259236afdf3537db55fbab7 c5cb700ac255edbffd6a6bb71f042ddd37760a3b60d761428b1f2b62a33e7944 50fa9d5e28c398eb36499e81e8f619f7b54b2413cd637695fba28a66f6751e90 0ba2aa2bb784ec3012edc1bca4cf84e655764c0e97aa8e4737e65b501cc838bd 5220a297ce17da0144f2565ec02ad1770508eef3838a3c081cf35523768cf559 8cd6558b41776337e5105bd33d761a0fee994db00febfed413e1d35e277e84e6 fef8279e1ab2d072b26369a984baffb7bf1f652dfc1f5c8edfce93602f587ad8 8f020e7e88442184a3627b904b70f3564bbfccd3c2cfb6592db7990e026b6aea 1ac82b7ffec21e5a96fa90d0df4e20bd9e973625d77889878c025e6068b48a31 e3623d6a19afc57ddda247006e088cc0a819deb56141aa543f23337bce04d375 1764f89e93f10fde4f24bbca04bb3892a76240ff682f9abdf942e0bf689e6b5b 02e9e9a5d2a1378217a080dc15713345da34882dc25bdc139f0c67bec34715a2 a54c30b7ef3a56747b33d84c1e7911d3e8e548ba81b348ad88ea177924f538d9 ef3042bc3c8b619fc2237ef44b1008e2c2416c889e7be63f964c91bfa6703dce c96cdd186020cd84fb357153a6ffac8b9f9c7350ec5e6e9284e4a8b5a6d73b29 fcfa9f8147d7f1f37935adfaadb0ed92dd4bd406c26df11e072d9113ff3c9dd3 63de5e729dcaec0de67d79463b76a6b50ee9c192e43d7d4e25167721e5ce50fa 7c03ecbed848088562fc4c7ba527a21538015b2ad6e784ab7d1a5410a0c13c08 b856a67058ce27fe7ef95a3d23fd9b64fea86e873700e0fe107e993dd2b2f455 593cabae9c17ac3d6c2fb382995a3ef0d5f4d99ec689b5ec7d716bb6099b8829 4ce16712985a8492e3fd8a257d57875b7d2218fea64a01e3e8ef14e27486df0e 8b6bc810d954f265383fdd2aac0a6c002f4e3abbe1c2f8b50ab9c48fa1f72aa4 c5e4c6d58f6b0bd5cc287a086cfcbc72027560bb4eab1cb8fe9e5cf2bdc0db0b 004628346a1997609526629d13044507ae5f390613200c3bd3e3f0579c79d4f0
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-04-19T15:02:10.454398+00:00 08408335639946553429957570756146924281155705970066 06690248894838054487256652634092500019797572836860 10642367739094702944706092743636970564695193959598 40970996133718553955667792462395827139562222583265 89187124910913253674011985362633184549258462818821 93213695839264605952560678503407905832175732324654 05300939037045542318658443422342231709230440284551 75521209343578186575322245799519117330596317921132 93552391074373397559826581994106058352094218347592 48168133492871961069761740859583338430704046491642 69350985014756394929508416065642391917009845188401 20404291915333380599748254931876730164684588350180 71350325514918859795376504061161119231575823810671 24908445405583621059422120226090276097668241619187 93265603304352780491027743753341106149430683631262 01447495943126961980499131019298099780773937202465 27398009091514974293340821655621020744690445158160 16876025709754379709687109325373375300375835797189 91940214630984349142583108340144741566518940602765 06494499090729618293376851489134804894969362784282 29962162916876269345849968890012903513371049356871 17072540670522167989994749978848793791245008425011 44154860132787001942444656017570726135035328553193 78275127885511732851569491768201803546985712765335 27247294041187174400018308362357256868172639894709 90366682022685955686961644874345847509704457429643 78300844833037279573181417763659378742926453176590 17890312930540060852132209275512454219248166319810 01524467257827451933838021954291231025110701241867 15161079353288268451323119822132325225700973511571
From the PIN diode (digits):
2026-04-19T15:00:27.053756+00:00 31642193153822314200081512659640757946264015738402 15740650261534606064046119192201349430843145796724 87151138271846006386284463719726489801036340902487 62456135670511563017339277118028024196799068995628 76181040185942743000667811276830635327676551953120 22446365872904638552121073718192549417385731129662 60843125677219010220036490147947807584902942179739 52838834107393885896201942617297113926528826447915 56993778893506832581958683971210948591060783310445 55181059969766393143986362216880579440955254735829 25817536199918496238021730441162704383324818938864 32851876145170427155918028568982326251230168869492 42190508313860082885351840894085396519995516916118 26155377761519943926323958267814789905693286839131 01453192424796478822430214263668333263982344751286 75919482894583531402070626432794309050447832895851 54372037354002949604803849986106257597256271001008 40926825819765708463355123041723005847157936870487 56466798640447548966910458079102656155302360282113 51695236459491195912039095712162657648835886162351 76302117728629797273362321365648668860399759943526 75160894650836582363507645916612610824963232531383 66723959561580941046326881665941592971215373737646 75069409300745451960579994145713252170591866811493 46612578372219338024039072083398762365396221560191 42327125268416609360088486661288392690613555006810 35550016265361788589607174562372610847793053906258 98378125130782095536417603185290324638372587359125 34246674012016341439071684015663427210080047785887 94811085964361426497984307114022080888140217968778
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.