{"id":16248,"date":"2026-09-21T08:59:00","date_gmt":"2026-09-21T06:59:00","guid":{"rendered":"https:\/\/nolle.engineering\/qes-review-b55a621c6ec4\/"},"modified":"2026-09-22T09:08:41","modified_gmt":"2026-09-22T07:08:41","slug":"qes-review-b55a621c6ec4","status":"publish","type":"page","link":"https:\/\/nolle.engineering\/en\/qes-review-b55a621c6ec4\/","title":{"rendered":"QES review copy"},"content":{"rendered":"<p class=\"has-pale-pink-background-color has-background wp-block-paragraph\"><strong>Review copy, not published.<\/strong> This is a working copy of the QES page held for external review. It is not linked from the site and its contents are not final. The published page is at <a href=\"https:\/\/nolle.engineering\/en\/qes\/\">nolle.engineering\/qes<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Scope<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The <strong>Quantum Entropy Source (QES)<\/strong> generates, measures and publishes physical entropy from radioactive decay, a process whose timing is unpredictable in principle, not for lack of knowledge.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The point is <strong>quantified entropy<\/strong>, not random-looking numbers: the system counts physical events, assesses their entropy offline against NIST&#8217;s estimators, conditions the output with standard cryptography, and shows the count rate and the health of the source on a live dashboard.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The goal is an <strong>auditable, openly observable entropy source<\/strong> for research and for integration into other systems.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Theory<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In this project, <em>entropy<\/em> is used in the <strong>information-theoretic and cryptographic sense<\/strong>:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Entropy is a quantitative measure of the unpredictability of a physical process.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">The system derives entropy from the <strong>timing uncertainty of radioactive decay events<\/strong>, a process governed by quantum mechanics and widely accepted as fundamentally unpredictable.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cryptographic conditioning (SHA-256, HMAC) makes the output uniform; it cannot add entropy.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Entropy resides in the <strong>physical process<\/strong>, not in the output bits<\/li>\n\n\n\n<li>Output bitstreams <strong>carry entropy only if extraction is done correctly<\/strong><\/li>\n\n\n\n<li>Entropy is quantified conservatively using <strong>min-entropy bounds<\/strong><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">System overview<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Physical entropy source<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Naturally occurring radioactive material, sealed in a ceramic matrix<\/li>\n\n\n\n<li>Decay events detected using Geiger-M\u00fcller tubes<\/li>\n\n\n\n<li>High-resolution hardware timers capture event timestamps<\/li>\n\n\n\n<li>Timing jitter and arrival statistics form the raw entropy source<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The radioactive material is <strong>fixed, non-dispersible, and continuously monitored<\/strong>. External radiation exposure remains comparable to natural background levels.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Entropy processing pipeline<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Event detection<\/strong> (decay triggers)<\/li>\n\n\n\n<li><strong>High-resolution timestamp capture<\/strong><\/li>\n\n\n\n<li><strong>Raw entropy estimation<\/strong><\/li>\n\n\n\n<li><strong>Health monitoring and interference detection<\/strong><\/li>\n\n\n\n<li><strong>Cryptographic conditioning<\/strong><\/li>\n\n\n\n<li><strong>Distribution and visualization<\/strong><\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Operational safety and transparency<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Operational safety is treated as a first-class design requirement.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Radiation levels are continuously monitored<\/li>\n\n\n\n<li>Alpha radiation remains fully contained within the material matrix<\/li>\n\n\n\n<li>The radioactive material is not accessible during normal operation<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Standards<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The design follows the NIST recommendations for random number generation (SP 800-90 series). The standard defines how a physical entropy source has to be documented, monitored and measured \u2014 we apply it end to end:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Source (SP 800-90B)<\/strong> \u2014 NIST&#8217;s own <code>ea_iid<\/code> and <code>ea_non_iid<\/code> estimators on 3.0 million 8-bit symbols, each the low byte of an inter-event tick difference: <strong>7.92 bits of min-entropy per symbol<\/strong> on the IID track, which the suite&#8217;s 10 000 permutation tests justify, with <strong>7.03<\/strong> as the conservative non-IID floor. Assessed in 2026-08 on v1 data captured in 2026-01; the equivalent run on v2 hardware has not been done. The tools&#8217; unedited output is <a href=\"https:\/\/gitlab.nolle.engineering\/qes\/records\/-\/tree\/main\/qualification\/entropy-assessment-v1\">published<\/a><\/li>\n\n\n\n<li><strong>Conditioning and combination (SP 800-90A, 800-90C)<\/strong> \u2014 a standard HMAC-based generator, with the physical source feeding every output bit. Neither has been assessed against the standard, and we publish nothing for either<\/li>\n\n\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Formal certification by an accredited lab is a planned milestone. Two of the claims above come with the artefact behind them: the min-entropy assessment is published as the assessment tool&#8217;s own unedited output, and the positive-control results below come with the raw bytes and a script that recovers their numbers from those bytes. The rest of the figures on this page &mdash; the conditioning test vectors, the full-entropy construction, the clock and battery specifications, the dose statements &mdash; are stated on our authority with nothing published to check them against, and should be read that way.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The symbol assessed is the low byte of an inter-event interval, so that figure is an entropy budget conditional on decay timing being unpredictable, rather than a demonstration of it. Run on a record made by a pulse generator with no decay in it at all, the same estimators give 7.22 bits against the decay source&#8217;s 7.92 &mdash; and on the conservative track the generator wins, 7.10 against 7.03. That run is <a href=\"https:\/\/gitlab.nolle.engineering\/qes\/records\/-\/tree\/main\/qualification\/entropy-assessment-null-2026-09-21\">published<\/a> with the tools&#8217; own output, so the limit can be checked rather than taken.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Development roadmap<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">V1 prototype<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The V1 system demonstrates end-to-end entropy generation, monitoring, and dissemination.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Radioactive decay as the entropy source<\/li>\n\n\n\n<li>Single Geiger-M\u00fcller counter<\/li>\n\n\n\n<li>7.92 bits of min-entropy per 8-bit timestamp symbol, assessed with NIST&#8217;s own SP 800-90B estimators on 3.0 million symbols \u2014 350\u2013400 bit\/s at typical count rates<\/li>\n\n\n\n<li>Basic health monitoring<\/li>\n\n\n\n<li>Real-time data output<\/li>\n\n\n\n<li>Public dashboard access<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">V1 architecture<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The architecture separates physical sensing, entropy estimation, conditioning, storage, and presentation into independent modules to allow verification and future scaling.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"738\" height=\"1024\" src=\"https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/01\/RNG_architecture-738x1024.png\" alt=\"\" class=\"wp-image-14223\" srcset=\"https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/01\/RNG_architecture-738x1024.png 738w, https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/01\/RNG_architecture-216x300.png 216w, https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/01\/RNG_architecture-768x1065.png 768w, https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/01\/RNG_architecture-1107x1536.png 1107w, https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/01\/RNG_architecture-9x12.png 9w, https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/01\/RNG_architecture-700x971.png 700w, https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/01\/RNG_architecture.png 1162w\" sizes=\"auto, (max-width: 738px) 100vw, 738px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Live dashboard<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The live dashboard exposes the internal state of the system in real time, including:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Event rate<\/li>\n\n\n\n<li>Entropy rate, as the event rate multiplied by a fixed figure \u2014 see the note below<\/li>\n\n\n\n<li>Tube voltage, and the entropy delivered per day<\/li>\n\n\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The dashboard is at <a href=\"https:\/\/rng.nolle.engineering\/d\/ef9gqzg0mff28d\/random-number-generator\">rng.nolle.engineering<\/a> and is open without a login. Note on its entropy figure: it multiplies the live event rate by 7.9 bits per event rather than estimating entropy live, so anything that raises the count rate \u2014 contamination, interference \u2014 raises the number it shows. The entropy assessment is made offline on recorded data.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><iframe loading=\"lazy\" style=\"border: 0px #ffffff none;\" src=\"https:\/\/rng.nolle.engineering\/d\/ef9gqzg0mff28d\/random-number-generator?orgId=1&#038;refresh=1s&#038;kiosk\" name=\"myiFrame\" width=\"100%\" height=\"1800px\" frameborder=\"1\" marginwidth=\"0px\" marginheight=\"0px\" scrolling=\"no\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">V2 development prototype<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">V2 is the prototype on our bench today. It carries the electronics of the field unit \u2014 three Quantum Entropy Modules, hardware timestamping and the clock assembly \u2014 and is where the design is being qualified.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Three independent Quantum Entropy Modules<\/strong> \u2014 each source and tube in its own shielded aluminium enclosure<\/li>\n\n\n\n<li><strong>About 1 kbit\/s from three modules<\/strong> at the present source loading, which is roughly 130 events per second<\/li>\n\n\n\n<li><strong>Clock assembly<\/strong> \u2014 atomic clock, GPS-disciplined oscillator and GNSS timing receiver<\/li>\n\n\n\n<li>Cross-module correlation monitor<\/li>\n\n\n\n<li><strong>Tamper-evident recording<\/strong> \u2014 the encoded byte stream is written to two sinks, the card and the link, from one encoder, so they are copies of each other rather than independent measurements; the hash chain and its signatures are what make either verifiable<\/li>\n\n\n\n<li><strong>Continuous self-tests<\/strong> \u2014 the health of each source is watched while it runs<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Precision timebase.<\/strong> Events are timestamped on a 150 MHz counter, so the quantisation step is 6.7 ns &mdash; a step size, not a timing accuracy, and far smaller than the detector&#8217;s own contribution. The clock assembly carries a rubidium frequency standard, a GPS-disciplined oscillator and a satellite timing receiver so that the three can be compared against one another continuously and their offsets recorded. <strong>None of that has yet been demonstrated on a published record:<\/strong> in every record we have published the receiver had no fix, so no record here is tied to UTC at all. We do not claim metrological traceability &mdash; that needs an unbroken chain of calibrations with a stated uncertainty at each link, and we have published none &mdash; and the clock assembly&#8217;s own stability figures are not published either.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">V3 field unit (QES-3)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">V3 packages the V2 electronics into a field unit that runs unattended, remotely or on site, and records everything it measures. <strong>It is designed and not yet built.<\/strong> The electronics are the ones running on the bench today; the sealed enclosure, the shield and the source assembly exist as a design study, and building them is project work rather than something we have on a shelf. The images below are from that study.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Ruggedized, sealed case<\/strong> \u2014 mechanical protection, water seal and thermal insulation<\/li>\n\n\n\n<li><strong>Radiation shield<\/strong> \u2014 around the three modules<\/li>\n\n\n\n<li><strong>Battery operation<\/strong> \u2014 then site power<\/li>\n\n\n\n<li><strong>Wireless link<\/strong> \u2014 live data and remote access<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">V3 architecture<\/h3>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6adca1348096f&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6adca1348096f\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"613\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/09\/qes-3-architecture-2026-09-1024x613.png\" alt=\"QES-3 architecture block diagram\" class=\"wp-image-16226\" srcset=\"https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/09\/qes-3-architecture-2026-09-1024x613.png 1024w, https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/09\/qes-3-architecture-2026-09-300x180.png 300w, https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/09\/qes-3-architecture-2026-09-768x460.png 768w, https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/09\/qes-3-architecture-2026-09-1536x920.png 1536w, https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/09\/qes-3-architecture-2026-09-2048x1226.png 2048w, https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/09\/qes-3-architecture-2026-09-18x12.png 18w, https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/09\/qes-3-architecture-2026-09-1320x790.png 1320w, https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/09\/qes-3-architecture-2026-09-700x419.png 700w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">QES-3 architecture: three Quantum Entropy Modules, clock assembly with GNSS time reference, data processing unit and battery in a shielded, sealed case<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"875\" height=\"1024\" src=\"https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/01\/quantum_entropy_source_top_assembly-scaled-e1768937339837-875x1024.png\" alt=\"\" class=\"wp-image-14276\" srcset=\"https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/01\/quantum_entropy_source_top_assembly-scaled-e1768937339837-875x1024.png 875w, https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/01\/quantum_entropy_source_top_assembly-scaled-e1768937339837-256x300.png 256w, https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/01\/quantum_entropy_source_top_assembly-scaled-e1768937339837-768x899.png 768w, https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/01\/quantum_entropy_source_top_assembly-scaled-e1768937339837-10x12.png 10w, https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/01\/quantum_entropy_source_top_assembly-scaled-e1768937339837-700x819.png 700w, https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/01\/quantum_entropy_source_top_assembly-scaled-e1768937339837.png 1156w\" sizes=\"auto, (max-width: 875px) 100vw, 875px\" \/><figcaption class=\"wp-element-caption\">QES-3 mechanical layout, design study<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"605\" src=\"https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/01\/qe_modul_subassy-scaled-e1768937271308-1024x605.png\" alt=\"\" class=\"wp-image-14275\" srcset=\"https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/01\/qe_modul_subassy-scaled-e1768937271308-1024x605.png 1024w, https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/01\/qe_modul_subassy-scaled-e1768937271308-300x177.png 300w, https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/01\/qe_modul_subassy-scaled-e1768937271308-768x453.png 768w, https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/01\/qe_modul_subassy-scaled-e1768937271308-1536x907.png 1536w, https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/01\/qe_modul_subassy-scaled-e1768937271308-18x12.png 18w, https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/01\/qe_modul_subassy-scaled-e1768937271308-1320x779.png 1320w, https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/01\/qe_modul_subassy-scaled-e1768937271308-700x413.png 700w, https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/01\/qe_modul_subassy-scaled-e1768937271308.png 1660w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Quantum Entropy Module, design study<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Verifiable records<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Every instrument signs what it records, as it records it. At intervals it emits an anchor carrying a SHA-256 hash chained over every byte written since the last one, and a secure element signs that anchor with a key generated on its own die. A published record can therefore be checked by anyone, against public keys alone, with no part of the check resting on our word.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Checking one takes a single file and a Python interpreter:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -O https:\/\/gitlab.nolle.engineering\/qes\/tools\/-\/raw\/main\/qes.py\ngit clone https:\/\/gitlab.nolle.engineering\/qes\/records.git\npython3 qes.py verify records\/qualification\/20260921T074905Z_null\/capture.pkt --pubkey 04b92e\u2026<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Exit status 0 means the chain holds, every signature verifies, the secure element&#8217;s counter is consistent and the byte offsets match the file. <code>--tamper-test<\/code> flips a bit and shows where it is caught. Each record also carries a proof that its hash was committed to a public blockchain, so the date it existed by is checkable without trusting us.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>What the signature covers.<\/strong> A recording starts and stops between anchors, so a prefix and a tail of each file sit outside the chain &mdash; 30.6&nbsp;%, 6.9&nbsp;% and 13.7&nbsp;% of the three records published. The verifier prints the covered range and the analysis can be restricted to it; sealing a record end to end needs a firmware change we have not made.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Measured performance<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Every figure below comes with the data behind it in the public dataset.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>what<\/th><th>measured<\/th><th>on<\/th><\/tr><\/thead><tbody>\n<tr><td>Event timestamp resolution<\/td><td>6.7 ns quantisation step, hardware capture<\/td><td>150 MHz counter<\/td><\/tr>\n<tr><td>Timestamp fidelity against an external schedule<\/td><td>1.9&ndash;2.4 ns RMS, unchanged under load<\/td><td>qualification campaign<\/td><\/tr>\n<tr><td>Event accounting<\/td><td>exact &mdash; sent equals archived, event for event<\/td><td>2.4 M events per channel, 2 h 40 m<\/td><\/tr>\n<tr><td>Clock stability<\/td><td>7&times;10<sup>&minus;10<\/sup> at 128 s; drift-dominated beyond<\/td><td>12 h continuous<\/td><\/tr>\n<tr><td>Source count-rate stationarity<\/td><td>Fano 0.947&ndash;0.957 at 1 s; nothing above Poisson anywhere<\/td><td>3 h of real decay<\/td><\/tr>\n<tr><td>Min-entropy per 8-bit symbol<\/td><td>7.92 (IID track), 7.03 conservative floor<\/td><td>3.0 M symbols, NIST SP 800-90B<\/td><\/tr>\n<tr><td>Detection sensitivity<\/td><td>&epsilon; = 0.003 recovered at z = 17 in 16 min<\/td><td>signed positive control<\/td><\/tr>\n<\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Detection sensitivity, in full<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">An instrument that reports no effect is only interesting if it would have reported one that was there. A known bias &epsilon; is injected into the timing of the events and the analysis is asked to recover it. Each interval becomes one bit, 1 if it is longer than the running median of the previous 64 on that channel; &epsilon;&#770; is the pooled proportion of ones minus one half.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>injected &epsilon;<\/th><th>duration<\/th><th>bits<\/th><th>recovered &epsilon;&#770;<\/th><th>&sigma;<\/th><th>z<\/th><\/tr><\/thead><tbody><tr><td>0.01<\/td><td>87 s<\/td><td>66 027<\/td><td>+0.00923<\/td><td>6.3&times;10<sup>&minus;4<\/sup><\/td><td>+14.5<\/td><\/tr><tr><td>0.003<\/td><td>16 min<\/td><td>797 319<\/td><td>+0.00298<\/td><td>1.7&times;10<sup>&minus;4<\/sup><\/td><td>+17.3<\/td><\/tr><tr><td>0 (null)<\/td><td>12 min<\/td><td>625 488<\/td><td>&minus;0.00026<\/td><td>2.0&times;10<sup>&minus;4<\/sup><\/td><td>&minus;1.3<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Recovered at 92 % and 99 % of nominal. &sigma; is measured by permutation on each record rather than assumed &mdash; these bits are not independent, and the closed-form error bar overstates it threefold.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Resolving &epsilon; = 10<sup>&minus;4<\/sup>, the smallest effect in the literature this instrument is built to test, needs about two days of continuous running at three standard errors and six at five, at the rate three modules give today.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>The limits that go with those numbers.<\/strong> The control injects its bias at the capture input with the detector modules disconnected, which is the only way to know the injected size exactly &mdash; so it measures the instrument from the capture pin onward, and a source-in-the-loop qualification is still to come. The statistic cannot separate a change in event timing from a change in event rate, so rate structure at the 64-interval timescale would imitate a signal; the source&#8217;s own rate has been measured against that and shows nothing, but a detector in the field faces interference and disturbance that a bench does not.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Explore it yourself<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The instrument, its records and the whole post-processing chain are public. There is one tool, one file, needing Python and nothing else for the checks and NumPy for the analysis.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>qes verify<\/code><\/strong> &mdash; is this record the instrument&#8217;s, unaltered? Includes a self-test that flips a bit and shows you where it is caught, and where it is not<\/li>\n\n\n\n<li><strong><code>qes export<\/code><\/strong> &mdash; turn a record into an event table and a per-second table of clock quality and environment, with a provenance file naming the source record and the signed byte range<\/li>\n\n\n\n<li><strong><code>qes recompute<\/code><\/strong> &mdash; recover the published statistics from the raw bytes, measure the error bar by permutation, and sweep the rate confound across timescales<\/li>\n\n\n\n<li><strong><code>qes symbols<\/code><\/strong> &mdash; write the input for a NIST SP 800-90B entropy assessment, with the build recipe and a complete published run to check your numbers against<\/li>\n\n\n\n<li><strong><code>qes check<\/code><\/strong> &mdash; validate a record against the published record format, which is machine-readable and normative<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The dataset holds signed positive-control records with everything derived from them, three hours of real decay, the clock stability measurement, and two entropy assessments including one run deliberately against ourselves. Start anywhere:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/gitlab.nolle.engineering\/qes\/records\">Records and test vectors<\/a> &mdash; CC BY 4.0<\/li>\n\n\n\n<li><a href=\"https:\/\/gitlab.nolle.engineering\/qes\/tools\">Tool<\/a> &mdash; MIT, one file<\/li>\n\n\n\n<li><a href=\"https:\/\/nolle.engineering\/en\/qes\/record-format\/\">Record format<\/a> &mdash; field by field, with worked byte-level examples<\/li>\n\n\n\n<li><a href=\"https:\/\/nolle.engineering\/en\/.well-known\/qes-root.json\/\">Signing root<\/a> &mdash; the key that certifies which instruments are ours<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">If something here does not reproduce, we would like to know.<\/p>","protected":false},"excerpt":{"rendered":"<p>Working copy held for external review. Not linked, not final.<\/p>","protected":false},"author":3277,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-16248","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>QES review copy - nolle.engineering<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/nolle.engineering\/en\/qes-review-b55a621c6ec4\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"QES review copy - nolle.engineering\" \/>\n<meta property=\"og:description\" content=\"Working copy held for external review. Not linked, not final.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/nolle.engineering\/en\/qes-review-b55a621c6ec4\/\" \/>\n<meta property=\"og:site_name\" content=\"nolle.engineering\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-22T07:08:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/01\/RNG_architecture-738x1024.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/nolle.engineering\/qes-review-b55a621c6ec4\/\",\"url\":\"https:\/\/nolle.engineering\/qes-review-b55a621c6ec4\/\",\"name\":\"QES review copy - nolle.engineering\",\"isPartOf\":{\"@id\":\"https:\/\/nolle.engineering\/#website\"},\"datePublished\":\"2026-09-21T06:59:00+00:00\",\"dateModified\":\"2026-09-22T07:08:41+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/nolle.engineering\/qes-review-b55a621c6ec4\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/nolle.engineering\/qes-review-b55a621c6ec4\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/nolle.engineering\/qes-review-b55a621c6ec4\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\/\/nolle.engineering\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"QES review copy\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/nolle.engineering\/#website\",\"url\":\"https:\/\/nolle.engineering\/\",\"name\":\"nolle.engineering\",\"description\":\"explore \/ design \/ make\",\"publisher\":{\"@id\":\"https:\/\/nolle.engineering\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/nolle.engineering\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/nolle.engineering\/#organization\",\"name\":\"nolle.engineering\",\"url\":\"https:\/\/nolle.engineering\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/nolle.engineering\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/04\/ne-logo-white.png\",\"contentUrl\":\"https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/04\/ne-logo-white.png\",\"width\":2311,\"height\":1480,\"caption\":\"nolle.engineering\"},\"image\":{\"@id\":\"https:\/\/nolle.engineering\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"QES review copy - nolle.engineering","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/nolle.engineering\/en\/qes-review-b55a621c6ec4\/","og_locale":"en_US","og_type":"article","og_title":"QES review copy - nolle.engineering","og_description":"Working copy held for external review. Not linked, not final.","og_url":"https:\/\/nolle.engineering\/en\/qes-review-b55a621c6ec4\/","og_site_name":"nolle.engineering","article_modified_time":"2026-09-22T07:08:41+00:00","og_image":[{"url":"https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/01\/RNG_architecture-738x1024.png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/nolle.engineering\/qes-review-b55a621c6ec4\/","url":"https:\/\/nolle.engineering\/qes-review-b55a621c6ec4\/","name":"QES review copy - nolle.engineering","isPartOf":{"@id":"https:\/\/nolle.engineering\/#website"},"datePublished":"2026-09-21T06:59:00+00:00","dateModified":"2026-09-22T07:08:41+00:00","breadcrumb":{"@id":"https:\/\/nolle.engineering\/qes-review-b55a621c6ec4\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/nolle.engineering\/qes-review-b55a621c6ec4\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/nolle.engineering\/qes-review-b55a621c6ec4\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/nolle.engineering\/"},{"@type":"ListItem","position":2,"name":"QES review copy"}]},{"@type":"WebSite","@id":"https:\/\/nolle.engineering\/#website","url":"https:\/\/nolle.engineering\/","name":"nolle.engineering","description":"explore \/ design \/ make","publisher":{"@id":"https:\/\/nolle.engineering\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/nolle.engineering\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/nolle.engineering\/#organization","name":"nolle.engineering","url":"https:\/\/nolle.engineering\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/nolle.engineering\/#\/schema\/logo\/image\/","url":"https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/04\/ne-logo-white.png","contentUrl":"https:\/\/nolle.engineering\/wp-content\/uploads\/2026\/04\/ne-logo-white.png","width":2311,"height":1480,"caption":"nolle.engineering"},"image":{"@id":"https:\/\/nolle.engineering\/#\/schema\/logo\/image\/"}}]}},"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/nolle.engineering\/en\/wp-json\/wp\/v2\/pages\/16248","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nolle.engineering\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/nolle.engineering\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/nolle.engineering\/en\/wp-json\/wp\/v2\/users\/3277"}],"replies":[{"embeddable":true,"href":"https:\/\/nolle.engineering\/en\/wp-json\/wp\/v2\/comments?post=16248"}],"version-history":[{"count":16,"href":"https:\/\/nolle.engineering\/en\/wp-json\/wp\/v2\/pages\/16248\/revisions"}],"predecessor-version":[{"id":16266,"href":"https:\/\/nolle.engineering\/en\/wp-json\/wp\/v2\/pages\/16248\/revisions\/16266"}],"wp:attachment":[{"href":"https:\/\/nolle.engineering\/en\/wp-json\/wp\/v2\/media?parent=16248"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}