Score:0

How to use NIST SP 800-22 to check randomness of 128 bits output in AES?

it flag

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 ?

Paul Uszak avatar
cn flag
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.
Paul Uszak avatar
cn flag
P.S. Don't adjust nothin'.
Cat Dragon avatar
it flag
I am still interested in the problem. Can someone help me ?
Paul Uszak avatar
cn flag
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.
Cat Dragon avatar
it flag
@PaulUszak So how should `./assess` and `How many bitstreams?` be entered?
I sit in a Tesla and translated this thread with Ai:

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.