Skip to content

mimok/yast-rng-fw

Repository files navigation

Random Number Generator firmware for YAST

Purpose of this firmware

This firmware implements a random number generator application which generates and sends a random stream of bytes through a virtual com port. Three operation modes are available to tune the compromise between throughput and randomness.

Disclaimer

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Design

SE050 implements a high quality TRNG (AIS31 TRNG class PTG.2 + AIS20 PRNG class DRG.3), this RNG is used to seed a DRBG hosted on the LPC55 side hence increasing the overall throughput of the device. LPC55's DRBG is implemented using MBEDTLS DRBG which is a SP800-90A compliant DRBG.

Three modes of operation are implemented:

  • Secure: DRBG on LPC55 side is disabled, only the SE050 RNG is used and random data are retrieved by chunks of 1204 bytes. Random data are then forwarded to the host PC through the VCOM interface.
  • Standard: DRBG on LPC55 side is enabled and seeded by the SE050 RNG. Random data are generated by chunks of 1024 bytes and a reseed (32 bytes) from SE050 is triggered for each data chunk.
  • Fast: DRBG on LPC55 side is enabled and seeded by the SE050 RNG. Random data are generated by chunks of 1024 bytes and a reseed (32 bytes) from SE050 is triggered every 10000 chunks.

The actual mode of operation is controlled thanks to RNGSPEED macro:

Mode of operation RNGSPEED value
Secure 3
Standard 1
Fast 0

Throughput

Mode of operation Throughput (B/s)
Secure 13481
Standard 36598
Fast 292629

RNG Quality

Hereafter the results of the NIST statistical test suite for each mode of operation (computed on 10 sets of 1MB of random data).

Fast Mode

------------------------------------------------------------------------------
RESULTS FOR THE UNIFORMITY OF P-VALUES AND THE PROPORTION OF PASSING SEQUENCES
------------------------------------------------------------------------------
   generator is <dump_fast>
------------------------------------------------------------------------------
 C1  C2  C3  C4  C5  C6  C7  C8  C9 C10  P-VALUE  PROPORTION  STATISTICAL TEST
