lundi 30 novembre 2015

NIST STS igamc: UNDERFLOW depending on bitstream size

I am attempting to use NIST's STS tool to determine if a hash function is statistically weak. I have a generated about 25 million hashes and output them into a file as ASCII 0's and 1's (per the STS guide). STS was successfully compiled on and works with the supplied samples. Each hash output is represented by a sequence 512 binary characters, this means the argument for assess is 512 (ie. we run using: ./assess 512). But here is the rub, the number of bitstreams (prompted during execution - I have full terminal output below) seems to toggle success / failure of the tool. For example, 50 bitstreams result in success, while anything over about 5,000 seems to fail with the igamc: underflow error. To my knowledge, bitstreams is pretty much the number of sample to read from the source file. Is this understanding correct? How do I narrow down this error / correct it?

I apologize for the long-form text but I am trying to be as complete as possible.


./assess 512
       G E N E R A T O R    S E L E C T I O N 
       ______________________________________

[0] Input File                 [1] Linear Congruential
[2] Quadratic Congruential I   [3] Quadratic Congruential II
[4] Cubic Congruential         [5] XOR
[6] Modular Exponentiation     [7] Blum-Blum-Shub
[8] Micali-Schnorr             [9] G Using SHA-1

Enter Choice: 0

    User Prescribed Input File: sha3mod.dat

            S T A T I S T I C A L   T E S T S
            _________________________________

[01] Frequency                       [02] Block Frequency
[03] Cumulative Sums                 [04] Runs
[05] Longest Run of Ones             [06] Rank
[07] Discrete Fourier Transform      [08] Nonperiodic Template Matchings
[09] Overlapping Template Matchings  [10] Universal Statistical
[11] Approximate Entropy             [12] Random Excursions
[13] Random Excursions Variant       [14] Serial
[15] Linear Complexity

     INSTRUCTIONS
        Enter 0 if you DO NOT want to apply all of the
        statistical tests to each sequence and 1 if you DO.

Enter Choice: 0

     INSTRUCTIONS
        Enter a 0 or 1 to indicate whether or not the numbered statistical
        test should be applied to each sequence.

  123456789111111
           012345
  111111110111111


    P a r a m e t e r   A d j u s t m e n t s
    -----------------------------------------
[1] Block Frequency Test - block length(M):         128
[2] NonOverlapping Template Test - block length(m): 9
[3] Approximate Entropy Test - block length(m):     10
[4] Serial Test - block length(m):                  16
[5] Linear Complexity Test - block length(M):       500

Select Test (0 to continue): 0

   How many bitstreams? 120000

   Input File Format:
    [0] ASCII - A sequence of ASCII 0's and 1's
    [1] Binary - Each byte in data file contains 8 bits of data

Select input mode: 0

 Statistical Testing In Progress.........

igamc: UNDERFLOW
igamc: UNDERFLOW

The underflow error seems to continue until I cancel execution.




Aucun commentaire:

Enregistrer un commentaire