### Re: statistical inferences and PRNG characterization

| Hi, | | I've been wondering about the proper application of statistics with | regard to comparing PRNGs and encrypted text to truly random sources. | | As I understand it, when looking at output, one can take a | hypothetical source model (e.g. P(0) = 0.3, P(1) = 0.7, all bits | independent) and come up with a probability that the source may have | generated that output. One cannot, however, say what probability such | a source had generated the output, because there is an infinite number | of sources (e.g. P(0) = 0.2.., P(1) = 7.000...). Can one say | that, if the source must be A or B, what probability it actually was A | (and if so, how)? That's not the way it's done. Ignore for a moment that we have a sequence (which is probably irrelevant for this purpose, but might not be). Instead, just imagine we have a large collection of values generated by the PRNG - or, looked at another way, a large collection of values alleged to have been drawn from a population with P(0) = 0.3 and P(1) = 0.7. Now take a truely random sample from that collection and ask the question: What is the probability that I would have seen this result, given that the collection I'm drawing from is really taken from the alleged distribution? You don't need any information about *other* possible distributions. (Not that there aren't other questions you can ask. Thus, if the collection could have been drawn from either of two possible distributions, you can ask which is more probable to have resulted in the random sample you saw.) The randomness in the sampling is essential. When you have it, you wipe out any underlying bias in the way the collection was created. | Also, it strikes me that it may not be possible to prove something | cannot be distinguished from random, but that proofs must be of the | opposite form, i.e. that some source is distinguishable from random. Actually, what one tends to prove are things like: If X is uniformally randomly distributed over (0,1), then 2X is uniformally randomly distributed over (0,2). (On the other hand, X + X, while still random, is *not* uniformally distributed.) That's about as close as you are going to get to a proof of randomness. | Am I correct? Are there any other subtleties in the application of | statistics to crypto that anyone wishes to describe? I have yet to | find a good book on statistics in these kinds of situations, or for | that matter in any. Statistics in general require subtle reasoning. | As an aside, it's amusing to see the abuse of statistics and | probability in the media. For example, when people ask what's the | probability of some non-repeating event or condition? That may or may not be a meaningful concept. If I toss a coin, and depending on the result, blow up a building - there is no way to repeat the blowing up of the building, but still it's meaningful to say that the probability that the building gets blown up is 50%. -- Jerry | -- | Curiousity killed the cat, but for a while I was a suspect -- Steven Wright | Security Guru for Hire http://www.lightconsulting.com/~travis/ -- | GPG fingerprint: 9D3F 395A DAC5 5CCC 9066 151D 0A6B 4098 0C55 1484 | | - | The Cryptography Mailing List | Unsubscribe by sending unsubscribe cryptography to [EMAIL PROTECTED] | - The Cryptography Mailing List Unsubscribe by sending unsubscribe cryptography to [EMAIL PROTECTED]

### Re: statistical inferences and PRNG characterization

