|
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.
Once research with Frequency test has shown that different streamers can produce randomized-encrypted sequences. So, it's now time to verify that checked streamers produce good randomized-encrypted text sequences with Block Frequency random number test.
|
|
|
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.943 |
57 |
99,943 % |
0,057 % |
| AES 192 - CBC mode |
99.926 |
74 |
99,926 % |
0,074 % |
| AES 256 - CBC mode |
99.977 |
23 |
99,977 % |
0,023 % |
| AES 128 - CFB mode |
99.944 |
56 |
99,944 % |
0,056 % |
| AES 192 - CFB mode |
99.927 |
73 |
99,927 % |
0,073 % |
| AES 256 - CFB mode |
99.978 |
22 |
99,978 % |
0,022 % |
| AES 128 - OFB mode |
99.944 |
56 |
99,944 % |
0,056 % |
| AES 192 - OFB mode |
99.927 |
73 |
99,927 % |
0,073 % |
| AES 256 - OFB mode |
99.978 |
22 |
99,978 % |
0,022 % |
| HC 128 |
99.835 |
165 |
99,835 % |
0,165 % |
| HC 256 |
99.985 |
15 |
99,985 % |
0,015 % |
We can see that the worst number of non random encrypted sequences with block frequency random number test is 165 non random of 100.000 encrypted sequences tested. This is accomplished with HC 128 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 block frequency test with a probability greater than 99,835%.
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 |
| Block Frequency confidence |
|
Random confidence level in block frequency test
|
| Block 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 block frequency test |
| Random ciphertext sequences (percentage) |
|
Percentage of ciphertext sequences thar are random based on block frequency test |
| Non random ciphertext sequences (percentage) |
|
Percentage of ciphertext sequences thar are NOT random based on frequency 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 Block Frequency test with data.e file
|
|
Checked Block 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. |
| Block Frequency confidence |
|
99,9% |
| Block Frequency p-value |
|
0.001 |
|
Results:
| Random ciphertext sequences |
|
99.943 |
| Non random ciphertext sequences |
|
57 |
| Random ciphertext sequences (percentage) |
|
99,943 %
|
| Non random ciphertext sequences (percentage) |
|
0,057 % |
Correct deciphered texts
|
|
100.000 |
| Incorrect deciphered texts |
|
0 |
Checked Block Frequency test with data.e file
|
|
YES |
|
Blog: AES 128 (Advanced Encryption Standard) in CBC mode generates randomized encrypted text checked with block frequency test at 99,9 per cent confidence
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. |
| Block Frequency confidence |
|
99,9% |
| Block 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 Block Frequency test with data.e file
|
|
YES |
|
Blog: AES 192 (Advanced Encryption Standard) in CBC mode generates randomized encrypted text checked with block frequency test at 99,9 per cent confidence
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. |
| Block Frequency confidence |
|
99,9% |
| Block Frequency p-value |
|
0.001 |
|
Results:
| Random ciphertext sequences |
|
99.977 |
| Non random ciphertext sequences |
|
23 |
| Random ciphertext sequences (percentage) |
|
99,977 %
|
| Non random ciphertext sequences (percentage) |
|
0,023 % |
Correct deciphered texts
|
|
100.000 |
| Incorrect deciphered texts |
|
0 |
Checked Block Frequency test with data.e file
|
|
YES |
|
Blog: AES 256 (Advanced Encryption Standard) in CBC mode generates randomized encrypted text checked with block frequency test at 99,9 per cent confidence
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. |
| Block Frequency confidence |
|
99,9% |
| Block Frequency p-value |
|
0.001 |
|
Results:
| Random ciphertext sequences |
|
99.944 |
| Non random ciphertext sequences |
|
56 |
| Random ciphertext sequences (percentage) |
|
99,944 %
|
| Non random ciphertext sequences (percentage) |
|
0,056 % |
Correct deciphered texts
|
|
100.000 |
| Incorrect deciphered texts |
|
0 |
Checked Block Frequency test with data.e file
|
|
YES |
|
Blog: AES 128 (Advanced Encryption Standard) in CFB mode generates randomized encrypted text checked with block frequency test at 99,9 per cent confidence
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. |
| Block Frequency confidence |
|
99,9% |
| Block Frequency p-value |
|
0.001 |
|
Results:
| Random ciphertext sequences |
|
99.927 |
| Non random ciphertext sequences |
|
73 |
| Random ciphertext sequences (percentage) |
|
99,927 %
|
| Non random ciphertext sequences (percentage) |
|
0,073 % |
Correct deciphered texts
|
|
100.000 |
| Incorrect deciphered texts |
|
0 |
Checked Block Frequency test with data.e file
|
|
YES |
|
Blog: AES 192 (Advanced Encryption Standard) in CFB mode generates randomized encrypted text checked with block frequency test at 99,9 per cent confidence
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. |
| Block Frequency confidence |
|
99,9% |
| Block Frequency p-value |
|
0.001 |
|
Results:
| Random ciphertext sequences |
|
99.978 |
| Non random ciphertext sequences |
|
22 |
| Random ciphertext sequences (percentage) |
|
99,978 %
|
| Non random ciphertext sequences (percentage) |
|
0,022 % |
Correct deciphered texts
|
|
100.000 |
| Incorrect deciphered texts |
|
0 |
Checked Block Frequency test with data.e file
|
|
YES |
|
Blog: AES 256 (Advanced Encryption Standard) in CFB mode generates randomized encrypted text checked with block frequency test at 99,9 per cent confidence
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. |
| Block Frequency confidence |
|
99,9% |
| Block Frequency p-value |
|
0.001 |
|
Results:
| Random ciphertext sequences |
|
99.944 |
| Non random ciphertext sequences |
|
56 |
| Random ciphertext sequences (percentage) |
|
99,944 %
|
| Non random ciphertext sequences (percentage) |
|
0,056 % |
Correct deciphered texts
|
|
100.000 |
| Incorrect deciphered texts |
|
0 |
Checked Block Frequency test with data.e file
|
|
YES |
|
Blog: AES 128 (Advanced Encryption Standard) in OFB mode generates randomized encrypted text checked with block frequency test at 99,9 per cent confidence
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. |
| Block Frequency confidence |
|
99,9% |
| Block Frequency p-value |
|
0.001 |
|
Results:
| Random ciphertext sequences |
|
99.927 |
| Non random ciphertext sequences |
|
73 |
| Random ciphertext sequences (percentage) |
|
99,927 %
|
| Non random ciphertext sequences (percentage) |
|
0,073 % |
Correct deciphered texts
|
|
100.000 |
| Incorrect deciphered texts |
|
0 |
Checked Block Frequency test with data.e file
|
|
YES |
|
Blog: AES 192 (Advanced Encryption Standard) in OFB mode generates randomized encrypted text checked with block frequency test at 99,9 per cent confidence
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. |
| Block Frequency confidence |
|
99,9% |
| Block Frequency p-value |
|
0.001 |
|
Results:
| Random ciphertext sequences |
|
99.978 |
| Non random ciphertext sequences |
|
22 |
| Random ciphertext sequences (percentage) |
|
99,978 %
|
| Non random ciphertext sequences (percentage) |
|
0,022 % |
Correct deciphered texts
|
|
100.000 |
| Incorrect deciphered texts |
|
0 |
Checked Block Frequency test with data.e file
|
|
YES |
|
Blog: AES 256 (Advanced Encryption Standard) in OFB mode generates randomized encrypted text checked with block frequency test at 99,9 per cent confidence
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. |
| Block Frequency confidence |
|
99,9% |
| Block Frequency p-value |
|
0.001 |
|
Results:
| Random ciphertext sequences |
|
99.835 |
| Non random ciphertext sequences |
|
165 |
| Random ciphertext sequences (percentage) |
|
99,835 %
|
| Non random ciphertext sequences (percentage) |
|
0,165 % |
Correct deciphered texts
|
|
100.000 |
| Incorrect deciphered texts |
|
0 |
Checked Block Frequency test with data.e file
|
|
YES |
|
Blog: HC 128 cipher stream (eSTREAM candidate) generates randomized encrypted text with block frequency test with 99,9 per cent confidence
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. |
| Block Frequency confidence |
|
99,9% |
| Block Frequency p-value |
|
0.001 |
|
Results:
| Random ciphertext sequences |
|
99.985 |
| Non random ciphertext sequences |
|
15 |
| Random ciphertext sequences (percentage) |
|
99,985 %
|
| Non random ciphertext sequences (percentage) |
|
0,015 % |
Correct deciphered texts
|
|
100.000 |
| Incorrect deciphered texts |
|
0 |
Checked Block Frequency test with data.e file
|
|
YES |
|
Blog: HC 256 cipher stream (eSTREAM candidate) generates randomized encrypted text with block frequency test with 99,9 per cent confidence
|