I was trying to read this introduction to private information retrieval. On page 12 of the document, a scheme for 1-DB private information retrieval is discussed. I was unable to understand one of the steps of this scheme, I will reproduce it below so you can look at it, and hopefully, someone can clarify what is meant by the step I don't understand.
An integer $n$ is defined ahead of time, the database $x$, is a $\sqrt{n} \times \sqrt{n}$ array of bits, whose elements can be indexed as $x_{nm}$.
We now describe the protocol for Alice to privately determine the quantity $x_{ij}$ for some specific pair $i,j$ as follows:
Alice generates two primes of equal length $p_1, p_2$ such that $m = p_1 p_2$ is a semiprime with length $n^{\delta}$ for some choice of $\delta > 1$.
Alice generates $\sqrt{n}$ elements of the multiplicative group $Z_m^*$ called $r_1 ... r_\sqrt{n}$ with the property that ALL except $r_i$ (where $i$ is the same as the $i$ in $x_{ij}$) are quadratic residues modulo $m$, and $r_i$ is a quadratic non square modulo $p_1$ and $p_2$.
Alice sends $m, r_1 ... r_\sqrt{n}$ to the database.
The Database now computes a matrix $c_{ab}$ defined as follows:
$$ c_{ab} = z_b^2 \ \text{if } x_{ab} = 1 \\ c_{ab} = z_b \ \text{if } x_{ab} = 0 $$
Now I'm totally lost, what is $z_b$? Where did it come from? How is it defined?