0
$\begingroup$

I am trying NIST SP 800-22 to test the randomness of 128 bit output in AES, but i always get igamc: UNDERFLOW or Segmentation fault (core dumped) error.

My data file has 128 bit output format, for example as follows:

01101100010001011111011101010011011000000101111001111100010010111011111001010011101101000000111011011100011011101101100011011001
00000000101100000010110001100100101101000010010010110101100111110011011110010000100010001111011110101001100011100000100111000001

Here i have all 100.000 lines with capacity 12.899.967 bytes. I used the tool with the following operations:

 ./assess 128
           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: data/binaryformat2.txt

                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: 1

        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] Overlapping Template Test - block length(m):    9
    [4] Approximate Entropy Test - block length(m):     10
    [5] Serial Test - block length(m):                  16
    [6] Linear Complexity Test - block length(M):       500

   Select Test (0 to continue): 0

   How many bitstreams? 99999

   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.........

     Statistical Testing Complete!!!!!!!!!!!!

igamc: UNDERFLOW
igamc: UNDERFLOW
igamc: UNDERFLOW
igamc: UNDERFLOW
................
igamc: UNDERFLOW
Segmentation fault (core dumped)

Even i tried adjusting the parameters back to 128 but still not working

        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): 128
    [3] Overlapping Template Test - block length(m):    128
    [4] Approximate Entropy Test - block length(m):     128
    [5] Serial Test - block length(m):                  128
    [6] Linear Complexity Test - block length(M):       128

   Select Test (0 to continue): 0

Can someone give me advice or hints to check the randomness of 128 bit output ?

$\endgroup$
5
  • $\begingroup$ Hiya Cat. I don't have a keyboard so can't answer properly. But, use 10 bits treats and just one single long line of digits. Also accept that NIST is poor at coding. $\endgroup$
    – Paul Uszak
    Apr 28, 2023 at 17:20
  • $\begingroup$ P.S. Don't adjust nothin'. $\endgroup$
    – Paul Uszak
    Apr 28, 2023 at 17:22
  • $\begingroup$ I am still interested in the problem. Can someone help me ? $\endgroup$
    – Cat Dragon
    Jun 17, 2023 at 13:37
  • $\begingroup$ Inverse Gamma functions are a bitch to compute. I suggest that you try the suite with 8 bit/byte binary data. Reformat. Once you've create the binary sample file, run ent or ent3000 over it to see if you have sane samples. $\endgroup$
    – Paul Uszak
    Jun 17, 2023 at 17:14
  • $\begingroup$ @PaulUszak So how should ./assess and How many bitstreams? be entered? $\endgroup$
    – Cat Dragon
    Jun 19, 2023 at 6:57

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.