<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>http://wiki.labaixbidouille.com/index.php?action=history&amp;feed=atom&amp;title=Random_Shield</id>
		<title>Random Shield - Historique des versions</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.labaixbidouille.com/index.php?action=history&amp;feed=atom&amp;title=Random_Shield"/>
		<link rel="alternate" type="text/html" href="http://wiki.labaixbidouille.com/index.php?title=Random_Shield&amp;action=history"/>
		<updated>2026-04-18T09:51:09Z</updated>
		<subtitle>Historique pour cette page sur le wiki</subtitle>
		<generator>MediaWiki 1.26.0</generator>

	<entry>
		<id>http://wiki.labaixbidouille.com/index.php?title=Random_Shield&amp;diff=66&amp;oldid=prev</id>
		<title>Adminsys : Page créée avec « == Présentation du projet == &lt;br&gt; '''Générateur de bits aléatoires pour Arduino''' &lt;br&gt; &lt;br&gt; *  Permet de générer des bits aléatoires pour des applications ludi... »</title>
		<link rel="alternate" type="text/html" href="http://wiki.labaixbidouille.com/index.php?title=Random_Shield&amp;diff=66&amp;oldid=prev"/>
				<updated>2015-12-08T18:46:28Z</updated>
		
		<summary type="html">&lt;p&gt;Page créée avec « == &lt;a href=&quot;/index.php?title=Pr%C3%A9sentation_du_projet&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Présentation du projet (page inexistante)&quot;&gt;Présentation du projet&lt;/a&gt; == &amp;lt;br&amp;gt; &amp;#039;&amp;#039;&amp;#039;Générateur de bits aléatoires pour Arduino&amp;#039;&amp;#039;&amp;#039; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; *  Permet de générer des bits aléatoires pour des applications ludi... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== [[Présentation du projet]] ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Générateur de bits aléatoires pour Arduino''' &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*  Permet de générer des bits aléatoires pour des applications ludiques ou cryptographiques&amp;lt;br&amp;gt;&lt;br /&gt;
*  Circuit simple à mettre en oeuvre&amp;lt;br&amp;gt;&lt;br /&gt;
*  Nécessite deux piles 9V ou une alimentation symétrique 12V&lt;br /&gt;
*  Vitesse d'acquisition max de 6.25 kbits par seconde&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:random2.jpg|600px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== [[Circuit de base]] ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:circuitrandom1.jpg|600px]]&lt;br /&gt;
[[Fichier:circuitrandom2.jpg|600px]]&lt;br /&gt;
== [[Principe de fonctionnement]] ==&lt;br /&gt;
On génère du bruit en se plaçant dans la zone de tension inverse d'une diode zener ou d'une jonction PN en inverse d'un transistor. On assiste alors à un effet d'avalanche, où les électrons vont se mouvoir de manière complètement aléatoire. On utilise ici un 2N3904 car sa tension inverse n'est pas très élevée (8.2V) et le bruit qu'il génère possède une grande amplitude. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
On amplifie le signal obtenu à travers un AOP, mais en faisant d'abord passer le signal à travers un condensateur. Ceci permet d'éliminer la tension d'offset (la tension inverse) de 8.2V. Noter que le schéma d'alimentation avec les deux piles n'est pas symétrique : on se met en +12V justement pour être bien au-dessus de la tension d'avalanche. &lt;br /&gt;
On amplifie le signal de telle sorte qu'on ait une amplitude de 4V peak to peak (il évolue entre +2V et -2V pour l'instant).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note : J'avais mesuré un bruit de 90mV à la sortie de C1, mais j'ai découvert qu'il fallait une résistance de 2Mohms sur le feedback de l'AOP, soit un gain de 2000. Je devrais alors avoir en théorie un signal de sortie de 180V peak to peak !!! Mystère encore à ce jour ... Mais bon, vu que ça marche bien comme ça ... :-)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
A la sortie de l'AOP, on place encore un autre condensateur afin de pouvoir mettre une tension d'offset sur le signal amplifié. En effet, la logique de l'Arduino est : logique 0 : 0-0.9V et logique 1 : 3V-4.2V. Il faut donc que le signal soit bien ajusté dans cette bande. Par expérience, j'ai trouvé qu'il faut régler le potentiomètre P2 à 2.5V. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Note : Au fur et à mesure que les piles 9V se déchargent, il sera probablement nécessaire de réajuster le potentiomètre P1 pour qu'on ait bien +12V. La valeur de la tension négative importe peu, du moment, qu'on ait -3V minimum pour assurer l'amplification correcte du signal. Il faudra également vérifier que P2 délivre 2.5V.&lt;br /&gt;
&lt;br /&gt;
== [[Code Arduino]] ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Basic program that acquires the noise bits as fast as possible&lt;br /&gt;
// Led interface for status report&lt;br /&gt;
// One bit per byte in the SD file&lt;br /&gt;
// 6.25 kbits per second max&lt;br /&gt;
// Claude Jaspart claude.a.jaspart@gmail.com - June 2015&lt;br /&gt;
 &lt;br /&gt;
