PageSourceSearch

http://reallyreallyrandom.com/banner-about/

html reallyreallyrandom.com collected 2026-09-28 10:46:02 UTC 20,806 bytes, 271 lines download raw bytes

1<!DOCTYPE html>
2<html id="R-html" lang="en-GB" dir="ltr" itemscope itemtype="http://schema.org/Article" data-r-output-format="html">
3  <head>
4    <meta charset="utf-8">
5    <meta name="viewport" content="height=device-height, width=device-width, initial-scale=1.0, minimum-scale=1.0">
6    <meta name="generator" content="Hugo 0.154.5">
7    <meta name="generator" content="Relearn 9.0.3+8bb66fa674351f3a0b0917a7552caac686eca920">
8    <meta name="description" content="A dynamic, real time graph/banner made from an entropy source.">
9    <meta name="author" content="Reallyreallyrandom.com">
10    <meta name="twitter:card" content="summary">
11    <meta name="twitter:title" content="About the banner :: Reallyreallyrandom.com">
12    <meta name="twitter:description" content="A dynamic, real time graph/banner made from an entropy source.">
13    <meta property="og:url" content="http://www.reallyreallyrandom.com/banner-about/index.html">
14    <meta property="og:site_name" content="Reallyreallyrandom.com">
15    <meta property="og:title" content="About the banner :: Reallyreallyrandom.com">
16    <meta property="og:description" content="A dynamic, real time graph/banner made from an entropy source.">
17    <meta property="og:locale" content="en_GB">
18    <meta property="og:type" content="article">
19    <meta property="article:section" content="Secure entropy? Your entropy.">
20    <meta itemprop="name" content="About the banner :: Reallyreallyrandom.com">
21    <meta itemprop="description" content="A dynamic, real time graph/banner made from an entropy source.">
22    <meta itemprop="wordCount" content="252">
23    <title>About the banner :: Reallyreallyrandom.com</title>
24    <link href="/css/auto-complete/auto-complete.min.css?1784076360" rel="stylesheet">
25    
25<script src="/js/auto-complete/auto-complete.min.js?1784076360" defer></script>
25
26    
26<script src="/js/search-lunr.min.js?1784076360" defer></script>
26
27    
27<script src="/js/search.min.js?1784076360" defer></script>
27
28    
28<script>
29      window.relearn = window.relearn || {};
30      window.relearn.index_js_url="/searchindex.en.js?1784076360";
31    </script>
31
32    
32<script src="/js/lunr/lunr.min.js?1784076360" defer></script>
32
33    
33<script src="/js/lunr/lunr.stemmer.support.min.js?1784076360" defer></script>
33
34    
34<script src="/js/lunr/lunr.multi.min.js?1784076360" defer></script>
34
35    
35<script src="/js/lunr/lunr.en.min.js?1784076360" defer></script>
35
36    
36<script>
37      window.relearn = window.relearn || {};
38      window.relearn.contentLangs=['en'];
39    </script>
39
40    <link href="/fonts/fontawesome/css/all.min.css?1784076360" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/fonts/fontawesome/css/all.min.css?1784076360" rel="stylesheet"></noscript>
41    <link href="/css/perfect-scrollbar/perfect-scrollbar.min.css?1784076360" rel="stylesheet">
42    <link href="/css/theme.min.css?1784076360" rel="stylesheet">
43    <link href="/css/format-html.min.css?1784076360" rel="stylesheet" id="R-format-style">
44    
44<script>
45      window.relearn = window.relearn || {};
46      // configuration
47      window.relearn.min = `.min`;
48      window.relearn.path='\/banner-about\/index.html';
49      window.relearn.relBasePath='..';
50      window.relearn.relBaseUri='..';
51      window.relearn.absBaseUri='http:\/\/www.reallyreallyrandom.com';
52      window.relearn.disableInlineCopyToClipboard=false;
53      window.relearn.enableBlockCodeWrap=true;
54      // translations
55      window.T_Copy_to_clipboard = `Copy text to clipboard`;
56      window.T_Copied_to_clipboard = `Text copied to clipboard!`;
57      window.T_Link_copied_to_clipboard = `Link copied to clipboard!`;
58      window.T_Reset_view = `Reset view`;
59      window.T_View_reset = `View reset!`;
60      window.T_No_results_found = `No results found for "{0}"`;
61      window.T_N_results_found = `{1} results found for "{0}"`;
62      window.T_Browser_unsupported_feature = `This browser doesn't support this feature`;
63      // variant stuff
64      window.relearn.themevariants = [ 'rrr-custom-variant' ];
65      window.relearn.customvariantprefix = "my-custom-";
66      window.relearn.changeVariant = function(variant) {
67        var oldVariant = document.documentElement.dataset.rThemeVariant;
68        window.localStorage.setItem(window.relearn.absBaseUri + "/variant", variant);
69        document.documentElement.dataset.rThemeVariant = variant;
70        if (oldVariant != variant) {
71          document.dispatchEvent( new CustomEvent('themeVariantLoaded', { detail: { variant, oldVariant } }) );
72          window.relearn.markVariant();
73        }
74      }
75      window.relearn.markVariant = function() {
76        var variant = window.localStorage.getItem(window.relearn.absBaseUri + "/variant");
77        document.querySelectorAll(".R-variantswitcher select").forEach((select) => {select.value = variant;});
78      }
79      window.relearn.initVariant = function() {
80        var variant = window.localStorage.getItem(window.relearn.absBaseUri + "/variant") ?? "";
81        if( !variant ||
82            (!variant.startsWith(window.relearn.customvariantprefix) && !window.relearn.themevariants.includes(variant)) ||
83            (variant.startsWith(window.relearn.customvariantprefix) && !window.localStorage.getItem(window.relearn.absBaseUri + "/variantstylesheet-" + variant)) ){
84          variant = window.relearn.themevariants[0];
85          window.localStorage.setItem(window.relearn.absBaseUri + "/variant", variant);
86        }
87        document.documentElement.dataset.rThemeVariant = variant;
88      }
89      window.relearn.initVariant();
90      window.relearn.markVariant();
91    </script>
91
92<style>
93:root {
94    --LOGO-IMAGE-width: 8rem;
95}
96</style>
97
98
99    <link href="/css/custom.css?1784076360" rel="stylesheet">
100  </head>
101  <body class="mobile-support html" data-origin="/banner-about/index.html">
102    <div id="R-body" class="default-animation">
103      <div id="R-body-overlay"></div>
104      <nav id="R-topbar" class="default-animation">
105        <div class="topbar-wrapper default-animation">
106          <div class="topbar-sidebar-divider default-animation"></div>
107          <div class="topbar-area topbar-area-start" data-area="start">
108            <div class="topbar-button topbar-button-sidebar default-animation" data-content-empty="disable" data-width-s="show" data-width-m="hide" data-width-l="hide">
109<span class="btn cstyle button link noborder notitle interactive"><button onclick="toggleNav()" type="button" title="Menu (CTRL&#43;ALT&#43;n)"><i class="fa-fw fas fa-bars"></i></button></span>
110            </div>
111            <div class="topbar-button topbar-button-toc default-animation" data-content-empty="hide" data-width-s="show" data-width-m="show" data-width-l="show">
112<span class="btn cstyle button link noborder notitle interactive"><button onclick="toggleTopbarFlyout(this)" type="button" title="Table of Contents (CTRL&#43;ALT&#43;t)"><i class="fa-fw fas fa-table-list"></i></button></span>
113              <div class="topbar-content">
114                <div class="topbar-content-wrapper"> 
115                </div>
116              </div>
117            </div>
118          </div>
119          <ol class="topbar-breadcrumbs breadcrumbs highlightable" itemscope itemtype="http://schema.org/BreadcrumbList"><li itemscope itemtype="https://schema.org/ListItem" itemprop="itemListElement" class="a11y-only"><a itemprop="item" href="/index.html"><span itemprop="name">Secure entropy? Your entropy.</span></a><meta itemprop="position" content="1">&nbsp;>&nbsp;</li><li itemscope itemtype="https://schema.org/ListItem" itemprop="itemListElement" class=""><span itemprop="name">About the banner</span><meta itemprop="position" content="2"></li>
120          </ol>
121          <div class="topbar-area topbar-area-end" data-area="end">
122            <div class="topbar-button topbar-button-prev default-animation" data-content-empty="disable" data-width-s="show" data-width-m="show" data-width-l="show">
123<span class="btn cstyle button link noborder notitle interactive"><a href="/repositories/index.html" title="Repositories (🡐)"><i class="fa-fw fas fa-chevron-left"></i></a></span>
124            </div>
125            <div class="topbar-button topbar-button-next default-animation" data-content-empty="disable" data-width-s="show" data-width-m="show" data-width-l="show">
126<span class="btn cstyle button link noborder notitle"><span><i class="fa-fw fas fa-chevron-right"></i></span></span>
127            </div>
128            <div class="topbar-button topbar-button-more default-animation" data-content-empty="hide" data-width-s="show" data-width-m="show" data-width-l="show">
129<span class="btn cstyle button link noborder notitle interactive"><button onclick="toggleTopbarFlyout(this)" type="button" title="More"><i class="fa-fw fas fa-ellipsis-v"></i></button></span>
130              <div class="topbar-content">
131                <div class="topbar-content-wrapper">
132                  <div class="topbar-area topbar-area-more" data-area="more">
133                  </div>
134                </div>
135              </div>
136            </div>
137          </div>
138        </div>
139      </nav>
140      <div id="R-main-overlay"></div>
141      <main id="R-body-inner" class="highlightable page" tabindex="-1">
142        <div class="flex-block-wrapper">
143<article class="default">
144  <header class="headline">
145  </header>
146
147<h1 id="about-the-banner">About the banner</h1>
148
149<p>The banner is 100 data points from the CMOS camera sensor within the <a href="/photonic/index.html">Photonic Instrument</a>. It is served up in sequential RGB format from decoded JPEG frames.   Effectively, 100 image raster byte values. It&rsquo;s intended to look fancy, but is <strong>not</strong> raw entropy per-se for the reasons stated <a href="/photonic/technical/entropy-measurement/index.html">here</a> and <a href="/photonic/live-entropy/index.html">here</a>. Therefore the Shannon entropy rate is approximately 0.023 bits/raster byte. This gives a whopping total of 2.3 Kolmogorov random bits for $H(\text{banner})$, as $ \frac{100}{640 \times 480 \times 3} \times 21,400 $ bits conservatively based on 1 bit of entropy per <code>.jpg</code> file byte.</p>
150<p>It does look ever so wobbly and random though doesn’t it?  The data for the banner arrives as a 100 byte array, looking something like:- [20,10,6,20,8,4,18,6,2,16,4,2,16,4,3,17,5,3, 17,5,2,16,4,0,13,1,1,15,3,6,20,8,7,21,9,2, 16,4,0,13,1,2,16,4,3,17,5,0,14,2,2,20,19,5, 21,20,6,22,21,9,21,21,10,20,20,12,17,18,10, 15,16,9,13,14,17,21,22,13,17,18,9,13,14,5,9, 10,3,11,11,6,14,14,9,19,19,15,23,22,11,18].</p>
151<p>It’s slightly counter intuitive as to how the above sequence might be represented by only 2.3 truly random bits. That’s because it’s a pseudo random sequence generated by the decoding of a JPEG algorithm operating on a much smaller <code>.jpg</code> file.  You might think of this <code>.jpg</code> as akin to a one off seed for a PRNG.  Hence <a href="/golden-rules/index.html#3-output-less-entropy-than-you-generate">Golden Rule</a> 3; Don’t try to extract more entropy than actually exists. Or $ \text{Ext}: \{0,1\}^n \to \{0,1\}^m $ such that $ \Sigma{m_i} &lt; |\text{.jpg}| $ for every and each image frame, and $ m_i &lt; n_i $ for any individual extraction operation $i$.</p>
152<p>This odd quirk of mathematics/cryptography is further empirical proof of the perils of <a href="/problems/proving-randomness/index.html">computational indistinguishability</a>, and how easy it is to cock-it all up.</p>
153
154  <footer class="footline">
155  </footer>
156</article>
157        </div>
158      </main>
159    </div>
160    <aside id="R-sidebar" class="default-animation">
161      <div id="R-header-topbar" class="default-animation"></div>
162      <div id="R-header-wrapper" class="default-animation">
163        <a id="R-logo" class="R-default direction-row" href="/index.html">
164          <span class="logo-image default-animation" data-r-logo-variant="rrr-custom-variant">
165<img class="lazy figure-image" loading="lazy" src="/logo.svg" style="height: auto;width: auto;">
166          </span>
167        </a>
168        <search><form action="/search/index.html" method="get">
169          <div class="searchbox default-animation">
170            <button class="search-detail" type="submit" title="Search (CTRL+ALT+f)"><i class="fas fa-fw fa-search"></i></button>
171            <label class="a11y-only" for="R-search-by">Search</label>
172            <input data-search-input id="R-search-by" name="search-by" class="search-by" type="search" placeholder="Search...">
173            <button class="search-clear" type="button" data-search-clear="" title="Clear search"><i class="fas fa-fw fa-times" title="Clear search"></i></button>
174          </div>
175        </form></search>
176      </div>
177      <div id="R-homelinks" class="default-animation homelinks">
178        <div class="R-menu-divider default-animation">
179          <hr class="padding default-animation">
180        </div>
181        <div class="R-sidebarmenu R-shortcutmenu-homelinks default-animation">
182          <ul class="space collapsible-menu">
183            <li class="" data-nav-id="/index.html"><a class="padding" href="/index.html"><i class="fa-fw fas fa-home"></i> Home</a></li>
184          </ul>
185        </div>
186        <div class="R-menu-divider default-animation">
187          <hr class="padding default-animation">
188        </div>
189        <div class="R-sidebarmenu R-shortcutmenu-headercontrols default-animation">
190          <ul class="">
191          </ul>
192        </div>
193        <div class="R-menu-divider default-animation">
194          <hr class="padding default-animation">
195        </div>
196      </div>
197      <div id="R-content-wrapper" class="highlightable">
198        <div class="R-sidebarmenu R-shortcutmenu-main default-animation">
199          <ul class="enlarge morespace collapsible-menu">
200            <li class="" data-nav-id="/entropy-is/index.html"><a class="padding" href="/entropy-is/index.html">Entropy is...<i class="fa-fw fas fa-check read-icon"></i></a></li>
201            <li class="" data-nav-id="/news/index.html"><a class="padding" href="/news/index.html">What&#39;s new?<i class="fa-fw fas fa-check read-icon"></i></a></li>
202            <li class="" data-nav-id="/problems/index.html"><a class="padding default-animation" href="/problems/index.html">Problems with TRNGs<i class="fa-fw fas fa-check read-icon"></i></a><ul id="R-subsections-c67ad2eb3037a1bcbe769aeec1431385" class="collapsible-menu"></ul></li>
203            <li class="" data-nav-id="/about/index.html"><a class="padding default-animation" href="/about/index.html">About this site<i class="fa-fw fas fa-check read-icon"></i></a><ul id="R-subsections-77102f70526b1c2db0eced54632dc618" class="collapsible-menu"></ul></li>
204            <li class="" data-nav-id="/golden-rules/index.html"><a class="padding default-animation" href="/golden-rules/index.html">Three Golden Rules...<i class="fa-fw fas fa-check read-icon"></i></a><ul id="R-subsections-ff989e9d4801696c721e27f6fa391d53" class="collapsible-menu"></ul></li>
205            <li class="" data-nav-id="/zener/index.html"><a class="padding default-animation" href="/zener/index.html">Zener diode entropy source<i class="fa-fw fas fa-check read-icon"></i></a><ul id="R-subsections-23cbdca9dc8ab5fec3906509cd7ec0f6" class="collapsible-menu"></ul></li>
206            <li class="" data-nav-id="/photonic/index.html"><a class="padding default-animation" href="/photonic/index.html">Photonic Instrument<i class="fa-fw fas fa-check read-icon"></i></a><ul id="R-subsections-ca71fac389e3d8884d5204f104a095fa" class="collapsible-menu"></ul></li>
207            <li class="" data-nav-id="/zenerglass/index.html"><a class="padding default-animation" href="/zenerglass/index.html">Zenerglass<i class="fa-fw fas fa-check read-icon"></i></a><ul id="R-subsections-a7e52f13f4315604b7e480541d866d45" class="collapsible-menu"></ul></li>
208            <li class="" data-nav-id="/random-number/index.html"><a class="padding" href="/random-number/index.html">Live random digits<i class="fa-fw fas fa-check read-icon"></i></a></li>
209            <li class="" data-nav-id="/nullgamma/index.html"><a class="padding default-animation" href="/nullgamma/index.html">Null Gamma Device<i class="fa-fw fas fa-check read-icon"></i></a><ul id="R-subsections-ff67695a6b3fa8bb7b0ae0349a920924" class="collapsible-menu"></ul></li>
210            <li class="" data-nav-id="/matahari/index.html"><a class="padding default-animation" href="/matahari/index.html">Type 3 - Mata Hari<i class="fa-fw fas fa-check read-icon"></i></a><ul id="R-subsections-f25f31a30756241b445094b4cb68c5dd" class="collapsible-menu"></ul></li>
211            <li class="" data-nav-id="/contact-us/index.html"><a class="padding default-animation" href="/contact-us/index.html">Contact us<i class="fa-fw fas fa-check read-icon"></i></a><ul id="R-subsections-a875fe50fd6b33e4aecadab93a3deeaf" class="collapsible-menu"></ul></li>
212            <li class="" data-nav-id="/ent3000/index.html"><a class="padding default-animation" href="/ent3000/index.html">ent3000<i class="fa-fw fas fa-check read-icon"></i></a><ul id="R-subsections-183ba44cf1a3236cd1dddccd8e24c3a8" class="collapsible-menu"></ul></li>
213            <li class="" data-nav-id="/repositories/index.html"><a class="padding" href="/repositories/index.html">Repositories<i class="fa-fw fas fa-check read-icon"></i></a></li>
214            <li class="active hidden " data-nav-id="/banner-about/index.html"><a class="padding" href="/banner-about/index.html">About the banner<i class="fa-fw fas fa-check read-icon"></i></a></li>
215          </ul>
216        </div>
217        <div class="R-sidebarmenu R-shortcutmenu-shortcuts default-animation">
218          <div class="nav-title padding">More</div>
219          <ul class="space collapsible-menu">
220            <li class="" data-nav-id="/photonic/live-entropy/index.html"><a class="padding" href="/photonic/live-entropy/index.html"><i class='fas fa-chart-line'></i> Photonic entropy<i class="fa-fw fas fa-check read-icon"></i></a></li>
221            <li class="" data-nav-id="/zenerglass/live-entropy/index.html"><a class="padding" href="/zenerglass/live-entropy/index.html"><i class='fas fa-chart-line'></i> Zenerglass entropy<i class="fa-fw fas fa-check read-icon"></i></a></li>
222            <li class="" data-nav-id="/nullgamma/live-entropy/index.html"><a class="padding" href="/nullgamma/live-entropy/index.html"><i class='fas fa-chart-line'></i> Null Gamma entropy<i class="fa-fw fas fa-check read-icon"></i></a></li>
223            <li class="" data-nav-id="/random-number/index.html"><a class="padding" href="/random-number/index.html"><i class='fas fa-th'></i> Random digits<i class="fa-fw fas fa-check read-icon"></i></a></li>
224            <li class="" data-nav-id="/entropyservlets/random-walk.jsp"><a class="padding" href="/entropyservlets/random-walk.jsp"><i class='fas fa-running'></i> Random walk<i class="fa-fw fas fa-check read-icon"></i></a></li>
225            <li class="" data-nav-id="/zenerglass/life-answers/index.html"><a class="padding" href="/zenerglass/life-answers/index.html"><i class='fas fa-hamsa'></i> Life answers<i class="fa-fw fas fa-check read-icon"></i></a></li>
226          </ul>
227        </div>
228        <div id="R-footer-margin" class="default-animation"></div>
229        <div class="R-menu-divider default-animation">
230          <hr class="padding default-animation">
231        </div>
232        <div class="R-sidebarmenu R-shortcutmenu-footercontrols default-animation">
233          <ul class="">
234            <li class="R-historyclearer">
235              <div class="padding menu-control">
236                <i class="fa-fw fas fa-history"></i>
237                <span>&nbsp;</span>
238                <div class="control-style">
239                  <button>Clear History</button>
240                </div>
241                <div class="clear"></div>
242              </div>
243            </li>
244          </ul>
245        </div>
246<div id="R-footer" class="default-animation"><p>Built with <a href="https://github.com/McShelby/hugo-theme-relearn" title="love"><i class="fas fa-heart"></i></a> by
247    <a href="https://gohugo.io/">Hugo</a></p></div>
248      </div>
249    </aside>
250    
250<script>
251      window.MathJax = Object.assign( window.MathJax || {}, {
252        tex: {
253          inlineMath:  [['\\(', '\\)'], ['$',  '$']],  
254          displayMath: [['\\[', '\\]'], ['$$', '$$']], 
255        },
256        options: {
257          enableMenu: true 
258          ,          
259    menuOptions: {
260      settings: {
261        zoom: 'Click',        
262        zscale: '250%',        
263        }}}
264      }, JSON.parse("{}") );
265    </script>
265
266    
266<script id="MathJax-script" async src="/js/mathjax/tex-mml-chtml.js?1784076360"></script>
266
267    
267<script src="/js/perfect-scrollbar/perfect-scrollbar.min.js?1784076360" defer></script>
267
268    
268<script src="/js/theme.min.js?1784076360" defer></script>
268
269    <div id="toast-container" role="status" aria-live="polite" aria-atomic="false"></div>
270  </body>
271</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.