Tuesday, 22 May 2012
  DiceLock improves symmetric ciphers like AES (Advanced Encryption Standard) and others.
  Providing maximum information security privacy with little time.
Frequency Test (1st step)

National Institute of Standards and Technology (NIST) published Special Publication 800-22 rev1a, “A statistical test suite for random and pseudorandom number generators for cryptographic applications”.

This suite has been estabished as a standard of random number testing.

As is stated in page 2-1 (page 23 of PDF document):

"The order of the application of the tests in the test suite is arbitrary. However, it is recommended that the Frequency test be run first, since this supplies the most basic evidence for the existence of non-randomness in a sequence, specifically, non-uniformity. If this test fails, the likelihood of other tests failing is high."

So, in order to check if different streamers can produce randomized-encrypted sequences our first approach is to check possible configurations just with Frequency test. This is what we call the First steps research.

Tests performed
AES 128 with CBC mode
AES 192 with CBC mode
AES 256 with CBC mode
AES 128 with CFB mode
AES 192 with CFB mode
AES 256 with CFB mode
AES 128 with OFB mode
AES 192 with OFB mode
AES 256 with OFB mode
HC 128
HC 256

Summary

100.000 randomized-encrypted text sequences checked for each cipher:

Ciphers checked Random streams Non random streams Random streams (%) Non random streams (%)
AES 128 - CBC mode 99.928 72 99,928 % 0,072 %
AES 192 - CBC mode 99.953 47 99,953 % 0,047 %
AES 256 - CBC mode 99.930 70 99,930 % 0,070 %
AES 128 - CFB mode 99.926 74 99,926 % 0,074 %
AES 192 - CFB mode 99.951 49 99,951 % 0,049 %
AES 256 - CFB mode 99.936 64 99,936 % 0,064 %
AES 128 - OFB mode 99.926 74 99,926 % 0,074 %
AES 192 - OFB mode 99.951 49 99,951 % 0,049 %
AES 256 - OFB mode 99.936 64 99,936 % 0,064 %
HC 128 99.935 65 99,935 % 0,065 %
HC 256 99.907 93 99,907 % 0,093 %

We can see that the worst number of non random encrypted seqeunces with frequency random number test is 93 non random of 100.000 encrypted sequences tested. This is accomplished with HC 256 stream cipher.

That is, all streamer ciphers (all AES with all operation modes and HC 128 and HC 256 stream cipher) generate randomized encrypted sequences checked with frequency test with a probability greater than 99,907%.

So, we can continue with DiceLock product research cause it shows that the targets can be achieved.

Tests performed and results are shown in the following way:

Encryption algorithm and operation mode if proceeds

Inputs:

Number of plaintext sequences tested The number of sequences tested
Plaintext sequence lengths Lengths of the sequences been tested
Plaintext sequence content Plaintext values being tested
Encryption key length Encryption key length in bytes
Encryption key values Encryption key values per byte
Initialization vector length Initialization vector length in bytes
Initialization vector values Initialization vector values per byte
Frequency confidence Random confidence level in frequency test
Frequency p-value Assigned p-value in accordance to confidence level setted

Results:

Random ciphertext sequences The number of ciphertext sequences thar are random based on frequency test
Non random ciphertext sequences The number of ciphertext sequences thar are NOT random based on frequency test
Random ciphertext sequences (percentage) Percentage of ciphertext sequences thar are random based on frequency test
Non random ciphertext sequences (percentage) Percentage of ciphertext sequences thar are NOT random based on frequency test
Correct deciphered texts
Number of correct deciphered sequences (to see that encryption algorithms are woking properly)
Incorrect deciphered texts Number of incorrect deciphered sequences (to see that encryption algorithms are woking properly)
Checked Frequency test with data.e file
Checked Frequency random number test with NIST data.e test file

Blog: [link to post showing result screenshot]

AES 128 with CBC mode

Inputs:

Number of plaintext sequences tested 100.000 sequences
Plaintext sequence lengths from 1.000 bits to 801.000 bits (from 125 to 100.125 bytes, length incremented 1 byte each test)
Plaintext sequence content All bytes to value 0 (0x00)
Encryption key length 128 bits (16 bytes)
Encryption key values each key tested has the same byte value for all bytes, values go from 0×00 to 0xff
Initialization vector length 128 bits (16 bytes)
Initialization vector values each initialization vector tested has the same byte value for all bytes, values go from 0×00 to 0xff.
Frequency confidence 99,9%
Frequency p-value 0.001