------------------------------------------------------------------------------
  2   1   0   0   3   1   1   0   1   1  0.534146     10/10      Frequency
  0   1   2   0   1   0   2   1   2   1  0.739918     10/10      BlockFrequency
  2   2   2   0   2   0   0   0   2   0  0.350485     10/10      CumulativeSums
  2   1   0   1   0   1   3   0   0   2  0.350485      9/10      CumulativeSums
  1   2   0   0   1   1   1   2   2   0  0.739918     10/10      Runs
  1   2   0   0   2   1   3   0   0   1  0.350485      9/10      LongestRun
  1   3   0   0   3   0   2   0   1   0  0.122325     10/10      Rank
  2   0   2   0   1   0   1   2   1   1  0.739918     10/10      FFT
  3   2   1   0   1   0   1   0   1   1  0.534146     10/10      NonOverlappingTemplate
  1   1   2   1   0   1   1   1   2   0  0.911413     10/10      NonOverlappingTemplate
  0   2   0   1   1   2   0   1   2   1  0.739918     10/10      NonOverlappingTemplate
  3   1   1   0   3   0   0   0   1   1  0.213309     10/10      NonOverlappingTemplate
  1   0   0   1   1   3   2   0   1   1  0.534146     10/10      NonOverlappingTemplate
  4   2   0   0   1   0   1   1   0   1  0.122325     10/10      NonOverlappingTemplate
  1   1   1   1   1   1   0   1   2   1  0.991468     10/10      NonOverlappingTemplate
  1   0   3   0   1   0   1   3   1   0  0.213309      9/10      NonOverlappingTemplate
  1   1   1   2   1   2   1   1   0   0  0.911413     10/10      NonOverlappingTemplate
  0   0   0   2   3   2   1   1   0   1  0.350485     10/10      NonOverlappingTemplate
  2   0   3   1   0   0   1   2   1   0  0.350485     10/10      NonOverlappingTemplate
  2   1   0   1   1   1   0   0   2   2  0.739918     10/10      NonOverlappingTemplate
  2   0   2   2   1   2   0   0   0   1  0.534146     10/10      NonOverlappingTemplate
  0   0   2   1   3   1   3   0   0   0  0.122325     10/10      NonOverlappingTemplate
  2   0   1   1   2   0   2   0   0   2  0.534146     10/10      NonOverlappingTemplate
  0   0   1   0   0   0   1   5   1   2  0.008879     10/10      NonOverlappingTemplate
  1   3   1   0   0   2   0   1   1   1  0.534146     10/10      NonOverlappingTemplate
  0   0   1   3   1   3   0   0   0   2  0.122325     10/10      NonOverlappingTemplate
  1   0   3   1   0   4   0   0   0   1  0.035174     10/10      NonOverlappingTemplate
  1   1   4   1   2   0   0   0   0   1  0.122325     10/10      NonOverlappingTemplate
  1   2   2   0   3   1   0   0   0   1  0.350485     10/10      NonOverlappingTemplate
  1   3   1   2   1   0   0   1   0   1  0.534146     10/10      NonOverlappingTemplate
  1   1   0   1   1   1   2   1   1   1  0.991468     10/10      NonOverlappingTemplate
  3   0   0   0   1   2   1   0   0   3  0.122325      9/10      NonOverlappingTemplate
  1   0   1   0   0   3   3   2   0   0  0.122325     10/10      NonOverlappingTemplate
  2   2   1   1   2   1   0   0   0   1  0.739918     10/10      NonOverlappingTemplate
  3   1   2   0   0   0   1   0   0   3  0.122325      9/10      NonOverlappingTemplate
  1   0   3   0   2   0   1   2   0   1  0.350485     10/10      NonOverlappingTemplate
  2   0   2   2   0   0   3   0   0   1  0.213309     10/10      NonOverlappingTemplate
  1   1   0   2   1   0   3   2   0   0  0.350485     10/10      NonOverlappingTemplate
  1   0   1   0   1   2   2   1   0   2  0.739918     10/10      NonOverlappingTemplate
  1   2   0   0   2   3   1   0   0   1  0.350485     10/10      NonOverlappingTemplate
  1   1   1   1   1   1   0   2   1   1  0.991468     10/10      NonOverlappingTemplate
  2   1   3   0   0   1   0   0   2   1  0.350485     10/10      NonOverlappingTemplate
  2   2   1   0   0   1   2   0   0   2  0.534146      9/10      NonOverlappingTemplate
  1   1   1   2   1   1   2   0   1   0  0.911413     10/10      NonOverlappingTemplate
  0   0   1   2   1   2   2   0   1   1  0.739918     10/10      NonOverlappingTemplate
  4   0   0   0   2   0   1   0   0   3  0.017912      9/10      NonOverlappingTemplate
  0   2   0   1   2   2   0   1   1   1  0.739918     10/10      NonOverlappingTemplate
  3   2   1   1   1   1   0   1   0   0  0.534146     10/10      NonOverlappingTemplate
  1   0   2   1   2   0   1   0   2   1  0.739918     10/10      NonOverlappingTemplate
  2   2   2   0   0   1   2   1   0   0  0.534146     10/10      NonOverlappingTemplate
  2   3   1   0   1   1   0   1   1   0  0.534146     10/10      NonOverlappingTemplate
  1   0   1   1   0   3   3   0   1   0  0.213309     10/10      NonOverlappingTemplate
  1   0   0   2   3   1   2   0   1   0  0.350485     10/10      NonOverlappingTemplate
  1   1   2   1   0   1   2   1   0   1  0.911413     10/10      NonOverlappingTemplate
  0   0   3   0   1   0   2   0   3   1  0.122325     10/10      NonOverlappingTemplate
  0   0   1   2   0   1   1   1   4   0  0.122325     10/10      NonOverlappingTemplate
  0   1   0   2   3   1   0   1   1   1  0.534146     10/10      NonOverlappingTemplate
  1   3   0   3   0   0   1   1   1   0  0.213309     10/10      NonOverlappingTemplate
  1   3   0   0   0   3   1   1   1   0  0.213309      9/10      NonOverlappingTemplate
  0   1   1   0   1   2   0   1   1   3  0.534146     10/10      NonOverlappingTemplate
  2   2   3   1   0   0   1   1   0   0  0.350485     10/10      NonOverlappingTemplate
  0   2   0   1   0   2   1   2   0   2  0.534146     10/10      NonOverlappingTemplate
  3   2   0   2   1   0   1   0   0   1  0.350485     10/10      NonOverlappingTemplate
  3   1   2   0   0   0   0   2   2   0  0.213309     10/10      NonOverlappingTemplate
  1   2   0   0   1   0   4   1   0   1  0.122325      9/10      NonOverlappingTemplate
  1   0   0   2   0   0   1   2   2   2  0.534146     10/10      NonOverlappingTemplate
  1   1   2   0   2   2   0   0   1   1  0.739918      9/10      NonOverlappingTemplate
  1   0   2   0   1   2   0   1   1   2  0.739918      9/10      NonOverlappingTemplate
  1   2   1   0   2   3   0   0   1   0  0.350485     10/10      NonOverlappingTemplate
  3   0   0   0   2   2   0   0   2   1  0.213309     10/10      NonOverlappingTemplate
  2   0   2   1   0   0   1   0   2   2  0.534146     10/10      NonOverlappingTemplate
  1   1   1   0   1   2   1   1   1   1  0.991468     10/10      NonOverlappingTemplate
  2   3   0   2   2   0   0   1   0   0  0.213309     10/10      NonOverlappingTemplate
  2   1   0   1   1   2   1   0   1   1  0.911413     10/10      NonOverlappingTemplate
  1   3   1   1   1   0   0   1   1   1  0.739918     10/10      NonOverlappingTemplate
  2   1   1   0   1   0   3   0   1   1  0.534146      9/10      NonOverlappingTemplate
  0   1   2   1   0   0   3   0   1   2  0.350485     10/10      NonOverlappingTemplate
  2   2   0   0   1   2   1   0   1   1  0.739918     10/10      NonOverlappingTemplate
  3   0   1   0   1   1   0   2   1   1  0.534146      9/10      NonOverlappingTemplate
  2   1   0   2   1   2   0   1   0   1  0.739918      9/10      NonOverlappingTemplate
  1   2   1   2   3   0   0   0   0   1  0.350485     10/10      NonOverlappingTemplate
  0   2   0   0   1   0   2   1   2   2  0.534146     10/10      NonOverlappingTemplate
  3   2   1   0   1   0   1   0   1   1  0.534146     10/10      NonOverlappingTemplate
  1   0   1   0   1   0   4   1   1   1  0.213309     10/10      NonOverlappingTemplate
  0   2   0   1   3   1   1   0   1   1  0.534146     10/10      NonOverlappingTemplate
  0   1   0   0   1   1   2   2   2   1  0.739918     10/10      NonOverlappingTemplate
  3   0   1   0   2   1   1   2   0   0  0.350485     10/10      NonOverlappingTemplate
  0   3   1   1   1   2   0   1   1   0  0.534146     10/10      NonOverlappingTemplate
  2   1   0   0   1   0   2   2   0   2  0.534146     10/10      NonOverlappingTemplate
  2   0   1   1   0   0   1   1   1   3  0.534146     10/10      NonOverlappingTemplate
  0   1   1   1   2   2   0   1   0   2  0.739918     10/10      NonOverlappingTemplate
  0   3   0   1   0   3   0   2   1   0  0.122325     10/10      NonOverlappingTemplate
  1   0   0   1   1   2   2   1   0   2  0.739918     10/10      NonOverlappingTemplate
  1   2   0   0   1   2   0   0   2   2  0.534146     10/10      NonOverlappingTemplate
  2   0   1   0   1   1   1   2   1   1  0.911413     10/10      NonOverlappingTemplate
  4   1   0   1   2   1   0   1   0   0  0.122325     10/10      NonOverlappingTemplate
  0   2   0   3   1   1   0   2   0   1  0.350485     10/10      NonOverlappingTemplate
  0   2   2   0   0   2   1   0   2   1  0.534146     10/10      NonOverlappingTemplate
  3   1   0   1   1   2   1   0   0   1  0.534146     10/10      NonOverlappingTemplate
  1   1   1   1   2   0   1   2   0   1  0.911413     10/10      NonOverlappingTemplate
  0   0   3   1   3   1   0   0   2   0  0.122325     10/10      NonOverlappingTemplate
  1   0   0   2   1   0   2   1   2   1  0.739918     10/10      NonOverlappingTemplate
  1   0   2   0   1   4   0   1   1   0  0.122325     10/10      NonOverlappingTemplate
  0   2   1   0   1   0   3   1   2   0  0.350485     10/10      NonOverlappingTemplate
  2   1   0   1   1   3   0   2   0   0  0.350485      9/10      NonOverlappingTemplate
  2   1   2   1   0   1   0   1   0   2  0.739918     10/10      NonOverlappingTemplate
  0   0   0   1   1   1   2   1   3   1  0.534146     10/10      NonOverlappingTemplate
  0   3   2   0   1   1   0   2   1   0  0.350485     10/10      NonOverlappingTemplate
  2   1   1   2   1   1   0   2   0   0  0.739918     10/10      NonOverlappingTemplate
  1   1   1   0   0   1   1   2   2   1  0.911413     10/10      NonOverlappingTemplate
  4   0   1   1   1   0   0   1   2   0  0.122325      8/10      NonOverlappingTemplate
  1   1   0   1   1   1   0   3   0   2  0.534146      9/10      NonOverlappingTemplate
  2   0   2   1   0   0   0   1   3   1  0.350485     10/10      NonOverlappingTemplate
  1   1   1   1   2   0   0   1   1   2  0.911413     10/10      NonOverlappingTemplate
  0   1   1   3   0   2   1   1   1   0  0.534146     10/10      NonOverlappingTemplate
  3   0   2   1   0   0   1   1   2   0  0.350485     10/10      NonOverlappingTemplate
  1   1   3   1   1   0   0   2   0   1  0.534146     10/10      NonOverlappingTemplate
  1   1   1   0   1   0   3   2   0   1  0.534146     10/10      NonOverlappingTemplate
  1   3   0   0   0   3   1   0   0   2  0.122325     10/10      NonOverlappingTemplate
  0   1   0   2   1   1   2   0   0   3  0.350485     10/10      NonOverlappingTemplate
  1   1   0   1   4   0   0   2   0   1  0.122325     10/10      NonOverlappingTemplate
  2   0   1   1   0   0   1   2   1   2  0.739918     10/10      NonOverlappingTemplate
  0   2   0   1   0   2   2   1   2   0  0.534146     10/10      NonOverlappingTemplate
  1   1   1   0   0   2   1   1   3   0  0.534146     10/10      NonOverlappingTemplate
  1   0   0   0   0   2   1   2   3   1  0.350485     10/10      NonOverlappingTemplate
  0   1   0   0   2   1   2   2   1   1  0.739918     10/10      NonOverlappingTemplate
  1   1   0   0   1   2   2   1   2   0  0.739918     10/10      NonOverlappingTemplate
  0   2   1   1   0   1   1   1   2   1  0.911413     10/10      NonOverlappingTemplate
  1   1   1   1   0   1   1   0   2   2  0.911413     10/10      NonOverlappingTemplate
  3   0   2   0   1   0   0   2   2   0  0.213309     10/10      NonOverlappingTemplate
  0   1   1   0   2   1   1   1   1   2  0.911413     10/10      NonOverlappingTemplate
  1   0   0   1   1   0   2   1   2   2  0.739918     10/10      NonOverlappingTemplate
  0   1   0   0   1   3   2   0   1   2  0.350485     10/10      NonOverlappingTemplate
  1   1   2   2   1   0   2   0   1   0  0.739918     10/10      NonOverlappingTemplate
  0   0   2   0   2   1   0   2   3   0  0.213309     10/10      NonOverlappingTemplate
  2   1   1   2   2   0   1   0   0   1  0.739918     10/10      NonOverlappingTemplate
  1   0   0   1   2   0   1   2   2   1  0.739918     10/10      NonOverlappingTemplate
  1   0   1   2   0   2   3   1   0   0  0.350485     10/10      NonOverlappingTemplate
  2   0   1   0   3   0   2   2   0   0  0.213309     10/10      NonOverlappingTemplate
  2   0   1   1   0   0   2   1   2   1  0.739918      9/10      NonOverlappingTemplate
  2   0   1   1   1   0   1   0   3   1  0.534146     10/10      NonOverlappingTemplate
  2   0   2   0   1   0   3   1   0   1  0.350485     10/10      NonOverlappingTemplate
  1   0   1   0   2   1   1   2   2   0  0.739918     10/10      NonOverlappingTemplate
  0   1   2   0   2   2   0   1   1   1  0.739918     10/10      NonOverlappingTemplate
  2   2   1   0   0   0   1   2   2   0  0.534146     10/10      NonOverlappingTemplate
  2   3   0   1   1   0   0   0   3   0  0.122325     10/10      NonOverlappingTemplate
  1   2   1   0   1   0   1   1   0   3  0.534146      9/10      NonOverlappingTemplate
  3   1   0   0   2   1   1   2   0   0  0.350485     10/10      NonOverlappingTemplate
  0   3   2   0   2   1   0   1   1   0  0.350485     10/10      NonOverlappingTemplate
  1   1   2   1   0   0   0   3   1   1  0.534146     10/10      NonOverlappingTemplate
  2   0   2   1   1   1   0   0   3   0  0.350485     10/10      NonOverlappingTemplate
  1   0   0   1   1   3   2   0   2   0  0.350485     10/10      NonOverlappingTemplate
  1   1   1   1   2   1   1   1   1   0  0.991468     10/10      NonOverlappingTemplate
  0   2   0   2   0   4   0   1   0   1  0.066882     10/10      NonOverlappingTemplate
  2   0   1   2   0   2   0   0   3   0  0.213309      9/10      NonOverlappingTemplate
  0   2   0   0   1   0   2   1   2   2  0.534146     10/10      NonOverlappingTemplate
  0   1   1   1   1   1   0   1   2   2  0.911413     10/10      OverlappingTemplate
  0   0   3   0   2   1   1   1   1   1  0.534146     10/10      Universal
  0   3   1   0   1   2   0   1   2   0  0.350485     10/10      ApproximateEntropy
  0   0   0   1   1   1   1   2   0   0     ----       6/6       RandomExcursions
  0   0   1   1   0   0   0   1   3   0     ----       6/6       RandomExcursions
  1   0   1   1   0   0   1   1   0   1     ----       6/6       RandomExcursions
  1   0   0   1   0   0   2   1   0   1     ----       6/6       RandomExcursions
  0   2   0   1   1   0   2   0   0   0     ----       6/6       RandomExcursions
  0   1   0   1   2   1   1   0   0   0     ----       6/6       RandomExcursions
  0   1   1   1   0   2   0   1   0   0     ----       6/6       RandomExcursions
  0   0   1   1   0   1   0   0   1   2     ----       6/6       RandomExcursions
  0   4   0   0   0   0   1   0   0   1     ----       6/6       RandomExcursionsVariant
  2   2   0   0   0   0   1   0   1   0     ----       6/6       RandomExcursionsVariant
  2   2   0   0   1   0   0   0   1   0     ----       6/6       RandomExcursionsVariant
  1   2   1   1   0   0   1   0   0   0     ----       6/6       RandomExcursionsVariant
  2   2   0   1   0   0   0   1   0   0     ----       6/6       RandomExcursionsVariant
  1   2   1   0   0   1   0   0   1   0     ----       6/6       RandomExcursionsVariant
  1   0   3   1   0   0   0   1   0   0     ----       6/6       RandomExcursionsVariant
  2   0   0   1   0   1   1   0   0   1     ----       6/6       RandomExcursionsVariant
  1   0   1   1   0   1   0   0   2   0     ----       6/6       RandomExcursionsVariant
  0   2   0   2   0   0   2   0   0   0     ----       6/6       RandomExcursionsVariant
  0   2   0   0   2   1   1   0   0   0     ----       6/6       RandomExcursionsVariant
  0   1   0   3   1   0   1   0   0   0     ----       6/6       RandomExcursionsVariant
  0   1   1   1   1   1   0   1   0   0     ----       6/6       RandomExcursionsVariant
  0   2   0   0   1   1   0   0   1   1     ----       6/6       RandomExcursionsVariant
  0   2   0   1   0   0   1   0   0   2     ----       6/6       RandomExcursionsVariant
  0   0   2   1   1   0   0   0   1   1     ----       6/6       RandomExcursionsVariant
  0   1   1   1   0   0   0   2   1   0     ----       6/6       RandomExcursionsVariant
  1   0   0   2   0   0   0   0   2   1     ----       6/6       RandomExcursionsVariant
  6   2   1   0   0   1   0   0   0   0  0.000199      7/10   *  Serial
  5   1   1   1   0   0   1   1   0   0  0.017912      8/10      Serial
  0   0   2   2   1   0   1   2   1   1  0.739918     10/10      LinearComplexity


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
The minimum pass rate for each statistical test with the exception of the
random excursion (variant) test is approximately = 8 for a
sample size = 10 binary sequences.

