220 likes | 328 Views
Quantitative Randomness Measuring Model for Pseudo-Random F unctions. By Jyh -haw Yeh Department of Computer Science Boise State University. What is the Model for?. Measuring the correlation between inputs and outputs of complicated functions.
E N D
Quantitative Randomness Measuring Model for Pseudo-Random Functions By Jyh-haw Yeh Department of Computer Science Boise State University
What is the Model for? • Measuring the correlation between inputs and outputs of complicated functions. • The model was designed for measuring cryptographic algorithms. • Other possible applications: • Environmental factors V.S. gene mutation • Dependable variables V.S. nature change such as climate, land surface, see level, etc
How does the Model Work? • Use neural networks to learn the relationship between a set of inputs and it’s corresponding set of outputs. • Predict outputs from other N sets of inputs. • Compare predictions and real outputs, and then generate N chi-square statistics, one for each set of data.
How does the Model Work? • From these N statistics, some quantitative measurements can be formulated. • These measurements indicate how much those tested inputs related to the known outputs.
How is the Model Used in Applications • Cryptographic algorithms: • For each algorithm, the model generates measurements. • The measurements indicate how random the algorithm is. • An algorithm is more secure if it is more random. • Through this model, security strength among different algorithms can be quantitatively compared.
How is the Model Used in Applications • Nature changes: • Scientist recorded nature change (independent variable) over a period of time T - outputs in our model. • Over the same time period T, they also recorded the changes of several other factors (dependent variables ), which may cause the nature change – inputs in our model. • Our model evaluates which factor is more related to the nature change.
How is the Model Used in Applications? • Gene mutation: • Outputs to our model: recorded mutation over a time period T. • Inputs to our model: recorded environmental factors in the same T – temperature, humidity, … • Our model evaluates which factor may be more related to gene mutation.
Measuring Cryptographic Algorithms • Raw data generation: • A data set: M, say 1,000k pairs of plain(text)s and cipher(text)s. • For each algorithm, generate N, say 101, data sets. • One data set (training set) for training the networks. • The other 100 data sets (testing sets) for testing the networks.
Measuring Cryptographic Algorithms • Network training: use the training set to train the network. • Network testing: use each testing set to test the networks. • For each testing set, there are 1,000k predictions of ciphers. • Observed data generation: • 1,000k hamming distances (HDs) are produced , from 1,000k of (predictions, real ciphers). • If the algorithm is truly random, the distribution of these HDs is binomial.
Measuring Cryptographic Algorithms • Chi-square analysis: apply chi-square analysis to these 1,000 HDs, and generate a statistic V. N=1,000k Ni : the # of HDs with value i. Pi : the probability of a HD with value i, for a truly random algorithm. d : degree of freedom (or block size).
Measuring Cryptographic Algorithms • Chi-square analysis: • A critical statistic value CV can be calculated, based on a pre-picked significance level α. • If V > CV, this analysis is considered failed, • i.e., the data set being tested is statistical non-random, • or the algorithm is considered non-random based on the tested data set.
Measuring Cryptographic Algorithms • More chi-square analyses: • Random/non-random decided by one data set and one chi-square analysis – risky. • 100 or more data sets. • For each data set, perform many chi-square analyses, one for each bit, each 2-bit, each 4-bit, … the whole block. (power of 2) • Let be the set of portion sizes used for chi-square analysis. • For a128-bit algorithm, there are totally 25,500 chi-square analyses.
Measuring Cryptographic Algorithms • Generate quantitative measurements: after testing 100 testing sets, there are 25,500 statistics are produced. • : the statistics for the j-th d-bit analysis in i-th data set. • : the critical statistics for a d-bit analysis. • : the failure weight for a d-bit analysis. • For example, set
Measuring Cryptographic Algorithms • : the failure frequency of d-bit analyses in the i-th data set. • : estimated failure rate for the i-th data set. • Estimated Failure Rate: • represents the expected failure percentage for a data set generated from the algorithm.
Measuring cryptographic algorithms • Estimated Failure Variance : • estimates how bad each (failed) non-random data set is. • That is, those tested non-random data sets, whose chi-square statistics is about times than critical statistics.
Measuring cryptographic algorithms • Both EFR and EFV are not absolute, but relative quantities. • Used to measure relative security strength among algorithms. • In general, smaller values of EFR and EFV, the algorithm is more random.
Initial experimental result • The measuring methodology described, called ANN test (using Artificial Neural Networks). • For comparison, two other measuring methodologies Avalanche test and plain-cipher test were also performed. • The observed data set for each test: • Avalanche: the hamming distance between two ciphertexts, where their plaintexts differ by one bit. • Plain-cipher: the hamming distance between the plaintext and it’s ciphertext.
Initial experimental result • Have measured AES, MD5, and DES, each with 100 ANN tests, 100 avalanche tests and 100 plain-cipher tests. • Comparing AES and MD5, the portion sizes to be chi-square analyzed are S={1,2,4,…,128}. Thus, 255 chi-analyses in each test. • Comparing all three algorithms, S={1,2,4,…64} since the block size of DES is 64. Thus, 127 chi-square analyses in each test.
Research Challenges • A hypothesis: ANN test is more effective on identifying security weakness – need more measuring methodologies to solidify. • What is a good ANN architecture? What is appropriate parameter setting for ANN training process? • A single ANN or multiple ANNs to simulate the encryption mapping? • In ANN test, what is a good prediction logic? • In addition to hamming distance, other way to generate observed data? Cumulative sum, approximate entropy?
Research challenges • To avoid over- or under-counting the non-randomness, how many different portions within a block to be analyzed in a test? • In addition to EFR and EFV, other meaningful quantitative measurements? • Comparison strategy if conflicting indications among quantitative measurements. • Fair comparison method for algorithms with different block sizes.
Challenges of Applying the model to other applications • Data from other applications may not be binary. • Unlike cryptographic algorithms, other applications may be difficult to gather large amount of data. • The model is not used to predict the future, but for measuring relative correlation among different factors. • Different applications may need to modify the model more or less, and in different ways.