Results:

Random ciphertext sequences 99.928
Non random ciphertext sequences 72
Random ciphertext sequences (percentage) 99,928 %
Non random ciphertext sequences (percentage) 0,072 %
Correct deciphered texts
100.000
Incorrect deciphered texts 0
Checked Frequency test with data.e file
YES

Blog: AES 128 (Advanced Encryption Standard) in CBC mode generates randomized encrypted text checked with frequency test at 99,9 per cent confidence

File output with index showing non randomized sequence with unsigned character key and initialziation vector.

 

AES 192 with CBC mode

Inputs:

Number of plaintext sequences tested 100.000 sequences
Plaintext sequence lengths from 1.000 bits to 801.000 bits (from 125 to 100.125 bytes, length incremented 1 byte each test)
Plaintext sequence content All bytes to value 0 (0x00)
Encryption key length 192 bits (24 bytes)
Encryption key values each key tested has the same byte value for all bytes, values go from 0×00 to 0xff
Initialization vector length 128 bits (16 bytes)
Initialization vector values each initialization vector tested has the same byte value for all bytes, values go from 0×00 to 0xff.
Frequency confidence 99,9%
Frequency p-value 0.001

Results:

Random ciphertext sequences 99.953
Non random ciphertext sequences 47
Random ciphertext sequences (percentage) 99,953 %
Non random ciphertext sequences (percentage) 0,047 %
Correct deciphered texts
100.000
Incorrect deciphered texts 0
Checked Frequency test with data.e file
YES

Blog: AES 192 (Advanced Encryption Standard) in CBC mode generates randomized encrypted text checked with frequency test at 99,9 per cent confidence

File output with index showing non randomized sequence with unsigned character key and initialziation vector.

 

AES 256 with CBC mode

Inputs:

Number of plaintext sequences tested 100.000 sequences
Plaintext sequence lengths from 1.000 bits to 801.000 bits (from 125 to 100.125 bytes, length incremented 1 byte each test)
Plaintext sequence content All bytes to value 0 (0x00)
Encryption key length 256 bits (32 bytes)
Encryption key values each key tested has the same byte value for all bytes, values go from 0×00 to 0xff
Initialization vector length 128 bits (16 bytes)
Initialization vector values each initialization vector tested has the same byte value for all bytes, values go from 0×00 to 0xff.
Frequency confidence 99,9%
Frequency p-value 0.001

Results:

Random ciphertext sequences 99.930
Non random ciphertext sequences 70
Random ciphertext sequences (percentage) 99,930 %
Non random ciphertext sequences (percentage) 0,070 %
Correct deciphered texts
100.000
Incorrect deciphered texts 0
Checked Frequency test with data.e file
YES

Blog: AES 256 (Advanced Encryption Standard) in CBC mode generates randomized encrypted text checked with frequency test at 99,9 per cent confidence

File output with index showing non randomized sequence with unsigned character key and initialziation vector.

 

AES 128 with CFB mode

Inputs:

Number of plaintext sequences tested 100.000 sequences
Plaintext sequence lengths from 1.000 bits to 801.000 bits (from 125 to 100.125 bytes, length incremented 1 byte each test)
Plaintext sequence content All bytes to value 0 (0x00)
Encryption key length 128 bits (16 bytes)
Encryption key values each key tested has the same byte value for all bytes, values go from 0×00 to 0xff
Initialization vector length 128 bits (16 bytes)
Initialization vector values each initialization vector tested has the same byte value for all bytes, values go from 0×00 to 0xff.
Frequency confidence 99,9%
Frequency p-value 0.001

Results:

Random ciphertext sequences 99.926
Non random ciphertext sequences 74
Random ciphertext sequences (percentage) 99,926 %
Non random ciphertext sequences (percentage) 0,074 %
Correct deciphered texts
100.000
Incorrect deciphered texts 0
Checked Frequency test with data.e file
YES

Blog: AES 128 (Advanced Encryption Standard) in CFB mode generates randomized encrypted text checked with frequency test at 99,9 per cent confidence

