| AES 256 OFB |
Summary with Rapid Miner: cipherTime = - 0.000115096427166367 + 0.000000163201822481 * length, Coefficient = 0.998140067270979300 The Coefficient values indicate how well the model fits the data, they are close to 1.0, indicating that we have accounted for almost all of the variability of cipherTime (0.998140067270979300) and decipherTime (0.997187435292768000) with bit stream length variable. with Excel: cipherTime = - 0,000115096427165798 + 0,000000163201822481 * length, Multiple R = 0,998140067270974 Which confirms RapidMiner results with a negligible variation. With these results we'll be able to establish cipher, decipher algorithm relations with random number tests and hash functions (all components of DiceLock). Data calculation We compute "cipherTime" and "decipherTime" in seconds depending of the length of the stream being ciphered and deciphered. Computing "cipherTime" comprises the stages: Computing "decipherTime" comprises the stages: In order to establish the relation between encrypted and decrypted stream length with execution time we have performed the following execution: - 32.219 plain text streams with lengths from 1.024 bits to 1.000.000 bits, each stream 32 bits longer than the previous one,- computed execution time for encryption and decryption for each stream with CounterTime class, - comparing that the deciphered text matches plain text that has been encrypted, - saving to "OFB-AES256.csv" file the information: stream length in bits, cipher and decipher time in seconds for all 32.219 tests performed, - finally, compute AES 256 with OFB operation mode with Known Answer Test (KAT) GFSbox where key and initialization vector are set to 0's. We can see that expected ciphertext and computed ciphertext match, and that the deciphered text matches plain text that has been enciphered. We can see the last plain streams encrypted and decrypted, the time in seconds it took and the number of correctly ciphered and deciphered text sequences, 31219 sequences. At the end plaintext is ciphered with key and initiallization vector set to 0's. It's shown that expected ciphertext matches computed ciphertext. Finally, deciphered text sequence matches KAT plain text. OFB-AES256.csv created file with stream length, cipher time and decipher time RapidMiner plots With OFB-AES256.csv we can analyze if it's possible to establish some strong relationship between stream length and execution time in seconds. We've worked with RapidMiner software to see if we can extract some conclusion. Once loaded OFB-AES256.csv with RapidMiner we can see the plot of "cipherTime" and "decipherTime" (on Y axis) regarding stream "length" (on X axis). It's obvious that cipher and decipher operation execution time has a clear relationship with stream length and that linear regressions can be obtained. The next step performed has been to plot just "cipherTime" (Y axis) against stream "length" (X axis). Although the majority of points are over a line, some points are outliers (they are above the line). We can think about these outliers as system interruptions. With this information we are able to establish a relationship between "cipherTime" and stream "length". A linear regression equation can be established to get a final relationship between cipher algorithm and random number tests. The plot of "decipherTime" (Y axis) against stream "length" (X axis). Although the majority of points are over a line, some points are outliers (they are above the line). We can think about these outliers as system interruptions too. With this information we are able to establish a relationship between "decipherTime" and stream "length". A linear regression equation can be established to get a final relationship between decipher algorithm and random number tests. LINEAR REGRESSION RapidMiner software allows to get models on data and establish relationaships between them. We have taken a two ways approach, establilsh the linear regression with RapidMiner and verify such linear regression with Microsoft Excel. RapidMiner linear regression analysis With the data regarding "cipherTime" and stream "length" we have perfomed the linear regression of "cipherTime" depending on stream "length". The result obtained is the following one: That is:
intercept = - 0.000115096427166367, and the slope = 0.000000163201822481, with a Standard Coefficient of:
The Coefficient value indicates how well the model fits the data, it's close to 1.0, indicating that we have accounted for almost all of the variability of cipherTime (0.998140067270979300) with stream length variable. With the data regarding "decipherTime" and stream "length" we have perfomed the linear regression of "decipherTime" depending on stream "length". The result obtained is the following one: That is:
intercept = - 0.000310405294140850, and the slope = 0.000000163601687315, with a Standard Coefficient of:
The Coefficient value indicates how well the model fits the data, it's close to 1.0, indicating that we have accounted for almost all of the variability of decipherTime (0.997187435292768000) with stream length variable. Excel linear regression analysis Microsoft Excel provides for data analysis. We perform the same Linear Regression of the same OFB-AES256.csv file in order to check that we get the same results. In Excel we analyze all 32.219 "cipherTime" and stream "length" data samples with Regression and we get the linear regression and ANOVA: That is:
intercept = - 0,000115096427165798, (Excel result) intercept = - 0.000115096427166367, (RapidMiner result, negligible difference) slope = 0,000000163201822481, (Excel result) slope = 0.000000163201822481 (equals RapidMiner result) And the important statistical information
The Coefficient is close to 1.0, indicating that we have accounted for almost all of the variability of cipherTime (0,998140067270974) with stream length variable. coefficient = 0,998140067270974, (Excel result) coefficient = 0.998140067270979300, (RapidMiner result, negligible difference) Cipher fit plot The fit plot of calculated "estimated values" with the linear regression formula (pink line) and the sample data (blue points) shows us that the linear regression formula adjust quite well to real values. The linear regression formula can be used to estimate time relationships between cipher AES 256 with OFB operation mode with random number tests.
In Excel we analyze all 32.219 "decipherTime" and stream "length" data samples with Regression and we get the linear regression and ANOVA: That is:
intercept = - 0,000310405294141294, (Excel result) intercept = - 0.000310405294140850, (RapidMiner result, negligible difference) slope = 0,000000163601687315, (Excel result) slope = 0.000000163601687315 (equals RapidMiner result) And the important statistical information
The Coefficient is close to 1.0, indicating that we have accounted for almost all of the variability of decipherTime (0,997187435292772) with stream length variable. coefficient = 0,997187435292772, (Excel result) coefficient = 0.997187435292768000, (RapidMiner result, negligible difference) The fit plot of calculated "estimated values" with the linear regression formula (pink line) and the sample data (blue points) shows us that the linear regression formula adjust quite well to real values. The linear regression formula can be used to estimate time relationships between decipher AES 256 with OFB operation mode with random number tests. baseSymmetricCipher.h Hardware: Software: Developed with: |


DiceLock cipher incorporates AES 256 with OFB operation mode to produce randomized-encrypted sequences.