Skip to main content
deleted 50 characters in body
Source Link
  1. The main difficulty is to find a good source of entropy. It is a measure of "randomness". Well, if we have a value $seed$ such that $H(seed)=n$, we cannot produce a sequence $x, |x|\geq|seed|$ with greater entropy, i.e. $\forall x : x=f(seed)\land|x|\geq|seed|\implies H(x)\leq H(seed)$, where $f$ is some deterministic algorithm (PRNG). Entropy is defined as follows: $$ H(X)=-\sum_{x\ \in\ \text{Dom}(X)}\text{Pr}(x)\cdot\text{log}_2\text{Pr}(x) $$ where $X$ is a random variable. To calculate entropy of a sequence statistical probabilities (instead of the real ones) of each symbols are used. Statistical probability of a symbol is defined as a ratio of number of occurrences of the symbol to the length of the message.<removed>
    In other words in the best case we get a longer sequence with the same amount of "randomness" in it as in the shortest one. There's no way to generate a potentially unbounded truly random sequence using some algorithm from a finite sequence without any additional entropy source.
    UPD: it's not quite correct to use the formula for sequences. But the sense of this paragraph remains valid: you cannot create "randomness" from nothing.

  2. Well, that's a good question, because we can say, that whether some sequence is random or not with a certain probability. The only way is to use statistical tests. An ideal (or truly) random sequence is defined as follows: $$ X_\to=\{\zeta_1, \zeta_2, ..., \zeta_n,...\} $$ where $\zeta_i, i\in\{1,2,...\}$ are uniformly distributed on some set $X$ random variables and in each subset $\{\zeta_{i_1},...,\zeta_{i_k}\}$ all variables are independent. Having an arbitrary sequence the only we can do is to test its statistical properties and to say that with a high (or low) probability it is a random sequence (more preciselythese requirements hold for these variables - indistinguishable from random)<redacted to make it more clear>.
    But what about entropy? We can calculate it for a sequence, but it will be just an approximation, because the best we can use are statistical<removed> probabilities. Entropy can change dramatically if we calculate it again for a sequence, which our one is a part of (in other words entropy of a prefix may differ from entropy of a whole message). So we can't use entropy to say, that the sequence is truly random - it is again some sort of a statistical test, that yields an answer with a certain probability.
    In all articles I've read about truly random generators proofs of "true randomness" were statisticalare tested statistically. Unfortunately I can't read article, that you mentioned in the question, but I think, that there will be the same sort of a proofresearch.


Well, I suppose, that there could be a potential method to prove, that some generator produces a sequence with the maximum possible entropy (i.e. truly random sequence), but I haven't seen it yet. But maybe it's impossible to have such method. If there's one, I'm interested to read about it :)

UPD: maximum entropy isn't required for true randomness. Here is some citations of @Paul Uszak:

Such a sequence [truly random] only needs a monotonically increasing amount of Kolmogorov complexity. Bias/correlation is irrelevant.

TRNGs aren’t tested for true randomness. Their ‘truth’ comes from an understanding of the non deterministic physical processes that create the output Kolmogorov complexity.

UPD: in a nutshell: TRNGs use some physical unpredictable events to yield a sequence, PRNGs use computer algorithms.

  1. The main difficulty is to find a good source of entropy. It is a measure of "randomness". Well, if we have a value $seed$ such that $H(seed)=n$, we cannot produce a sequence $x, |x|\geq|seed|$ with greater entropy, i.e. $\forall x : x=f(seed)\land|x|\geq|seed|\implies H(x)\leq H(seed)$, where $f$ is some deterministic algorithm (PRNG). Entropy is defined as follows: $$ H(X)=-\sum_{x\ \in\ \text{Dom}(X)}\text{Pr}(x)\cdot\text{log}_2\text{Pr}(x) $$ where $X$ is a random variable. To calculate entropy of a sequence statistical probabilities (instead of the real ones) of each symbols are used. Statistical probability of a symbol is defined as a ratio of number of occurrences of the symbol to the length of the message.
    In other words in the best case we get a longer sequence with the same amount of "randomness" in it as in the shortest one. There's no way to generate a potentially unbounded truly random sequence using some algorithm from a finite sequence without any additional entropy source.

  2. Well, that's a good question, because we can say, that whether some sequence is random or not with a certain probability. The only way is to use statistical tests. An ideal (or truly) random sequence is defined as follows: $$ X_\to=\{\zeta_1, \zeta_2, ..., \zeta_n,...\} $$ where $\zeta_i, i\in\{1,2,...\}$ are uniformly distributed on some set $X$ random variables and in each subset $\{\zeta_{i_1},...,\zeta_{i_k}\}$ all variables are independent. Having an arbitrary sequence the only we can do is to test its statistical properties and to say that with a high (or low) probability it is a random sequence (more precisely - indistinguishable from random).
    But what about entropy? We can calculate it for a sequence, but it will be just an approximation, because the best we can use are statistical probabilities. Entropy can change dramatically if we calculate it again for a sequence, which our one is a part of (in other words entropy of a prefix may differ from entropy of a whole message). So we can't use entropy to say, that the sequence is truly random - it is again some sort of a statistical test, that yields an answer with a certain probability.
    In all articles I've read about truly random generators proofs of "true randomness" were statistical. Unfortunately I can't read article, that you mentioned in the question, but I think, that there will be the same sort of a proof.