File output with index showing non randomized sequence with unsigned character key and initialziation vector.

 

AES 192 with CFB mode

Inputs:

Number of plaintext sequences tested 100.000 sequences
Plaintext sequence lengths from 1.000 bits to 801.000 bits (from 125 to 100.125 bytes, length incremented 1 byte each test)
Plaintext sequence content All bytes to value 0 (0x00)
Encryption key length 192 bits (24 bytes)
Encryption key values each key tested has the same byte value for all bytes, values go from 0×00 to 0xff
Initialization vector length 128 bits (16 bytes)
Initialization vector values each initialization vector tested has the same byte value for all bytes, values go from 0×00 to 0xff.
Frequency confidence 99,9%
Frequency p-value 0.001

Results:

Random ciphertext sequences 99.951
Non random ciphertext sequences 49
Random ciphertext sequences (percentage) 99,951 %
Non random ciphertext sequences (percentage) 0,049 %
Correct deciphered texts
100.000
Incorrect deciphered texts 0
Checked Frequency test with data.e file
YES

Blog: AES 192 (Advanced Encryption Standard) in CFB mode generates randomized encrypted text checked with frequency test at 99,9 per cent confidence

File output with index showing non randomized sequence with unsigned character key and initialziation vector.

 

AES 256 with CFB mode

Inputs:

Number of plaintext sequences tested 100.000 sequences
Plaintext sequence lengths from 1.000 bits to 801.000 bits (from 125 to 100.125 bytes, length incremented 1 byte each test)
Plaintext sequence content All bytes to value 0 (0x00)
Encryption key length 256 bits (32 bytes)
Encryption key values each key tested has the same byte value for all bytes, values go from 0×00 to 0xff
Initialization vector length 128 bits (16 bytes)
Initialization vector values each initialization vector tested has the same byte value for all bytes, values go from 0×00 to 0xff.
Frequency confidence 99,9%
Frequency p-value 0.001

Results:

Random ciphertext sequences 99.936
Non random ciphertext sequences 64
Random ciphertext sequences (percentage) 99,936 %
Non random ciphertext sequences (percentage) 0,064 %
Correct deciphered texts
100.000
Incorrect deciphered texts 0
Checked Frequency test with data.e file
YES

Blog: AES 256 (Advanced Encryption Standard) in CFB mode generates randomized encrypted text checked with frequency test at 99,9 per cent confidence

File output with index showing non randomized sequence with unsigned character key and initialziation vector.

 

AES 128 with OFB mode

Inputs:

Number of plaintext sequences tested 100.000 sequences
Plaintext sequence lengths from 1.000 bits to 801.000 bits (from 125 to 100.125 bytes, length incremented 1 byte each test)
Plaintext sequence content All bytes to value 0 (0x00)
Encryption key length 128 bits (16 bytes)
Encryption key values each key tested has the same byte value for all bytes, values go from 0×00 to 0xff
Initialization vector length 128 bits (16 bytes)
Initialization vector values each initialization vector tested has the same byte value for all bytes, values go from 0×00 to 0xff.
Frequency confidence 99,9%
Frequency p-value 0.001

Results:

Random ciphertext sequences 99.926
Non random ciphertext sequences 74
Random ciphertext sequences (percentage) 99,926 %
Non random ciphertext sequences (percentage) 0,074 %
Correct deciphered texts
100.000
Incorrect deciphered texts 0
Checked Frequency test with data.e file
YES

Blog: AES 128 (Advanced Encryption Standard) in OFB mode generates randomized encrypted text checked with frequency test at 99,9 per cent confidence

File output with index showing non randomized sequence with unsigned character key and initialziation vector.

 

AES 192 with OFB mode

Inputs:

Number of plaintext sequences tested 100.000 sequences
Plaintext sequence lengths from 1.000 bits to 801.000 bits (from 125 to 100.125 bytes, length incremented 1 byte each test)
Plaintext sequence content All bytes to value 0 (0x00)
Encryption key length 192 bits (24 bytes)
Encryption key values each key tested has the same byte value for all bytes, values go from 0×00 to 0xff
Initialization vector length 128 bits (16 bytes)
Initialization vector values each initialization vector tested has the same byte value for all bytes, values go from 0×00 to 0xff.
Frequency confidence 99,9%
Frequency p-value 0.001