#include &amp;lt;SPI.h&amp;gt;&lt;br /&gt;
#include &amp;lt;SD.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File myFile;&lt;br /&gt;
&lt;br /&gt;
int RNG_signal = 8;                          // The signal of the shield is on this pin&lt;br /&gt;
int ledwait = 7;                             // This led will indicate the init phase of the program&lt;br /&gt;
                                             // If ledwait turns on at the same as ledack, then the SD card couldn't be init&lt;br /&gt;
int ledacq=6;                                // This led will indicate that the Arduino is acquiring bits&lt;br /&gt;
int ledok=5;                                 // This led will indicate that the Arduino has finishing acquiring the bits and the SD card can be removed&lt;br /&gt;
&lt;br /&gt;
unsigned int RNG_bit = 0;                    // The value of the read bit from the signal will be stored here&lt;br /&gt;
unsigned int counter = 0;                    // Used for determining how many bits have been read so far&lt;br /&gt;
const unsigned int max_count = 50000;        // Max value could be 65535, but simple to count in blocks of 50kbits  &lt;br /&gt;
unsigned int repeat = 1;                     // Used for determining how many bits have been read so far&lt;br /&gt;
const unsigned int max_repeat = 20;          // size of sample = max_count * max_repeat, here 20 * 50000 = 1 Mbits &lt;br /&gt;
unsigned int sample_microsecs = 500;         // If you want to read bits at a particular rate, 500 microsecs min value&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  // Defining the digital pins for the signal and leds&lt;br /&gt;
  pinMode(RNG_signal, INPUT);   &lt;br /&gt;
  pinMode(ledwait, OUTPUT);&lt;br /&gt;
  pinMode(ledacq, OUTPUT);&lt;br /&gt;
  pinMode(ledok, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
  // Init of the leds&lt;br /&gt;
  digitalWrite(ledwait, LOW);&lt;br /&gt;
  digitalWrite(ledacq, LOW);&lt;br /&gt;
  digitalWrite(ledok, LOW);&lt;br /&gt;
&lt;br /&gt;
  // Starting the init phase&lt;br /&gt;
  digitalWrite(ledwait, HIGH);&lt;br /&gt;
&lt;br /&gt;
  // Init the SD card&lt;br /&gt;
  if (!SD.begin(4)) &lt;br /&gt;
  {&lt;br /&gt;
    digitalWrite(ledacq, HIGH);&lt;br /&gt;
    digitalWrite(ledwait, HIGH);&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  // Creating the file&lt;br /&gt;
  myFile = SD.open(&amp;quot;rng.txt&amp;quot;, FILE_WRITE);&lt;br /&gt;
  &lt;br /&gt;
  // Going to the Acq phase&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  digitalWrite(ledwait, LOW);&lt;br /&gt;
  digitalWrite(ledacq, HIGH);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  // Reading the signal bit and writing it to the file&lt;br /&gt;
  RNG_bit = digitalRead(RNG_signal);  &lt;br /&gt;
  myFile.print(RNG_bit);&lt;br /&gt;
 &lt;br /&gt;
  // Block that determines how many bits have been read&lt;br /&gt;
  counter++;&lt;br /&gt;
   &lt;br /&gt;
  if ( counter &amp;gt;= max_count )&lt;br /&gt;
  {&lt;br /&gt;
    if (repeat &amp;gt;= max_repeat)&lt;br /&gt;
    {&lt;br /&gt;
      myFile.close();&lt;br /&gt;
      digitalWrite(ledacq, LOW);&lt;br /&gt;
      digitalWrite(ledok, HIGH);&lt;br /&gt;
      while(1);&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      repeat++;&lt;br /&gt;
      counter = 0;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // If you want to acquire bits at a given rate (min 500microsecs)&lt;br /&gt;
  //delayMicroseconds(time_sample_microsecs);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==[[Test du générateur]]==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il n'existe aucune méthode fiable pour déterminer si une suite de nombre est aléatoire. On ne peut que vérifier si le générateur se comporte &amp;quot;normalement&amp;quot; d'un point de vue statistique.&lt;br /&gt;
J'ai installé la batterie de test connue sous le nom DieHarder :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
terminal:sudo apt-get install dieharder&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Pour lancer les tests, rien de plus simple (ici sur un échantillon de 2 mégabits) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
terminal:dieharder -f rng.txt -a &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Voici le résultat :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
#=============================================================================#&lt;br /&gt;
#            dieharder version 3.31.1 Copyright 2003 Robert G. Brown          #&lt;br /&gt;
#=============================================================================#&lt;br /&gt;
   rng_name    |           filename             |rands/second|&lt;br /&gt;
        mt19937|                         RNG.TXT|  1.29e+08  |&lt;br /&gt;
#=============================================================================#&lt;br /&gt;
        test_name   |ntup| tsamples |psamples|  p-value |Assessment&lt;br /&gt;
#=============================================================================#&lt;br /&gt;
   diehard_birthdays|   0|       100|     100|0.30889575|  PASSED  &lt;br /&gt;
      diehard_operm5|   0|   1000000|     100|0.99081369|  PASSED  &lt;br /&gt;
  diehard_rank_32x32|   0|     40000|     100|0.79546934|  PASSED  &lt;br /&gt;
    diehard_rank_6x8|   0|    100000|     100|0.90281704|  PASSED  &lt;br /&gt;
   diehard_bitstream|   0|   2097152|     100|0.86512718|  PASSED  &lt;br /&gt;
        diehard_opso|   0|   2097152|     100|0.31791348|  PASSED  &lt;br /&gt;
        diehard_oqso|   0|   2097152|     100|0.53248615|  PASSED  &lt;br /&gt;
         diehard_dna|   0|   2097152|     100|0.78644034|  PASSED  &lt;br /&gt;
diehard_count_1s_str|   0|    256000|     100|0.90216600|  PASSED  &lt;br /&gt;
diehard_count_1s_byt|   0|    256000|     100|0.57958785|  PASSED  &lt;br /&gt;
 diehard_parking_lot|   0|     12000|     100|0.45123033|  PASSED  &lt;br /&gt;
    diehard_2dsphere|   2|      8000|     100|0.07839664|  PASSED  &lt;br /&gt;
    diehard_3dsphere|   3|      4000|     100|0.76106594|  PASSED  &lt;br /&gt;
     diehard_squeeze|   0|    100000|     100|0.02475387|  PASSED  &lt;br /&gt;
        diehard_sums|   0|       100|     100|0.16259036|  PASSED  &lt;br /&gt;
        diehard_runs|   0|    100000|     100|0.12672226|  PASSED  &lt;br /&gt;
        diehard_runs|   0|    100000|     100|0.42649685|  PASSED  &lt;br /&gt;
       diehard_craps|   0|    200000|     100|0.37205173|  PASSED  &lt;br /&gt;
       diehard_craps|   0|    200000|     100|0.78931850|  PASSED  &lt;br /&gt;
 marsaglia_tsang_gcd|   0|  10000000|     100|0.73730273|  PASSED  &lt;br /&gt;
 marsaglia_tsang_gcd|   0|  10000000|     100|0.83482357|  PASSED  &lt;br /&gt;
         sts_monobit|   1|    100000|     100|0.72618254|  PASSED  &lt;br /&gt;
            sts_runs|   2|    100000|     100|0.89478484|  PASSED  &lt;br /&gt;
          sts_serial|   1|    100000|     100|0.13273684|  PASSED  &lt;br /&gt;
          sts_serial|   2|    100000|     100|0.60467750|  PASSED  &lt;br /&gt;
          sts_serial|   3|    100000|     100|0.36788816|  PASSED  &lt;br /&gt;
          sts_serial|   3|    100000|     100|0.45945882|  PASSED  &lt;br /&gt;
          sts_serial|   4|    100000|     100|0.52089161|  PASSED  &lt;br /&gt;
          sts_serial|   4|    100000|     100|0.50654753|  PASSED  &lt;br /&gt;
          sts_serial|   5|    100000|     100|0.64402415|  PASSED  &lt;br /&gt;
          sts_serial|   5|    100000|     100|0.90261034|  PASSED  &lt;br /&gt;
          sts_serial|   6|    100000|     100|0.54809205|  PASSED  &lt;br /&gt;
          sts_serial|   6|    100000|     100|0.53676669|  PASSED  &lt;br /&gt;
          sts_serial|   7|    100000|     100|0.07964161|  PASSED  &lt;br /&gt;
          sts_serial|   7|    100000|     100|0.04039882|  PASSED  &lt;br /&gt;
          sts_serial|   8|    100000|     100|0.12819180|  PASSED  &lt;br /&gt;
          sts_serial|   8|    100000|     100|0.98790885|  PASSED  &lt;br /&gt;
          sts_serial|   9|    100000|     100|0.13273201|  PASSED  &lt;br /&gt;
          sts_serial|   9|    100000|     100|0.35787029|  PASSED  &lt;br /&gt;
          sts_serial|  10|    100000|     100|0.82298480|  PASSED  &lt;br /&gt;
          sts_serial|  10|    100000|     100|0.97802272|  PASSED  &lt;br /&gt;
          sts_serial|  11|    100000|     100|0.87189101|  PASSED  &lt;br /&gt;
          sts_serial|  11|    100000|     100|0.65033244|  PASSED  &lt;br /&gt;
          sts_serial|  12|    100000|     100|0.93100183|  PASSED  &lt;br /&gt;
          sts_serial|  12|    100000|     100|0.99869428|   WEAK   &lt;br /&gt;
          sts_serial|  13|    100000|     100|0.99646843|   WEAK   &lt;br /&gt;
          sts_serial|  13|    100000|     100|0.40432078|  PASSED  &lt;br /&gt;
          sts_serial|  14|    100000|     100|0.71285726|  PASSED  &lt;br /&gt;
          sts_serial|  14|    100000|     100|0.31898898|  PASSED  &lt;br /&gt;
          sts_serial|  15|    100000|     100|0.88309583|  PASSED  &lt;br /&gt;
          sts_serial|  15|    100000|     100|0.95643787|  PASSED  &lt;br /&gt;
          sts_serial|  16|    100000|     100|0.89957361|  PASSED  &lt;br /&gt;
          sts_serial|  16|    100000|     100|0.96772499|  PASSED  &lt;br /&gt;
         rgb_bitdist|   1|    100000|     100|0.95623079|  PASSED  &lt;br /&gt;
         rgb_bitdist|   2|    100000|     100|0.58789918|  PASSED  &lt;br /&gt;
         rgb_bitdist|   3|    100000|     100|0.95440344|  PASSED  &lt;br /&gt;
         rgb_bitdist|   4|    100000|     100|0.98258544|  PASSED  &lt;br /&gt;
         rgb_bitdist|   5|    100000|     100|0.08135261|  PASSED  &lt;br /&gt;
         rgb_bitdist|   6|    100000|     100|0.92614458|  PASSED  &lt;br /&gt;
         rgb_bitdist|   7|    100000|     100|0.99177385|  PASSED  &lt;br /&gt;
         rgb_bitdist|   8|    100000|     100|0.99188216|  PASSED  &lt;br /&gt;
         rgb_bitdist|   9|    100000|     100|0.97692511|  PASSED  &lt;br /&gt;
         rgb_bitdist|  10|    100000|     100|0.47151755|  PASSED  &lt;br /&gt;
         rgb_bitdist|  11|    100000|     100|0.59783413|  PASSED  &lt;br /&gt;
         rgb_bitdist|  12|    100000|     100|0.19750764|  PASSED  &lt;br /&gt;
rgb_minimum_distance|   2|     10000|    1000|0.27194018|  PASSED  &lt;br /&gt;
rgb_minimum_distance|   3|     10000|    1000|0.28712170|  PASSED  &lt;br /&gt;
rgb_minimum_distance|   4|     10000|    1000|0.65299684|  PASSED  &lt;br /&gt;
rgb_minimum_distance|   5|     10000|    1000|0.12188697|  PASSED  &lt;br /&gt;
    rgb_permutations|   2|    100000|     100|0.56273791|  PASSED  &lt;br /&gt;
    rgb_permutations|   3|    100000|     100|0.64514608|  PASSED  &lt;br /&gt;
    rgb_permutations|   4|    100000|     100|0.31960630|  PASSED  &lt;br /&gt;
    rgb_permutations|   5|    100000|     100|0.84713061|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|   0|   1000000|     100|0.88527221|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|   1|   1000000|     100|0.99152865|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|   2|   1000000|     100|0.07103505|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|   3|   1000000|     100|0.07072667|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|   4|   1000000|     100|0.06759505|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|   5|   1000000|     100|0.24333290|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|   6|   1000000|     100|0.13992249|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|   7|   1000000|     100|0.50312525|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|   8|   1000000|     100|0.11746691|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|   9|   1000000|     100|0.45940744|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|  10|   1000000|     100|0.39016408|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|  11|   1000000|     100|0.65350506|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|  12|   1000000|     100|0.99241243|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|  13|   1000000|     100|0.05774255|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|  14|   1000000|     100|0.35248899|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|  15|   1000000|     100|0.34204029|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|  16|   1000000|     100|0.26109225|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|  17|   1000000|     100|0.25001244|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|  18|   1000000|     100|0.08612312|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|  19|   1000000|     100|0.67709116|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|  20|   1000000|     100|0.19598901|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|  21|   1000000|     100|0.58653101|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|  22|   1000000|     100|0.54480996|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|  23|   1000000|     100|0.97657972|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|  24|   1000000|     100|0.06151635|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|  25|   1000000|     100|0.69753975|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|  26|   1000000|     100|0.44499540|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|  27|   1000000|     100|0.85393902|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|  28|   1000000|     100|0.17044719|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|  29|   1000000|     100|0.98515748|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|  30|   1000000|     100|0.92187461|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|  31|   1000000|     100|0.62877226|  PASSED  &lt;br /&gt;
      rgb_lagged_sum|  32|   1000000|     100|0.99398180|  PASSED  &lt;br /&gt;
     rgb_kstest_test|   0|     10000|    1000|0.00510267|  PASSED  &lt;br /&gt;
     dab_bytedistrib|   0|  51200000|       1|0.96033595|  PASSED  &lt;br /&gt;
             dab_dct| 256|     50000|       1|0.74894574|  PASSED  &lt;br /&gt;
Preparing to run test 207.  ntuple = 0&lt;br /&gt;
        dab_filltree|  32|  15000000|       1|0.61815623|  PASSED  &lt;br /&gt;
        dab_filltree|  32|  15000000|       1|0.11110069|  PASSED  &lt;br /&gt;
Preparing to run test 208.  ntuple = 0&lt;br /&gt;
       dab_filltree2|   0|   5000000|       1|0.69384760|  PASSED  &lt;br /&gt;
       dab_filltree2|   1|   5000000|       1|0.87581645|  PASSED  &lt;br /&gt;
Preparing to run test 209.  ntuple = 0&lt;br /&gt;
        dab_monobit2|  12|  65000000|       1|0.58191574|  PASSED  &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A part deux instances où le test a échoué, je me sens très confiant dans l'efficacité du générateur.&lt;br /&gt;
&lt;br /&gt;
== [[Evolution du projet]] ==&lt;br /&gt;
* Boitier de rangement&lt;br /&gt;
* Compresser 8 random bits sur 1 byte&lt;br /&gt;
* Interface graphique avec menus et potentiomètre/boutons poussoirs pour faire la sélection&lt;br /&gt;
* Interface bluetooth pour connection avec un smartphone&lt;br /&gt;
* Générer et afficher en gros sur l'écran un ou plusieurs nombres aléatoires (pour remplacer les dés)&lt;br /&gt;
* Deuxième carte SD pour l'application cryptographique One Time Pad&lt;br /&gt;
&lt;br /&gt;
== [[Références]] ==&lt;br /&gt;
http://holdenc.altervista.org/avalanche/&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.random.org/&lt;/div&gt;</summary>
		<author><name>Adminsys</name></author>	</entry>

	</feed>