The minimum pass rate for the random excursion (variant) test
is approximately = 5 for a sample size = 6 binary sequences.

For further guidelines construct a probability table using the MAPLE program
provided in the addendum section of the documentation.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Standard mode of operation

------------------------------------------------------------------------------
RESULTS FOR THE UNIFORMITY OF P-VALUES AND THE PROPORTION OF PASSING SEQUENCES
------------------------------------------------------------------------------
   generator is <dump_standard>
------------------------------------------------------------------------------
 C1  C2  C3  C4  C5  C6  C7  C8  C9 C10  P-VALUE  PROPORTION  STATISTICAL TEST
------------------------------------------------------------------------------
  1   1   0   3   1   2   0   1   0   1  0.534146     10/10      Frequency
  1   1   1   1   2   3   1   0   0   0  0.534146     10/10      BlockFrequency
  0   2   1   1   1   2   1   1   0   1  0.911413     10/10      CumulativeSums
  1   1   1   0   0   2   1   2   1   1  0.911413     10/10      CumulativeSums
  1   2   1   1   1   0   1   1   2   0  0.911413     10/10      Runs
  2   1   1   0   1   1   0   1   2   1  0.911413     10/10      LongestRun
  0   2   1   2   1   0   0   3   1   0  0.350485     10/10      Rank
  2   1   0   3   1   1   0   2   0   0  0.350485      9/10      FFT
  1   1   0   1   0   1   2   1   1   2  0.911413     10/10      NonOverlappingTemplate
  4   0   1   0   0   1   3   0   0   1  0.035174     10/10      NonOverlappingTemplate
  0   1   2   2   1   0   1   0   0   3  0.350485     10/10      NonOverlappingTemplate
  1   1   1   2   0   0   0   1   1   3  0.534146     10/10      NonOverlappingTemplate
  1   1   1   3   0   1   0   0   2   1  0.534146     10/10      NonOverlappingTemplate
  1   1   2   0   1   0   1   3   0   1  0.534146     10/10      NonOverlappingTemplate
  0   0   1   1   0   1   4   0   0   3  0.035174     10/10      NonOverlappingTemplate
  3   0   1   0   1   1   0   2   1   1  0.534146      8/10      NonOverlappingTemplate
  1   1   2   3   0   0   1   0   2   0  0.350485     10/10      NonOverlappingTemplate
  1   0   1   0   1   2   3   0   0   2  0.350485     10/10      NonOverlappingTemplate
  1   1   1   0   0   3   1   0   1   2  0.534146     10/10      NonOverlappingTemplate
  0   2   3   1   2   1   0   1   0   0  0.350485     10/10      NonOverlappingTemplate
  0   3   2   0   1   1   0   2   1   0  0.350485     10/10      NonOverlappingTemplate
  0   0   0   3   0   0   2   4   1   0  0.017912     10/10      NonOverlappingTemplate
  0   1   0   1   2   0   1   3   1   1  0.534146     10/10      NonOverlappingTemplate
  3   0   2   2   1   0   1   0   0   1  0.350485     10/10      NonOverlappingTemplate
  0   1   1   2   2   1   1   1   0   1  0.911413     10/10      NonOverlappingTemplate
  1   0   0   6   0   1   0   0   2   0  0.000199     10/10      NonOverlappingTemplate
  1   1   1   1   0   1   1   1   2   1  0.991468     10/10      NonOverlappingTemplate
  1   1   2   2   3   0   1   0   0   0  0.350485     10/10      NonOverlappingTemplate
  1   2   0   0   2   3   0   1   1   0  0.350485     10/10      NonOverlappingTemplate
  1   0   0   0   3   1   3   1   0   1  0.213309     10/10      NonOverlappingTemplate
  0   2   1   0   1   2   0   1   3   0  0.350485     10/10      NonOverlappingTemplate
  0   4   2   1   0   1   0   0   1   1  0.122325     10/10      NonOverlappingTemplate
  1   0   3   1   1   0   3   0   0   1  0.213309     10/10      NonOverlappingTemplate
  0   1   2   1   0   3   1   0   1   1  0.534146     10/10      NonOverlappingTemplate
  0   1   1   2   0   4   2   0   0   0  0.066882     10/10      NonOverlappingTemplate
  0   2   2   1   1   1   1   0   1   1  0.911413     10/10      NonOverlappingTemplate
  2   1   0   3   0   0   2   1   1   0  0.350485      9/10      NonOverlappingTemplate
  1   1   1   2   2   1   1   0   0   1  0.911413     10/10      NonOverlappingTemplate
  1   2   0   2   0   2   0   2   1   0  0.534146     10/10      NonOverlappingTemplate
  0   4   2   0   1   1   1   0   1   0  0.122325     10/10      NonOverlappingTemplate
  1   0   2   2   1   0   1   1   1   1  0.911413     10/10      NonOverlappingTemplate
  4   0   1   2   0   1   0   0   0   2  0.066882     10/10      NonOverlappingTemplate
  0   0   2   0   0   0   1   3   2   2  0.213309     10/10      NonOverlappingTemplate
  1   1   2   0   1   0   2   2   0   1  0.739918     10/10      NonOverlappingTemplate
  1   1   2   0   0   2   2   0   1   1  0.739918     10/10      NonOverlappingTemplate
  2   1   0   1   0   1   1   2   1   1  0.911413      9/10      NonOverlappingTemplate
  0   2   1   0   0   1   2   1   2   1  0.739918     10/10      NonOverlappingTemplate
  1   2   1   2   1   1   1   0   0   1  0.911413     10/10      NonOverlappingTemplate
  2   1   2   3   0   1   0   1   0   0  0.350485     10/10      NonOverlappingTemplate
  1   2   0   1   0   1   0   0   3   2  0.350485     10/10      NonOverlappingTemplate
  2   0   2   0   2   1   1   0   1   1  0.739918     10/10      NonOverlappingTemplate
  2   0   1   1   0   1   1   1   1   2  0.911413     10/10      NonOverlappingTemplate
  1   1   1   1   2   1   0   1   2   0  0.911413     10/10      NonOverlappingTemplate
  1   0   0   1   0   0   2   3   2   1  0.350485     10/10      NonOverlappingTemplate
  2   0   1   3   0   0   0   0   1   3  0.122325      9/10      NonOverlappingTemplate
  2   0   0   1   2   0   1   1   0   3  0.350485     10/10      NonOverlappingTemplate
  1   1   1   0   1   1   2   1   1   1  0.991468      9/10      NonOverlappingTemplate
  1   0   0   2   1   0   2   1   2   1  0.739918     10/10      NonOverlappingTemplate
  1   1   2   3   1   0   0   1   1   0  0.534146      9/10      NonOverlappingTemplate
  2   0   2   0   0   1   1   1   2   1  0.739918     10/10      NonOverlappingTemplate
  2   0   0   2   1   0   1   0   2   2  0.534146     10/10      NonOverlappingTemplate
  1   0   1   0   0   2   1   0   3   2  0.350485     10/10      NonOverlappingTemplate
  1   0   0   4   0   1   1   0   0   3  0.035174     10/10      NonOverlappingTemplate
  0   0   2   1   1   2   0   2   1   1  0.739918     10/10      NonOverlappingTemplate
  0   3   0   1   0   2   3   0   0   1  0.122325     10/10      NonOverlappingTemplate
  1   2   2   1   1   0   0   2   0   1  0.739918     10/10      NonOverlappingTemplate
  0   0   1   1   2   2   2   0   1   1  0.739918     10/10      NonOverlappingTemplate
  1   0   2   0   2   2   0   2   1   0  0.534146      9/10      NonOverlappingTemplate
  1   2   2   0   0   1   1   2   0   1  0.739918     10/10      NonOverlappingTemplate
  2   1   1   1   1   1   2   0   0   1  0.911413     10/10      NonOverlappingTemplate
  2   1   0   0   1   0   2   2   1   1  0.739918      9/10      NonOverlappingTemplate
  0   0   2   0   1   1   1   1   4   0  0.122325     10/10      NonOverlappingTemplate
  0   3   1   0   0   2   0   2   2   0  0.213309     10/10      NonOverlappingTemplate
  1   1   1   1   2   1   0   1   0   2  0.911413     10/10      NonOverlappingTemplate
  2   0   0   3   1   1   2   0   1   0  0.350485     10/10      NonOverlappingTemplate
  1   1   2   1   1   1   1   0   1   1  0.991468     10/10      NonOverlappingTemplate
  0   4   1   2   0   2   0   1   0   0  0.066882     10/10      NonOverlappingTemplate
  0   0   1   0   2   2   1   1   2   1  0.739918     10/10      NonOverlappingTemplate
  0   0   0   1   1   2   2   4   0   0  0.066882     10/10      NonOverlappingTemplate
  0   1   1   0   1   2   1   2   1   1  0.911413     10/10      NonOverlappingTemplate
  0   0   1   3   1   1   0   0   3   1  0.213309     10/10      NonOverlappingTemplate
  4   0   2   0   1   1   1   0   0   1  0.122325      9/10      NonOverlappingTemplate
  1   1   0   1   0   1   2   1   1   2  0.911413     10/10      NonOverlappingTemplate
  3   0   0   1   0   2   2   0   2   0  0.213309     10/10      NonOverlappingTemplate
  1   1   2   1   0   0   2   2   0   1  0.739918     10/10      NonOverlappingTemplate
  1   2   2   1   1   0   0   1   2   0  0.739918     10/10      NonOverlappingTemplate
  0   1   1   1   2   0   0   1   1   3  0.534146     10/10      NonOverlappingTemplate
  1   4   0   0   0   1   1   1   1   1  0.213309     10/10      NonOverlappingTemplate
  0   1   1   1   3   3   1   0   0   0  0.213309     10/10      NonOverlappingTemplate
  0   1   3   1   2   0   2   1   0   0  0.350485     10/10      NonOverlappingTemplate
  1   1   2   1   1   0   2   1   0   1  0.911413     10/10      NonOverlappingTemplate
  0   1   0   0   1   2   3   1   2   0  0.350485     10/10      NonOverlappingTemplate
  1   2   0   2   1   0   0   2   1   1  0.739918     10/10      NonOverlappingTemplate
  2   2   1   2   1   0   0   2   0   0  0.534146     10/10      NonOverlappingTemplate
  0   2   2   1   1   1   1   0   1   1  0.911413     10/10      NonOverlappingTemplate
  1   0   0   3   0   1   1   2   0   2  0.350485      9/10      NonOverlappingTemplate
  0   0   1   1   1   0   2   3   1   1  0.534146     10/10      NonOverlappingTemplate
  1   0   1   0   3   0   2   1   0   2  0.350485     10/10      NonOverlappingTemplate
  1   2   1   0   0   2   2   1   0   1  0.739918     10/10      NonOverlappingTemplate
  0   2   1   2   0   1   2   1   1   0  0.739918     10/10      NonOverlappingTemplate
  0   1   1   2   0   0   0   1   2   3  0.350485     10/10      NonOverlappingTemplate
  2   1   3   1   1   0   1   0   0   1  0.534146     10/10      NonOverlappingTemplate
  0   0   1   0   2   4   2   0   0   1  0.066882     10/10      NonOverlappingTemplate
  0   3   0   0   3   0   3   1   0   0  0.035174     10/10      NonOverlappingTemplate
  0   0   2   1   2   0   1   1   1   2  0.739918     10/10      NonOverlappingTemplate
  0   1   1   2   2   0   1   2   1   0  0.739918     10/10      NonOverlappingTemplate
  0   3   0   0   2   1   0   1   3   0  0.122325     10/10      NonOverlappingTemplate
  1   1   0   1   1   2   2   1   0   1  0.911413     10/10      NonOverlappingTemplate
  1   1   0   1   2   2   1   1   1   0  0.911413     10/10      NonOverlappingTemplate
  1   1   0   2   2   0   0   1   2   1  0.739918     10/10      NonOverlappingTemplate
  2   0   3   1   0   0   0   2   1   1  0.350485     10/10      NonOverlappingTemplate
  0   1   0   1   2   0   2   0   2   2  0.534146     10/10      NonOverlappingTemplate
  4   0   1   0   2   2   0   1   0   0  0.066882      9/10      NonOverlappingTemplate
  2   1   1   1   1   1   1   1   0   1  0.991468     10/10      NonOverlappingTemplate
  2   1   0   1   0   1   1   2   1   1  0.911413     10/10      NonOverlappingTemplate
  0   2   0   1   1   3   0   1   0   2  0.350485     10/10      NonOverlappingTemplate
  2   1   1   1   1   2   1   0   0   1  0.911413     10/10      NonOverlappingTemplate
  1   1   1   0   0   1   0   1   2   3  0.534146     10/10      NonOverlappingTemplate
  1   2   2   2   0   1   0   0   1   1  0.739918     10/10      NonOverlappingTemplate
  2   0   0   1   0   2   2   1   1   1  0.739918     10/10      NonOverlappingTemplate
  1   0   1   0   2   0   0   1   1   4  0.122325     10/10      NonOverlappingTemplate
  2   0   1   2   0   0   1   2   2   0  0.534146     10/10      NonOverlappingTemplate
  0   0   2   1   1   2   1   2   0   1  0.739918     10/10      NonOverlappingTemplate
  3   1   0   1   0   0   1   0   2   2  0.350485     10/10      NonOverlappingTemplate
  0   1   0   2   1   0   4   2   0   0  0.066882     10/10      NonOverlappingTemplate
  1   3   0   0   0   1   1   2   0   2  0.350485     10/10      NonOverlappingTemplate
  0   1   0   1   0   4   1   1   0   2  0.122325     10/10      NonOverlappingTemplate
  0   0   1   2   1   2   1   2   0   1  0.739918     10/10      NonOverlappingTemplate
  1   1   0   0   0   2   1   0   3   2  0.350485     10/10      NonOverlappingTemplate
  2   0   1   1   0   0   3   0   2   1  0.350485     10/10      NonOverlappingTemplate
  2   1   0   0   2   0   1   3   0   1  0.350485     10/10      NonOverlappingTemplate
  0   2   1   0   1   2   2   1   0   1  0.739918     10/10      NonOverlappingTemplate
  1   2   1   2   2   0   0   2   0   0  0.534146     10/10      NonOverlappingTemplate
  3   0   1   1   1   0   1   1   1   1  0.739918      9/10      NonOverlappingTemplate
  1   2   2   1   0   0   1   1   2   0  0.739918      9/10      NonOverlappingTemplate
  0   0   0   1   1   0   1   2   3   2  0.350485     10/10      NonOverlappingTemplate
  0   2   0   1   0   2   1   2   0   2  0.534146     10/10      NonOverlappingTemplate
  2   1   2   1   0   0   2   1   0   1  0.739918      9/10      NonOverlappingTemplate
  1   1   2   1   1   0   1   1   2   0  0.911413     10/10      NonOverlappingTemplate
  1   0   1   1   1   1   0   2   2   1  0.911413     10/10      NonOverlappingTemplate
  0   2   0   1   1   1   2   1   1   1  0.911413     10/10      NonOverlappingTemplate
  0   3   0   0   2   1   0   1   1   2  0.350485     10/10      NonOverlappingTemplate
  1   2   0   1   0   2   1   2   1   0  0.739918     10/10      NonOverlappingTemplate
  3   0   1   0   1   1   0   3   0   1  0.213309     10/10      NonOverlappingTemplate
  0   1   2   1   0   1   1   1   3   0  0.534146     10/10      NonOverlappingTemplate
  2   1   1   1   2   1   1   0   0   1  0.911413     10/10      NonOverlappingTemplate
  1   1   0   1   1   2   1   1   0   2  0.911413     10/10      NonOverlappingTemplate
  0   0   1   0   1   0   1   1   4   2  0.122325     10/10      NonOverlappingTemplate
  0   1   2   2   1   1   2   0   1   0  0.739918     10/10      NonOverlappingTemplate
  1   3   2   1   0   1   1   1   0   0  0.534146     10/10      NonOverlappingTemplate
  2   0   1   2   0   1   4   0   0   0  0.066882     10/10      NonOverlappingTemplate
  0   0   1   0   2   1   1   5   0   0  0.008879     10/10      NonOverlappingTemplate
  2   1   0   0   1   1   1   1   1   2  0.911413      9/10      NonOverlappingTemplate
  1   0   1   1   1   2   1   0   2   1  0.911413     10/10      NonOverlappingTemplate
  2   1   2   0   0   1   3   0   0   1  0.350485      8/10      NonOverlappingTemplate
  4   0   2   0   1   1   1   0   0   1  0.122325      9/10      NonOverlappingTemplate
  1   1   2   1   0   1   1   1   1   1  0.991468      9/10      OverlappingTemplate
  1   2   2   0   0   2   1   0   0   2  0.534146     10/10      Universal
  1   3   1   0   0   2   0   0   1   2  0.350485      9/10      ApproximateEntropy
  1   1   0   0   0   1   1   0   2   0     ----       6/6       RandomExcursions
  1   0   0   1   1   0   2   0   0   1     ----       6/6       RandomExcursions
  1   2   0   1   0   1   0   0   1   0     ----       6/6       RandomExcursions
  0   1   0   2   0   1   0   1   1   0     ----       6/6       RandomExcursions
  0   0   1   1   1   3   0   0   0   0     ----       6/6       RandomExcursions
  2   0   1   0   1   0   0   0   1   1     ----       6/6       RandomExcursions
  0   0   3   0   0   2   0   0   0   1     ----       6/6       RandomExcursions
  1   1   1   1   2   0   0   0   0   0     ----       6/6       RandomExcursions
  0   0   0   2   0   0   1   1   1   1     ----       6/6       RandomExcursionsVariant
  0   0   1   0   2   0   1   1   0   1     ----       6/6       RandomExcursionsVariant
  0   1   0   2   0   0   1   1   0   1     ----       6/6       RandomExcursionsVariant
  0   0   1   1   1   1   1   0   1   0     ----       6/6       RandomExcursionsVariant
  0   0   1   2   0   0   0   2   0   1     ----       6/6       RandomExcursionsVariant
  0   1   1   0   1   0   1   0   2   0     ----       6/6       RandomExcursionsVariant
  0   0   0   2   1   0   0   1   1   1     ----       6/6       RandomExcursionsVariant
  0   0   1   1   1   0   0   1   2   0     ----       6/6       RandomExcursionsVariant
  0   1   2   0   1   0   1   0   1   0     ----       6/6       RandomExcursionsVariant
  0   2   0   0   1   0   1   2   0   0     ----       6/6       RandomExcursionsVariant
  0   2   0   1   1   0   1   0   1   0     ----       6/6       RandomExcursionsVariant
  0   2   1   0   1   0   2   0   0   0     ----       6/6       RandomExcursionsVariant
  1   0   1   1   0   1   1   1   0   0     ----       6/6       RandomExcursionsVariant
  1   0   0   1   1   2   0   1   0   0     ----       6/6       RandomExcursionsVariant
  1   0   1   1   0   0   2   0   1   0     ----       6/6       RandomExcursionsVariant
  0   1   1   0   1   0   0   1   1   1     ----       6/6       RandomExcursionsVariant
  0   0   2   0   0   2   0   2   0   0     ----       6/6       RandomExcursionsVariant
  0   0   1   2   1   0   1   0   0   1     ----       6/6       RandomExcursionsVariant
  2   1   2   2   0   1   0   0   0   2  0.534146      9/10      Serial
  2   2   0   2   0   1   0   0   2   1  0.534146     10/10      Serial
  3   2   0   1   0   0   1   1   1   1  0.534146     10/10      LinearComplexity


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
The minimum pass rate for each statistical test with the exception of the
random excursion (variant) test is approximately = 8 for a
sample size = 10 binary sequences.