Results:

Random ciphertext sequences 99.951
Non random ciphertext sequences 49
Random ciphertext sequences (percentage) 99,951 %
Non random ciphertext sequences (percentage) 0,049 %
Correct deciphered texts
100.000
Incorrect deciphered texts 0
Checked Frequency test with data.e file
YES

Blog: AES 192 (Advanced Encryption Standard) in OFB mode generates randomized encrypted text checked with frequency test at 99,9 per cent confidence

File output with index showing non randomized sequence with unsigned character key and initialziation vector.

 

AES 256 with OFB mode

Inputs:

Number of plaintext sequences tested 100.000 sequences
Plaintext sequence lengths from 1.000 bits to 801.000 bits (from 125 to 100.125 bytes, length incremented 1 byte each test)
Plaintext sequence content All bytes to value 0 (0x00)
Encryption key length 256 bits (32 bytes)
Encryption key values each key tested has the same byte value for all bytes, values go from 0×00 to 0xff
Initialization vector length 128 bits (16 bytes)
Initialization vector values each initialization vector tested has the same byte value for all bytes, values go from 0×00 to 0xff.
Frequency confidence 99,9%
Frequency p-value 0.001

Results:

Random ciphertext sequences 99.936
Non random ciphertext sequences 64
Random ciphertext sequences (percentage) 99,936 %
Non random ciphertext sequences (percentage) 0,064 %
Correct deciphered texts
100.000
Incorrect deciphered texts 0
Checked Frequency test with data.e file
YES

Blog: AES 256 (Advanced Encryption Standard) in OFB mode generates randomized encrypted text checked with frequency test at 99,9 per cent confidence

File output with index showing non randomized sequence with unsigned character key and initialziation vector.

 

HC 128

Inputs:

Number of plaintext sequences tested 100.000 sequences
Plaintext sequence lengths from 1.000 bits to 801.000 bits (from 125 to 100.125 bytes, length incremented 1 byte each test)
Plaintext sequence content All bytes to value 0 (0x00)
Encryption key length 128 bits (16 bytes)
Encryption key values each key tested has the same byte value for all bytes, values go from 0×00 to 0xff
Initialization vector length 128 bits (16 bytes)
Initialization vector values each initialization vector tested has the same byte value for all bytes, values go from 0×00 to 0xff.
Frequency confidence 99,9%
Frequency p-value 0.001

Results:

Random ciphertext sequences 99.935
Non random ciphertext sequences 65
Random ciphertext sequences (percentage) 99,935 %
Non random ciphertext sequences (percentage) 0,065 %
Correct deciphered texts
100.000
Incorrect deciphered texts 0
Checked Frequency test with data.e file
YES

Blog: HC 128 cipher stream (eSTREAM candidate) generates randomized encrypted text with frequency test with 99,9 per cent confidence

File output with index showing non randomized sequence with unsigned character key and initialziation vector.

 

HC 256

Inputs:

Number of plaintext sequences tested 100.000 sequences
Plaintext sequence lengths from 1.000 bits to 801.000 bits (from 125 to 100.125 bytes, length incremented 1 byte each test)
Plaintext sequence content All bytes to value 0 (0x00)
Encryption key length 256 bits (32 bytes)
Encryption key values each key tested has the same byte value for all bytes, values go from 0×00 to 0xff
Initialization vector length 256 bits (32 bytes)
Initialization vector values each initialization vector tested has the same byte value for all bytes, values go from 0×00 to 0xff.
Frequency confidence 99,9%
Frequency p-value 0.001

Results:

Random ciphertext sequences 99.907
Non random ciphertext sequences 93
Random ciphertext sequences (percentage) 99,907 %
Non random ciphertext sequences (percentage) 0,093 %
Correct deciphered texts
100.000
Incorrect deciphered texts 0
Checked Frequency test with data.e file
YES

Blog: HC 256 cipher stream (eSTREAM candidate) generates randomized encrypted text with frequency test with 99,9 per cent confidence

File output with index showing non randomized sequence with unsigned character key and initialziation vector.

 

 
Cart
Your Cart is currently empty.

ECB Converter
Customer Login

Newsletter Subscription

Subscribe to our Newsletter. If you want to know the purpose of our Newsletter, click here !!!