Problem

Given n∈N+n \in \mathbb{N}_+, generate nn pairwise independent binary bits with as few randomness as possible.

Solution

WLOG, assume that n=2k−1n = 2^k - 1 for some k≥2k \ge 2.

Theorem. We can generate nn pairwise independent bits with kk independent unbiased random bits.

Proof. Let X1,X2,...,XkX_1, X_2, ..., X_k be unbiased random bits.

Define for every nonempty subset S⊂[k]S \subset [k],

YS≐∑i∈SXimod  2. Y_S \doteq \sum_{i \in S} X_i \mod 2.

There are 2k−12^k - 1 such random variables. We claim that they are pairwise independent.

First, observe that for every S⊂[k]S \subset [k],

Pr⁡[YS=0]=Pr⁡[YS=1]=0.5. \Pr[ Y_S = 0 ] = \Pr [ Y_S = 1 ] = 0.5.

Moreover, for every pair of nonempty subsets S≠S′⊂[k]S \neq S' \subset [k], there exists at least one index j∈SΔS′j \in S \Delta S'. Fixing the values of XiX_i for all i∈[k]∖{j}i \in [k] \setminus \{ j \}, whether YS=YS′Y_S = Y_{S'} or not depends solely on XjX_j. Hence,

Pr⁡[YS=YS′]=Pr⁡[YS≠YS′]=0.5. \Pr [ Y_S = Y_{S'} ] = \Pr [ Y_S \neq Y_{ S' } ] = 0.5.

□\square

Remark: We can label the nonempty subsets {S⊂[k]:S≠∅}\{ S \subset [k] : S \neq \emptyset \} by numbers in [n][n] and rewrite the random variables {YS:S⊂[k]∧S≠∅}\{ Y_S : S \subset [k] \wedge S \neq \emptyset \} as an nn-bit vector Y=(Y1,...,Yn)\pmb Y = (Y_1, ..., Y_n). The vector Y\pmb Y has 2k2^k distinct values.

Reference

[1] S. P. Vadhan, “Pseudorandomness,” TCS, vol. 7, no. 1–3, pp. 1–336, Dec. 2012