Well, I suppose, that there could be a potential method to prove, that some generator produces a sequence with the maximum possible entropy (i.e. truly random sequence), but I haven't seen it yet. But maybe it's impossible to have such method. If there's one, I'm interested to read about it :)

  1. The main difficulty is to find a good source of entropy. It is a measure of "randomness". Well, if we have a value $seed$ such that $H(seed)=n$, we cannot produce a sequence $x, |x|\geq|seed|$ with greater entropy, i.e. $\forall x : x=f(seed)\land|x|\geq|seed|\implies H(x)\leq H(seed)$, where $f$ is some deterministic algorithm (PRNG). Entropy is defined as follows: $$ H(X)=-\sum_{x\ \in\ \text{Dom}(X)}\text{Pr}(x)\cdot\text{log}_2\text{Pr}(x) $$ where $X$ is a random variable. <removed>
    In other words in the best case we get a longer sequence with the same amount of "randomness" in it as in the shortest one. There's no way to generate a potentially unbounded truly random sequence using some algorithm from a finite sequence without any additional entropy source.
    UPD: it's not quite correct to use the formula for sequences. But the sense of this paragraph remains valid: you cannot create "randomness" from nothing.

  2. Well, that's a good question, because we can say, that whether some sequence is random or not with a certain probability. The only way is to use statistical tests. An ideal (or truly) random sequence is defined as follows: $$ X_\to=\{\zeta_1, \zeta_2, ..., \zeta_n,...\} $$ where $\zeta_i, i\in\{1,2,...\}$ are uniformly distributed on some set $X$ random variables and in each subset $\{\zeta_{i_1},...,\zeta_{i_k}\}$ all variables are independent. Having an arbitrary sequence the only we can do is to test its statistical properties and to say that with a high (or low) probability these requirements hold for these variables <redacted to make it more clear>.
    <removed>
    In all articles I've read about truly random generators are tested statistically. Unfortunately I can't read article, that you mentioned in the question, but I think, that there will be the same sort of research.


Well, I suppose, that there could be a potential method to prove, that some generator produces a sequence with the maximum possible entropy, but I haven't seen it yet. But maybe it's impossible to have such method. If there's one, I'm interested to read about it :)

UPD: maximum entropy isn't required for true randomness. Here is some citations of @Paul Uszak:

Such a sequence [truly random] only needs a monotonically increasing amount of Kolmogorov complexity. Bias/correlation is irrelevant.

TRNGs aren’t tested for true randomness. Their ‘truth’ comes from an understanding of the non deterministic physical processes that create the output Kolmogorov complexity.

UPD: in a nutshell: TRNGs use some physical unpredictable events to yield a sequence, PRNGs use computer algorithms.

Source Link

  1. The main difficulty is to find a good source of entropy. It is a measure of "randomness". Well, if we have a value $seed$ such that $H(seed)=n$, we cannot produce a sequence $x, |x|\geq|seed|$ with greater entropy, i.e. $\forall x : x=f(seed)\land|x|\geq|seed|\implies H(x)\leq H(seed)$, where $f$ is some deterministic algorithm (PRNG). Entropy is defined as follows: $$ H(X)=-\sum_{x\ \in\ \text{Dom}(X)}\text{Pr}(x)\cdot\text{log}_2\text{Pr}(x) $$ where $X$ is a random variable. To calculate entropy of a sequence statistical probabilities (instead of the real ones) of each symbols are used. Statistical probability of a symbol is defined as a ratio of number of occurrences of the symbol to the length of the message.
    In other words in the best case we get a longer sequence with the same amount of "randomness" in it as in the shortest one. There's no way to generate a potentially unbounded truly random sequence using some algorithm from a finite sequence without any additional entropy source.

  2. Well, that's a good question, because we can say, that whether some sequence is random or not with a certain probability. The only way is to use statistical tests. An ideal (or truly) random sequence is defined as follows: $$ X_\to=\{\zeta_1, \zeta_2, ..., \zeta_n,...\} $$ where $\zeta_i, i\in\{1,2,...\}$ are uniformly distributed on some set $X$ random variables and in each subset $\{\zeta_{i_1},...,\zeta_{i_k}\}$ all variables are independent. Having an arbitrary sequence the only we can do is to test its statistical properties and to say that with a high (or low) probability it is a random sequence (more precisely - indistinguishable from random).
    But what about entropy? We can calculate it for a sequence, but it will be just an approximation, because the best we can use are statistical probabilities. Entropy can change dramatically if we calculate it again for a sequence, which our one is a part of (in other words entropy of a prefix may differ from entropy of a whole message). So we can't use entropy to say, that the sequence is truly random - it is again some sort of a statistical test, that yields an answer with a certain probability.
    In all articles I've read about truly random generators proofs of "true randomness" were statistical. Unfortunately I can't read article, that you mentioned in the question, but I think, that there will be the same sort of a proof.


Well, I suppose, that there could be a potential method to prove, that some generator produces a sequence with the maximum possible entropy (i.e. truly random sequence), but I haven't seen it yet. But maybe it's impossible to have such method. If there's one, I'm interested to read about it :)