Travis H. wrote: Hi, I've been wondering about the proper application of statistics with regard to comparing PRNGs and encrypted text to truly random sources. As I understand it, when looking at output, one can take a hypothetical source model (e.g. P(0) = 0.3, P(1) = 0.7, all bits independent) and come up with a probability that the source may have generated that output. One cannot, however, say what probability such a source had generated the output, because there is an infinite number of sources (e.g. P(0) = 0.2.., P(1) = 7.000...). Can one say that, if the source must be A or B, what probability it actually was A (and if so, how)? Short answer: you can say what evidence the observed output provides in favor of A vs B, and if you're willing to start with a prior belief (that A and B are equally likely before the observation, say), then you can calculate the probability after the observation: P(A) / P(B) = P(D | A) / P(D | B) (given that they were equally likely before seeing the data D) Long answer: There are a few philosophies on the correct way to think about such issues. The Bayesian inference approach would simply be to write the probability that a source model is correct (given some data) in terms of the probability that one would observe the data (given that source model) and the probability of the source model being correct, independent of the data (aka the prior), and the probability of the data given any model: P(M1 | D) = P(D | M1) * P(M1) / P(D) M1 = model 1, D = observed data. This equation is Bayes' Theorem, and is trivially derived from from the fact that P(M1 D) = P(M1 | D) * P(D) = P(D | M1) * P(M1) Depending on the type of data, determining P(D) can be an exercise in philosophical futility, but note that in the ratio of two posterior probabilities (the terms on the LHS), the P(D) terms will cancel: P(M1 | D) / P(M2 | D) = P(D | M1) / P(D | M2) * P(M1) / P(M2) Now, if (say) you are using this as a spam filter, you might determine that the prior probability (P(M1)) for one model is different from the prior probability of a different model... for me, the odds that a given email is spam seems to be about 99%, so P(M1)/P(M2) might be about 0.01. For a cryptographic application, well, you'd want to figure out something sensible given the two models. People who dislike Bayesian inference tend to have an issue with the arbitrary choice of prior probabilities. Note that the ratio of the likelihoods (P(D | M1) is the likelihood of M1 given the data D) is a measure of the evidence in favor of M1 vs M2, provided the data D. Non-Bayesian approaches tend to use the log of this ratio as a statistic with a chi^2 distribution. Oh, and do beware the number of degrees of freedom in your two models- if they are not equal, you need to do a bit more work that outlined here. -Bill - The Cryptography Mailing List Unsubscribe by sending unsubscribe cryptography to [EMAIL PROTECTED]

### Re: statistical inferences and PRNG characterization

On May 19, 2006, at 6:51, Travis H. wrote: As I understand it, when looking at output, one can take a hypothetical source model (e.g. P(0) = 0.3, P(1) = 0.7, all bits independent) and come up with a probability that the source may have generated that output. One can come up with the probability that the defined source will generate that output in a single run. One cannot, however, say what probability such a source had generated the output, because there is an infinite number of sources (e.g. P(0) = 0.2.., P(1) = 7.000...). Can one say that, if the source must be A or B, what probability it actually was A (and if so, how)? If you can put your question into the form, Source A or B is chosen with probability pA or 1-pA. Output X is generated. What is the probability that it was source A that was chosen? then Bayesian inference can answer the question. However, you don't generally have a known a priori probability of each source being chosen, and you don't even know the characteristics of the other source. You can generalize to an arbitrary number of alternative sources, but that doesn't provide the prior data that's lacking. - The Cryptography Mailing List Unsubscribe by sending unsubscribe cryptography to [EMAIL PROTECTED]

### Re: statistical inferences and PRNG characterization

On Fri, May 19, 2006 at 06:51:55AM -0500, Travis H. wrote: As I understand it, when looking at output, one can take a hypothetical source model (e.g. P(0) = 0.3, P(1) = 0.7, all bits independent) and come up with a probability that the source may have generated that output. One cannot, however, say what probability such a source had generated the output, because there is an infinite number of sources (e.g. P(0) = 0.2.., P(1) = 7.000...). Can one say that, if the source must be A or B, what probability it actually was A (and if so, how)? You could do this with relatively simple Bayesian classification. Start with a prior assumption like As far as I know it is 50/50 that it is source A or B and then for the output you see you calculate P(A|output) and P(B|outout) using Bayes rule, your probabilistic model for the source and P(A) = P(B) = 0.5. P(X|O) = P(O|X) P(X)/P(O) A finite number of sources is not required here, as long as you're willing to provide a prior distribution over all possible sources that you can do calculations with. Also, it strikes me that it may not be possible to prove something cannot be distinguished from random, but that proofs must be of the opposite form, i.e. that some source is distinguishable from random. I think you're still going to run into the problem of deciding what is random, and that problem will be tied up in your choice of prior distribution on the sources. Am I correct? Are there any other subtleties in the application of statistics to crypto that anyone wishes to describe? I have yet to find a good book on statistics in these kinds of situations, or for that matter in any. I guess the usual proviso: these sort of calculations require assumptions to make them possible, and the results should not be confidently applied outside situations where those assumptions are valid. David. - The Cryptography Mailing List Unsubscribe by sending unsubscribe cryptography to [EMAIL PROTECTED]