The minimum pass rate for the random excursion (variant) test
is approximately = 5 for a sample size = 6 binary sequences.

For further guidelines construct a probability table using the MAPLE program
provided in the addendum section of the documentation.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Secure mode of operation

------------------------------------------------------------------------------
RESULTS FOR THE UNIFORMITY OF P-VALUES AND THE PROPORTION OF PASSING SEQUENCES
------------------------------------------------------------------------------
   generator is <dump_secure>
------------------------------------------------------------------------------
 C1  C2  C3  C4  C5  C6  C7  C8  C9 C10  P-VALUE  PROPORTION  STATISTICAL TEST
------------------------------------------------------------------------------
  1   0   3   0   1   0   1   1   2   1  0.534146     10/10      Frequency
  2   0   0   3   0   0   0   3   1   1  0.122325     10/10      BlockFrequency
  1   0   1   4   0   1   0   0   2   1  0.122325     10/10      CumulativeSums
  1   0   1   0   1   2   2   1   1   1  0.911413     10/10      CumulativeSums
  0   0   2   2   1   0   1   3   1   0  0.350485     10/10      Runs
  2   1   2   0   1   1   0   1   2   0  0.739918     10/10      LongestRun
  3   0   2   0   0   1   0   0   2   2  0.213309     10/10      Rank
  0   0   1   4   1   1   0   0   1   2  0.122325     10/10      FFT
  1   0   0   1   1   1   1   2   3   0  0.534146     10/10      NonOverlappingTemplate
  3   0   0   1   0   1   1   2   0   2  0.350485     10/10      NonOverlappingTemplate
  3   0   0   3   2   1   0   0   1   0  0.122325     10/10      NonOverlappingTemplate
  2   0   1   2   0   0   3   0   1   1  0.350485     10/10      NonOverlappingTemplate
  2   0   1   2   1   1   1   2   0   0  0.739918      8/10      NonOverlappingTemplate
  1   0   2   0   1   1   1   3   1   0  0.534146      9/10      NonOverlappingTemplate
  0   1   0   4   1   2   1   0   1   0  0.122325     10/10      NonOverlappingTemplate
  3   2   0   1   0   0   1   2   1   0  0.350485     10/10      NonOverlappingTemplate
  3   1   3   0   0   1   0   0   2   0  0.122325      9/10      NonOverlappingTemplate
  2   2   0   0   3   1   1   0   1   0  0.350485     10/10      NonOverlappingTemplate
  1   1   0   2   2   1   1   1   0   1  0.911413     10/10      NonOverlappingTemplate
  1   0   0   0   0   1   1   1   3   3  0.213309     10/10      NonOverlappingTemplate
  1   1   1   1   2   0   1   2   1   0  0.911413      9/10      NonOverlappingTemplate
  2   0   2   3   0   1   1   0   1   0  0.350485      9/10      NonOverlappingTemplate
  0   0   3   0   1   3   0   1   1   1  0.213309     10/10      NonOverlappingTemplate
  1   2   2   1   1   1   0   2   0   0  0.739918     10/10      NonOverlappingTemplate
  1   2   0   1   0   0   2   0   1   3  0.350485     10/10      NonOverlappingTemplate
  1   1   2   2   0   1   0   2   0   1  0.739918     10/10      NonOverlappingTemplate
  1   1   2   0   1   1   0   0   3   1  0.534146     10/10      NonOverlappingTemplate
  0   2   1   1   1   1   3   0   0   1  0.534146     10/10      NonOverlappingTemplate
  1   0   2   1   0   3   0   1   1   1  0.534146      9/10      NonOverlappingTemplate
  1   0   2   2   1   0   0   2   0   2  0.534146     10/10      NonOverlappingTemplate
  0   2   2   0   2   1   2   0   1   0  0.534146     10/10      NonOverlappingTemplate
  2   1   0   0   0   4   0   2   0   1  0.066882     10/10      NonOverlappingTemplate
  3   0   1   2   0   0   1   1   1   1  0.534146      9/10      NonOverlappingTemplate
  0   1   2   2   1   1   0   2   1   0  0.739918     10/10      NonOverlappingTemplate
  0   2   0   2   1   2   1   2   0   0  0.534146     10/10      NonOverlappingTemplate
  1   2   1   2   0   0   2   1   1   0  0.739918     10/10      NonOverlappingTemplate
  3   2   0   0   0   2   1   0   0   2  0.213309      9/10      NonOverlappingTemplate
  0   1   2   2   1   1   0   3   0   0  0.350485     10/10      NonOverlappingTemplate
  1   0   2   1   0   1   1   2   1   1  0.911413     10/10      NonOverlappingTemplate
  1   3   2   0   0   1   0   1   0   2  0.350485     10/10      NonOverlappingTemplate
  0   2   2   2   0   1   1   2   0   0  0.534146     10/10      NonOverlappingTemplate
  3   2   0   0   0   0   0   2   3   0  0.066882     10/10      NonOverlappingTemplate
  0   1   2   2   0   0   2   0   2   1  0.534146     10/10      NonOverlappingTemplate
  3   0   0   0   0   0   2   2   2   1  0.213309      9/10      NonOverlappingTemplate
  0   3   1   1   0   1   2   1   0   1  0.534146     10/10      NonOverlappingTemplate
  2   1   2   0   1   0   1   1   1   1  0.911413     10/10      NonOverlappingTemplate
  1   2   1   1   1   1   1   1   1   0  0.991468      9/10      NonOverlappingTemplate
  1   1   1   2   3   0   0   1   1   0  0.534146     10/10      NonOverlappingTemplate
  1   0   1   0   1   1   1   3   1   1  0.739918     10/10      NonOverlappingTemplate
  1   2   1   2   1   1   0   1   0   1  0.911413     10/10      NonOverlappingTemplate
  2   0   0   2   1   1   1   2   0   1  0.739918     10/10      NonOverlappingTemplate
  1   0   0   2   1   1   2   1   0   2  0.739918     10/10      NonOverlappingTemplate
  1   2   4   0   0   1   1   0   1   0  0.122325      9/10      NonOverlappingTemplate
  1   1   1   2   0   1   1   2   1   0  0.911413     10/10      NonOverlappingTemplate
  1   1   0   0   1   2   1   0   1   3  0.534146     10/10      NonOverlappingTemplate
  0   2   1   2   0   0   1   3   1   0  0.350485     10/10      NonOverlappingTemplate
  2   1   0   0   0   0   0   3   2   2  0.213309     10/10      NonOverlappingTemplate
  3   0   1   3   0   0   1   1   0   1  0.213309     10/10      NonOverlappingTemplate
  2   1   0   1   2   2   1   1   0   0  0.739918      9/10      NonOverlappingTemplate
  2   0   2   2   0   1   1   0   1   1  0.739918     10/10      NonOverlappingTemplate
  1   0   0   3   1   1   1   0   0   3  0.213309     10/10      NonOverlappingTemplate
  0   0   1   3   2   0   0   1   2   1  0.350485     10/10      NonOverlappingTemplate
  0   2   4   0   2   1   0   0   1   0  0.066882     10/10      NonOverlappingTemplate
  2   1   0   2   0   0   0   2   1   2  0.534146     10/10      NonOverlappingTemplate
  1   0   1   1   3   0   1   0   1   2  0.534146     10/10      NonOverlappingTemplate
  0   0   4   1   2   1   1   0   0   1  0.122325     10/10      NonOverlappingTemplate
  0   0   0   1   1   2   1   1   3   1  0.534146     10/10      NonOverlappingTemplate
  2   2   0   2   2   0   1   0   0   1  0.534146     10/10      NonOverlappingTemplate
  0   0   2   0   3   2   2   1   0   0  0.213309     10/10      NonOverlappingTemplate
  0   1   1   1   2   1   1   2   1   0  0.911413     10/10      NonOverlappingTemplate
  2   0   1   1   2   0   2   0   1   1  0.739918     10/10      NonOverlappingTemplate
  0   1   2   2   2   0   1   0   0   2  0.534146     10/10      NonOverlappingTemplate
  0   3   1   1   0   1   1   2   1   0  0.534146     10/10      NonOverlappingTemplate
  1   2   4   0   0   0   2   1   0   0  0.066882     10/10      NonOverlappingTemplate
  0   0   0   1   2   0   1   3   0   3  0.122325     10/10      NonOverlappingTemplate
  3   1   3   0   1   0   0   2   0   0  0.122325     10/10      NonOverlappingTemplate
  0   1   3   2   1   1   0   1   1   0  0.534146     10/10      NonOverlappingTemplate
  0   1   1   1   0   1   1   3   1   1  0.739918     10/10      NonOverlappingTemplate
  2   3   0   1   0   1   0   2   0   1  0.350485      9/10      NonOverlappingTemplate
  1   1   0   0   1   0   1   3   2   1  0.534146     10/10      NonOverlappingTemplate
  0   0   3   1   2   1   1   0   2   0  0.350485     10/10      NonOverlappingTemplate
  0   3   2   0   2   0   2   1   0   0  0.213309     10/10      NonOverlappingTemplate
  1   0   0   1   1   1   1   2   3   0  0.534146     10/10      NonOverlappingTemplate
  2   0   1   2   2   0   1   0   1   1  0.739918     10/10      NonOverlappingTemplate
  1   1   2   0   1   0   1   2   0   2  0.739918     10/10      NonOverlappingTemplate
  1   1   0   1   2   1   1   0   1   2  0.911413     10/10      NonOverlappingTemplate
  1   1   1   0   2   1   1   2   0   1  0.911413     10/10      NonOverlappingTemplate
  2   0   0   2   1   1   1   2   1   0  0.739918     10/10      NonOverlappingTemplate
  1   1   0   1   1   3   3   0   0   0  0.213309     10/10      NonOverlappingTemplate
  1   1   1   0   1   2   0   0   4   0  0.122325     10/10      NonOverlappingTemplate
  1   1   0   2   2   3   0   1   0   0  0.350485     10/10      NonOverlappingTemplate
  1   1   0   0   0   2   3   1   1   1  0.534146      9/10      NonOverlappingTemplate
  0   1   2   1   0   0   2   0   3   1  0.350485     10/10      NonOverlappingTemplate
  3   2   1   2   0   0   0   1   1   0  0.350485     10/10      NonOverlappingTemplate
  1   1   2   1   0   2   1   1   0   1  0.911413     10/10      NonOverlappingTemplate
  1   1   1   1   1   1   0   3   0   1  0.739918     10/10      NonOverlappingTemplate
  1   0   1   1   1   1   1   1   1   2  0.991468      9/10      NonOverlappingTemplate
  1   0   0   5   0   0   0   0   3   1  0.002043     10/10      NonOverlappingTemplate
  1   1   0   1   0   2   1   2   2   0  0.739918     10/10      NonOverlappingTemplate
  1   1   0   0   0   2   1   0   3   2  0.350485     10/10      NonOverlappingTemplate
  0   1   1   2   2   2   0   2   0   0  0.534146     10/10      NonOverlappingTemplate
  0   1   1   1   0   0   2   2   3   0  0.350485     10/10      NonOverlappingTemplate
  1   0   0   0   2   2   0   1   2   2  0.534146     10/10      NonOverlappingTemplate
  3   1   2   0   0   1   2   1   0   0  0.350485     10/10      NonOverlappingTemplate
  1   1   0   1   1   2   1   1   0   2  0.911413     10/10      NonOverlappingTemplate
  1   1   0   0   2   2   2   1   0   1  0.739918     10/10      NonOverlappingTemplate
  1   2   2   0   1   1   2   1   0   0  0.739918     10/10      NonOverlappingTemplate
  2   2   1   2   2   1   0   0   0   0  0.534146     10/10      NonOverlappingTemplate
  1   3   0   0   0   1   3   1   1   0  0.213309     10/10      NonOverlappingTemplate
  1   0   2   0   3   1   1   0   1   1  0.534146     10/10      NonOverlappingTemplate
  1   1   1   1   1   0   1   2   1   1  0.991468     10/10      NonOverlappingTemplate
  0   1   0   2   3   1   1   1   0   1  0.534146     10/10      NonOverlappingTemplate
  2   0   1   0   3   0   1   2   0   1  0.350485      9/10      NonOverlappingTemplate
  1   1   0   3   0   1   2   2   0   0  0.350485     10/10      NonOverlappingTemplate
  1   3   0   2   0   1   0   2   1   0  0.350485     10/10      NonOverlappingTemplate
  1   0   1   0   0   3   2   1   2   0  0.350485     10/10      NonOverlappingTemplate
  0   1   2   1   1   0   1   2   1   1  0.911413     10/10      NonOverlappingTemplate
  3   0   2   1   1   0   1   0   1   1  0.534146     10/10      NonOverlappingTemplate
  2   3   0   0   1   0   0   2   2   0  0.213309     10/10      NonOverlappingTemplate
  1   1   0   0   0   2   3   1   2   0  0.350485      9/10      NonOverlappingTemplate
  2   1   1   1   0   1   2   1   0   1  0.911413     10/10      NonOverlappingTemplate
  1   5   0   1   1   0   1   1   0   0  0.017912     10/10      NonOverlappingTemplate
  2   2   0   1   1   1   1   0   1   1  0.911413     10/10      NonOverlappingTemplate
  0   3   2   1   0   0   1   1   1   1  0.534146     10/10      NonOverlappingTemplate
  0   1   1   0   1   2   0   2   1   2  0.739918     10/10      NonOverlappingTemplate
  1   1   0   1   0   1   4   0   1   1  0.213309     10/10      NonOverlappingTemplate
  1   1   0   0   1   1   0   2   2   2  0.739918     10/10      NonOverlappingTemplate
  2   1   2   1   1   1   0   0   1   1  0.911413      9/10      NonOverlappingTemplate
  1   2   0   4   0   2   0   0   1   0  0.066882      9/10      NonOverlappingTemplate
  4   1   1   0   1   0   0   2   1   0  0.122325      9/10      NonOverlappingTemplate
  1   1   2   0   0   1   2   2   1   0  0.739918     10/10      NonOverlappingTemplate
  1   1   1   2   0   2   0   3   0   0  0.350485     10/10      NonOverlappingTemplate
  1   0   1   2   0   2   1   2   0   1  0.739918     10/10      NonOverlappingTemplate
  0   1   2   1   0   0   2   0   1   3  0.350485     10/10      NonOverlappingTemplate
  1   1   1   0   2   3   0   1   1   0  0.534146     10/10      NonOverlappingTemplate
  3   3   0   1   1   1   0   0   0   1  0.213309      9/10      NonOverlappingTemplate
  1   1   1   1   2   0   0   1   0   3  0.534146     10/10      NonOverlappingTemplate
  0   0   1   3   0   1   0   1   2   2  0.350485     10/10      NonOverlappingTemplate
  1   1   1   1   0   0   2   2   1   1  0.911413      9/10      NonOverlappingTemplate
  0   2   0   1   0   0   2   2   3   0  0.213309     10/10      NonOverlappingTemplate
  3   0   4   1   1   0   0   0   1   0  0.035174     10/10      NonOverlappingTemplate
  0   0   1   2   1   2   1   0   1   2  0.739918     10/10      NonOverlappingTemplate
  0   2   1   1   0   0   1   1   2   2  0.739918     10/10      NonOverlappingTemplate
  0   1   1   0   0   1   1   2   3   1  0.534146     10/10      NonOverlappingTemplate
  1   1   0   1   3   0   1   0   3   0  0.213309     10/10      NonOverlappingTemplate
  3   0   2   2   1   0   0   0   1   1  0.350485     10/10      NonOverlappingTemplate
  3   0   0   2   0   2   2   0   1   0  0.213309     10/10      NonOverlappingTemplate
  0   0   3   1   0   2   1   1   1   1  0.534146     10/10      NonOverlappingTemplate
  2   3   0   0   0   3   0   2   0   0  0.066882     10/10      NonOverlappingTemplate
  0   2   2   1   0   0   1   0   2   2  0.534146     10/10      NonOverlappingTemplate
  2   2   1   0   2   1   1   0   0   1  0.739918      9/10      NonOverlappingTemplate
  0   1   3   2   0   0   0   2   0   2  0.213309     10/10      NonOverlappingTemplate
  2   1   1   0   2   1   0   1   2   0  0.739918      9/10      NonOverlappingTemplate
  4   2   1   1   0   1   0   1   0   0  0.122325      9/10      NonOverlappingTemplate
  1   0   2   0   3   0   1   1   0   2  0.350485     10/10      NonOverlappingTemplate
  0   3   2   0   2   0   2   1   0   0  0.213309     10/10      NonOverlappingTemplate
  0   1   2   0   1   1   0   2   2   1  0.739918     10/10      OverlappingTemplate
  4   1   1   2   2   0   0   0   0   0  0.066882     10/10      Universal
  0   1   1   0   1   3   2   1   1   0  0.534146     10/10      ApproximateEntropy
  1   0   0   0   0   0   0   1   1   1     ----       4/4       RandomExcursions
  1   0   1   0   1   0   0   0   0   1     ----       4/4       RandomExcursions
  3   0   0   0   0   0   0   1   0   0     ----       4/4       RandomExcursions
  0   2   0   1   0   1   0   0   0   0     ----       4/4       RandomExcursions
  1   1   0   0   0   0   2   0   0   0     ----       4/4       RandomExcursions
  0   2   0   1   0   1   0   0   0   0     ----       4/4       RandomExcursions
  1   1   0   1   1   0   0   0   0   0     ----       4/4       RandomExcursions
  1   1   1   0   1   0   0   0   0   0     ----       4/4       RandomExcursions
  0   1   0   0   1   0   0   1   0   1     ----       4/4       RandomExcursionsVariant
  1   0   0   1   0   0   1   1   0   0     ----       4/4       RandomExcursionsVariant
  1   0   0   1   1   0   1   0   0   0     ----       4/4       RandomExcursionsVariant
  1   0   0   0   2   0   0   0   0   1     ----       4/4       RandomExcursionsVariant
  0   1   0   1   1   0   0   1   0   0     ----       4/4       RandomExcursionsVariant
  0   0   0   1   0   1   1   1   0   0     ----       4/4       RandomExcursionsVariant
  0   0   0   0   0   1   1   2   0   0     ----       4/4       RandomExcursionsVariant
  0   0   1   0   0   1   1   0   0   1     ----       4/4       RandomExcursionsVariant
  1   0   1   1   0   1   0   0   0   0     ----       4/4       RandomExcursionsVariant
  2   0   0   0   1   0   1   0   0   0     ----       4/4       RandomExcursionsVariant
  0   1   1   1   1   0   0   0   0   0     ----       4/4       RandomExcursionsVariant
  1   0   0   0   1   0   2   0   0   0     ----       4/4       RandomExcursionsVariant
  0   1   0   1   0   1   0   0   1   0     ----       4/4       RandomExcursionsVariant
  0   0   2   1   0   0   1   0   0   0     ----       4/4       RandomExcursionsVariant
  0   1   0   2   0   1   0   0   0   0     ----       4/4       RandomExcursionsVariant
  0   1   0   1   2   0   0   0   0   0     ----       4/4       RandomExcursionsVariant
  0   1   0   1   1   1   0   0   0   0     ----       4/4       RandomExcursionsVariant
  0   0   1   0   2   1   0   0   0   0     ----       4/4       RandomExcursionsVariant
  1   1   0   1   0   2   2   2   1   0  0.739918     10/10      Serial
  1   0   1   1   1   1   0   2   3   0  0.534146     10/10      Serial
  1   0   0   0   2   3   0   0   2   2  0.213309     10/10      LinearComplexity


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
The minimum pass rate for each statistical test with the exception of the
random excursion (variant) test is approximately = 8 for a
sample size = 10 binary sequences.

The minimum pass rate for the random excursion (variant) test
is approximately = 3 for a sample size = 4 binary sequences.

For further guidelines construct a probability table using the MAPLE program
provided in the addendum section of the documentation.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Cloning and compiling

To compile this software, you will need MCUXpresso IDE v11.30.0_5222 and SDK 2.9.0. To import the project click on File > Import... > Git > Project from Git > Clone URI. In the Source Git Repository windows enter the URL of the Github repository. Follow the instructions and the repo should be cloned locally and imported into MCUXpresso. Finally, use MCUXpresso to compile the project. Four Build Configurations are available:

  • Debug: For debugging (symbols + logs), fast mode enabled
  • Release_secure: Release in secure mode
  • Release_standard: Release in standard mode
  • Release_fast: Release in fast mode

Porting on official LPC55S28 development kit from NXP

This code can be executed on the LPC55S28 dev. kit from NXP, you will need the following piece of hardware:

You will have to switch the I2C port from I2C1 to I2C4 in file i2c_lpc55sxx.c. You may have to lower the I2C baudrate from (1700U * 1000) to (400U * 1000U).

License

Most of code is licensed under BSD-3 clause or Apache 2.0 license See license file and file headers for more information.

About

RNG firmware for YAST token

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published