What does "a key is uniform" mean in cryptography?

96 Views Asked by At

In the lecture on Coursera platform, the inequality below was shown: there exists an algorithm $A$ such that $$\underset{{k \overset{R}{\longleftarrow} \mathscr{K}}}{\operatorname{Pr}}\left[\left.A(G(k))\right|_{1, \ldots, i}=\left.G(k)\right|_{i+1}\right] \geqslant \frac{1}{2}+\varepsilon$$ Here $\operatorname{G}$ is the pseudorandom generator (PRG) function that expands a seed.

My question: In the lecture, this is stated as "$k$ is uniform in the space of keys $\mathscr K$". I do not understand what uniform means in this context.

A uniform random variable means $P(X=t) = 1/|S|$, where $|S|$ is the set of all possible values (assuming $|S|$ is finite). How to interpretate the meaning of this term "uniform" in the inequality above?

2

There are 2 best solutions below

0
On BEST ANSWER

Here $k$ is indeed uniformly sampled from a finite keyspace $\mathscr{H}$ (a finite set), it's our seed. This space could be something like "all the 256 bit long bytestrings" (so $2^{256}$ possibilities.). So your formula is correct, for a finite set the distribution is simply the uniform distribution over this set, that is what $k \leftarrow \mathscr{H}$ means

In the context of your equation, it means that for a truly uniformly randomly chosen seed $k$, there exists an algorithm $A$ that if given all the previous outputs of the $k$-seeded pseudorandom generator $G$ is able to predict the next one with a probability $1/2 + \epsilon$.

If your PRG is cryptographically secure, then there shouldn't be an algorithm able to do that in polynomial time.

If you want to characterize pseudorandom number generators, you may want to look at the notion of computational indistinguishability

0
On

The meaning is exactly as you guessed. The key is uniformly distributed in the space $\cal K$ and $k$ shown under $Pr$ in the equation is random sample from this distribution.