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-05-21T00:35:02.279778+00:00 d43600279a11c165f4cffd3870fc58d7bceef24ce0a7a430f555c39766d4fe16 a2c67594129b196260984034521a545d25baed49be4092ac218ce1495add1b51 d7b5eb2e3d53f8342895653d4a326f7343e3543a41914bfa0ec0d37cce16df5e 4222ad6a59d1cfc46b4abe2227a8ae77a9f63228065ad575a24d1d9d3d413ee8 c9a3d61096859c33695bd0f71d42be739e2b0b45a071c2ee9042c48587ec7a8a 6f9a18a57bdcc61971f5935d31679c4e16052cb2db232c59dcae9d2ee8c23992 ffa7d55df021ba587ecb862826c1d6c16d94ff58e0d5561f09f728ca17eab4e2 6d6d469e2cf4ab97837adbcbe56687e2b33b138d37845dd23624116bf59873da c02c6c99ada568c3ede3113f2da52c4d256ebf579367e7519e538f003d25bc98 35443c7c9d2aca4d8fa269a1f71131045d131119b0f8de8be6ae94b1b1fc9b29 088f2bde7af59a5b2b90f9ec9bbb31dc74c775fd7ecf19d617b2e6aa4c82f64b f4d114598d869c2414d6e4b9d98c3414031d37c12c413bef2d16c494b0a20b48 13e4bbf31e76793f78ea14194e96d3304ff8895f07f33de17f10a307a0abcad8 090715ccbf446add1da731b67713652c890bab9b4a8ac94b992dc34854d45251 db5725c8af6122e7e3cf5ae407582a964e80e5af3ae65c7a2268e31024a262b9 7abff9000fdb09c961077438ad68d84eb947de255fc3b64f51e0d45bb4e6aa7d 16e22441a9c8df75a1740fee356723eab4d0897386655c236e30fde681b25859 801bbe862e4219a8fb253e1d1af61547912e695b4c80ec8a713b6ab44a3db18e 2f4fa9902b1c0668fd7d59822c4b1210dd0bb9a17d4f48d7a3a7a26a59c4d0dc 3cbe96ea8f2efafd92b0c81f83228efbbcd07834a6b57d0a384fd0239f084dc6 64abdaa0d7f0f91447366d4d27d09c943024547d8133ba28700fb2d695b3f798 3e21d57065541c9494389a8fea3a2d9d5d16ef9725d64ad181736dda29874366 03e1ec086f4ccb408cf98048f73db4b75b71afadeb68fef9a9f3583e0d570a50 3a873f6db14d60f70c92eb9fc5f79f573c357dcb2f6558973f2ed8d349932b53 8da64bc5e9269004796f434ffd75a2a5809e90b6dec871279ee8e0d3d570ea9f 8094282f719f7ed9f5a77b136395a3ba7af3930caff482f6b8caa40841299aa4 42f0b3c9f54d1c04f9c82a8911c6ad7baded3f339c682a038516681a791169c2 4fa914f41f35539c7dae27dae40100ef13c5c2edd5e0c12455a9a99e1c37aa9e dcd03e4c559f59e4bafdf38f8adcaff870f2b1b9d5e6636339a1b2d17c004d6c f3a2a1b4558711847b7046acb3049b284032220fc9147b774e4950d4189d02a4 3ac3d039242f44c13fd27274c74e848683ed354663426bd5b47445c58b017c16 d44ddbf7a47c89479fb4484d80045cd0385f4b89e9af0e2b6de8b5faf337920a
From the PIN diode (hex format):
2026-05-21T00:38:20.080572+00:00 3e401d78caf187c7898fe5e7fd52070cc55eb63ec2351b590d4af930c20c92ab 826bfab0d320ea082396266816f203828809f6ebb8e8e2c45947ec6947544b91 d7731573b9cdc013c9e0bb6b68e66b78ecd08fba12b508811b6a79856410f76b cb31f61a60fedbccbc7f6125ba80a1974f17138a4b45b8b324fcbbd32bdef840 e3cb099cc6ab72ffafc24351e70979ec17efca0e4001a20fbab0c6f4623d9546 58631587dc0ce67fa3345ec13e3db5b0e165d545ef844460d1fa6e7de66153e6 f41e9bf3ebf1684f62d1db05dce94978894c15d4c889881b6b52c0a2fbf16bde 797f564cd24714831282c0cf7f23fc1b5b9046f93d2d6a09d95cf03324d5aeac ff8e76c7eac10805337ef77ab630445e577b639b6018609a2cd6b454132c2fe0 6e583651340863b62ab4b2d1d885770c39b2b4bbebce14e2397c07c0a70feadf a0739712e1409509b5598e586061ddefcf51e5b3bba22a4b9bfbd0e3215fbe98 70bbcc4c49f226354ac29e97483dbe1179f731d17c4628e62bc36885649b58c1 ad0cf97f5212c47299d0df6de8a9fd07dbfdd7cae48d776a1ddcdaa3e7fe7af6 14aa32bcbeba23c3a1756b46afa95b406abad9ed1dac3dca51d61adfb0dacd26 50fd447e13b1c9f15e65247107248f7a037d3cd3ebc418730fe75e993a2bccb1 40c25c84f69de9b40bcb5102bd9aeb4cbfe7ea9d508430c56b397bb611af3329 9f3e541582634d8f00f57b0668a38394274224230f5a28a9b12a88162313d713 a2bfe368090d2c200bae1cfd83c89853e105f158d09b0b9beeb6b150708950e1 60df97daa51348a0dd042d70e4c2374a2d54c02b9f8d01a12448ab0ac3d41f07 ece293ada91621e5f389e288199a39afa81f92946d10e463a2382f818e6babf8 8f219a62e3125fb121b9103d013be9cd515031719cd18a418fa70d5045c20209 9ee2cc880d27265418af325850c4166fba96394decc64e08690fcf10199047b0 1dff19e81414ead0e10a47046224d151c7456a0aeffaeb01e43f0b56751d389d 26f3438b9ee04f23db7c52d86d924bbe8775788c4b8fe42e88dddb58af6a9c3f f16d7bf496c11172f9634b668806cda3104ad69f0212d5277d3d359ba8842663 2ed4bac00d22e624d71952b592cb70ab74bb02f7c57412dbadaf51cccc55c802 badcd61bc740ef0ea6e57188b43067c5d862849fef464df9c825eadaf47c7ae9 2580b8b5730ed09f714efcd79f3d46217c65078e3fbd7e85067ecb2564cd0000 fef41edc044e320bdb87a3d520ccc3846577443b70917c9cbe5ff1eebeca2e1a e2e3f914bb1435cb2f233abf29ac66cace6ae821cb8a78c501e00ee8bd749e28 7f2dbe533b81a786568e6da4041ba087263ecaf1b7e6987714f0bbbe953a9e31 1a3b06b77c95d8763a2a833b7a929528ce76f341eaab5f726d23adc46560439e
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-05-21T00:35:02.279778+00:00 54003954179301561288887667644885955102226298174818 55259896526452822684933786739064467233407390278181 46618352404901617450111567845865457514922422946634 73068996077490343968741969504006901762772957616562 63165033565105912966901558431169601394446696333522 38115424652398251347934903567822054478354489745746 94574667933386882634403893930948888631094023800909 70584471513122023579591941553293543617075215924408 53736504951763456544773710918747038158834300613788 52536860245742774362056117490493191725763974487777 55410843432254914344558749169917262523787076307520 89413456362085405220032955934465594522964876621172 19873018216320202578504879379507612716630760710907 21916806296749821919014437117155743875534595728482 81873775973490078842507828755892223404163662988522 91001509970716567304788571379595827981918070252236 65691761161553033580371534019235104829788889282790 34466625683762292621714546059176283813590680746177 42477969444328060425893044751816118561257972636762 06899660905043464676313134428820526681251056793559 08779800716020715409773956484836842529518640121578 49795262331201842848485654435845579322513774291509 41356702030811766440287261808391137573046988621387 10805835630977779612465997598760532547018851634673 47438341667597384404211167791762652858448213395812 59284840471359266723199949638622471275308464086541 54646679772804423717987323736351560442033322042621 17059479692031538356257439010019979493368569695828 55705862768559898643387512778599995761782400770862 61808535173223127072790455406450341520231978738024
From the PIN diode (digits):
2026-05-21T00:38:20.080572+00:00 62642920359937438207129794826294532789137448941246 71300776320835503804220330360984968971057184754515 21158592198707040720438618810829270621330016074926 96882797378628615179231938756984793687436409569871 14759467810921231464016215867698986149708899213512 27635294936261817601693268961025978330550479980573 20377621373627078292620721278676712031183092273527 91447061450609925136747242189993080551262282486894 87239955962496544480841944471088548152089982428078 33191257788087205724079267156015511864490981894288 96978179876242755533959052128776733853749458517261 90172149247040439504330055889373122782189614530969 07411906296322207050889086359561170770756991640686 29726181267638806826197794013613073643220325609624 15159453584377649492325780118102895476915780324897 07572382177551415962842130997743002306046331483966 36351590406977423622351919629104091344321174283152 83058855115582778012378096516519726004451294557445 84924359410161367271109531074773692233373625545775 68314648091699625647294207714333549818957733851661 01598180491356386543671380699402095836133938842475 50888096221186505777987808051516254471762925202010 71049836819969061001631186172956573867395879352482 09467590351720407543463688750656630923509317149975 02360663167459021839256153556832389946869213343625 82814612711687029716187375818502862799641466133680 48039798325970773724223728848115145913785961703324 01074263892633062637000000300478501135633295320119 68591245245690959046262087205347355891417202063338 20970114891658402745908359296734864209640427603538
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.