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):
2024-10-12T06:39:29.672219+00:00 0273dd01bdfbd26682700154b8c9b83eb60d60985b3a861580018866dd6305c0 4afd092f6ccef9bfead554abd8fb49bf1fb08fa23b3c4948b1d9f92425f419f9 62ae88f55ec7a8e2fd9ac3ff5fc541b02da43faf59e738812372c4c553fc7b01 74bfbd6effa52e3690c30fcc75444964d2fb727bcc5eab1f941d91ef431d120f 22f58abef22535d54f5a0661ad9040f8719bab83ece007589274c71e3c7f209b 95b695addb91cb2fbc98c0c1af24622bf14764561ac4b99588751920b8869497 34034a15117ad2ab3be13f2700816a160c9b455ec55ba87eb00210a9a55dd8ee 3498aba89408928339f743177579ca052f3d30e4d8de4bc4a6c6e119b383eec4 374ecc3900c3831e5922b1ee131a95e8cc8d6ad36c55a99f650a6e0e629d7140 9c0a782f047b46bd83684503e9ae4afad89f84e2b96e9b6767dfdfcd948a7cc3 b0eb3eec69417bb1d3eba0ca326c93272575b4bdf40e50ba5bf20a3e21c49173 db0a8d6097d92e46255a0d2c23d6e4358a655c26ee85a7652fd49bab395d1740 378158e0df3d8b7aff5f8dbf55b04c9f872967ac911b88ead59402d76ecfac74 59845110a56dbe455bac93c09e7951baa892b9fa7245d9e32d4dea96909f2e65 b361481b6f6790ec2c9e91f8c8cfc157cf1c366acd7513d962dd6f19c8da9ef2 d5c5b2eb243e47ee8f2816afc9a17fe079e94000018e2d915092a79f5b6b5892 b3d3de48678c8e6905f7a8ba27b992dab9590c6dc35c0c680ef21444437c07c7 4b9a73bcc4587e830288bf8289981ce6df5e0ab0acb373d06f167fba4e6bb30b e572c64e5fcf09a9ef340203bf3420d4f809527cf7ada943f9535823760e5bed 33b0460b575b556f734248bd8ef882ccea212b0049f0608f4be183ed2c03c506 15353eff9aa1df2435080a1db1daa2ff2f6b99de370880a2bec5c30714ffd7d8 b23e568a640c90d2c036c09007af2884b33094d7a3b67ab1bf6ecec6c47ee521 eb5834ef4b7d2d2014565abde2b477d648508550162772788c3bceeac48fd25d 4ee60ae4c0b00ebd22ba9aa28bf69e7f1b00e926e1ecb44ec009a7dbc2c7d217 a17e0aeab93ccd0755591f3a2906727da6f7cb3236c39f06ad743196743d485d a25cb292080b7508866516ebbd72679b728d72cc3051f0af69c5dea764bb2494 d09d21a7c777b0c92766dbb5528b8d9c3ce92f62c05db92fbf88a81a7f53c8c6 6f29951e5562a597791d0023c9e688704ce274cdda4857229b99309f44444e3c 704e46c985d869a5a97b00d626a4ea2efd69aadf212fa18273340677b98f8374 dd9a0e367f9f448a3403354205d5ec1f798941cb14b31068289d9a5e5e4a47f3 b341a1aaf3dabd72a4ac7b8d6d1785dbb5caca65fbc1f352e00343de71b27024 2d1a160c2f52fdd563e049dedbcd8540cd10ac06330d2a9aeb1c777b3ba9a88b
From the PIN diode (hex format):
2024-10-12T06:27:16.065172+00:00 d6ee1293a46cd1d95715ae33687de4b8ccedd5e6042fa3fffcf85b3c1f5804ea 32c24e113649b05eb16c9c818b9da7ceff25a1daebc938088a89814b6fd7b581 beb4a4b36eb55c2b6490113ca2d1846f9c2cdc21279081aba7bb8290579d171b 0a164722c67ba0df4d52e60f3e682b7d2ba89f08b9ec2a2439a6b5fe8fbc591e fedd477520a866fd87f8468e5b91f61ad57b72faaf99f4868bfa65ac4103ed98 87328e51f0e163fc09731bc2b0df3619b985f5ef3c5b786d83fc88eb10db2e02 8710448b5a051b620a4dc7007c8c44ea51205e8630914a21e3d97df5753d7199 a60294c57e7083a2de30b03bcbe1912285809820490e6cf548f94fdc9075c3e6 c2c53b2a0f89dd0893079f8dd37d46cac1165c2c35f87aad823e7ba28af6735e e609dd90ac419549bf044f3c3ccb2a6e22cd4c9b3426c2e197bab341291adb64 20a621fd1d5965a56d0e37ef20eb17d60ed9dea97974c98ccd15fb8cc8d5e916 eb9adb2c4cfbc113c884b0b06959b225135a8a255f3963cb51b72bce7ccbd317 f8a8d33bca5e881238d4834a954e92abfac1ab8849f2dacbe579a0d380ab55c4 64b6d916830dcbd1559a356f5d41c21a9737f0e328f8cb91b30a1133aa181329 627a80bd25d0cb86425736698703d92e89b6acbc33789c6c609281b0df81ca70 e924bcf313f41a5b281201c4a6cc7cfdb9438581607adedc3e47bcac38fa162a 7f90e710785e288517ee512b1fed66df1f732f382df878fc2b31e8bea5e33c8a 4f28789db2d49e5d120cd9b6ab1b35a6095069df93ea766c1b149f8d63554ee3 8d5cda0f4313fade5e6174245677ed3b30b3ef21186109b5af383c99ad9e8321 4f49d0748d1e0c1549aa8f7a246b1f4b41c424e9bc80ee451edd2ac24300b19a 70ca8a86f558da4684ed82d79693480ac600afaa84d86b21348f90c32eee9320 a78cbc9467d3ebfe637bdd487f0d0cf431633247950d750bed1027d156387e66 37d049b4b5f9ead82e79d047842fe3149b84067cd6b0c59d345f503d81634bcf 77955c4cfd3875846f8abb11b9ed365a69a01877a76c765864b828ecd598bc5b 054e829c35830645fc02838358b88d08157beb4d8c71ab3c0ce4184d93212f79 babe41fd8848589044f1e93f9cec2f942f9ce579efecd97fb15885ef46d36d76 6e0a6b46922549166aa1498950a33a6d2daa469a091c62249e55a2cd3b6f7069 a3b8d22914e7ebb7e10308fad4fa68c10735e29e4384bc9959f92c234a5b491d 76482a019a5b0b1a11162292fc56692a75c3cb006ac3c7c377e1823c30724289 a4d02220a6ff3e53f5f81627cfbd78afdda409b88235de9dba6020638e196403 99802f1cbd75e533b081c463e0ad571f0164cfe20d7e675dbdcdf5699d47dfda 799339a0da18e2fdd9229b61e49d36c9eff6b9c64a3b7228dbbf2510a0d93216
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):
2024-10-12T06:39:29.672219+00:00 02150189023012018484846282139652915834212801360299 05927409470891847173913176436259607372773637259874 36949968549595976576456463758956293514969783230116 91891065465444951517687300142394713148294567291815 34389037537990069773446413557131078846169930602732 55498249734547885292937536984371008626968549361725 32843448515203742117227159633900290622125569949791 68267602166965935252716848084631576723172105476148 75966698257931965578570095313089347719264941060885 69590110101498571364561020470423708931046903747459 32851055030348382495766205652377605008473937178089 14808691106233964515104196514670379013443553380192 38336701475571579323645529886139229541918576765935 41037245273648021072168932811665099069917247925821 81866846851469457750445946017997722711034444584593 87285406171998112558977836627143402275612721640001 42454580466759910788467972034042050568863985468589 12099592120414206867240799755415889688263102369130 37522894107672791511222786780779111498789509695202 03915232098224736967838835181491517670118791851115 66728942303343007396437531440397062153625461365308 10297762470753550828629097950720786286380012449254 92440775403279484863822277911098962633885275254532 20869089801972803380223914204059964393781092761489 34865462395827270038807892096794992361261085600785 89315841061425665054955906731649501661729362927846 08111708340122891403551441144881750597670087364857 33679919763902818239415660479892938547913668262783 98114149308598655121290035361276167287345553485968 68786012787033056569230038644605703347613015520619
From the PIN diode (digits):
2024-10-12T06:27:16.065172+00:00 18476408872174510425840447639160318804509478175473 76947708562939576737615608383729751181299080647910 81924300441760623211564433394429716787304487572327 10227134982360778215620443254368590885423657668143 88893071173268023570429145262314755334390172650352 35504281990915279476542585336091200931361646023516 68399005279810779900244068813294344845743325176113 53660248972612316248765945343328523273140872794417 95949759421537084707594125709322924453227330622362 38159409447265497391047960604210347655523894518679 65412600326633298901650914553223146921164021402254 44769319327676058978371990383795579981834324236859 94361856317449784671937136732160287185960082223113 85545311936594265155404579101751702419419822288937 34668754053503463782728851205608964629762912368819 26914018019666248567332996226271887256224227441620 94403323814331023115475645204349906560387940205778 58931812827127536609800547180827205941998578419215 67199497163686195948793324970981755660537358313379 73164130122173704322360731756596368828693042946700 77541238348870323050477210980075703207335243449546 47326740884803992372271312499950714913171116398656 26025573808146217132472055320624769757529580612999 75194992765617321138871785549005602419670818880084 40528891057830565331066902313188844108212377401371 60122477473347218690653672884468635647484756212777 88337009181010077046377322066173378063580945707054 09289836588562591112056384412083030804930753586732 88538944357491732918724201549111261722344686054217 95000695999519306048146637643432666283223989207564
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.