I've been trying to learn about attacks on LPN ($n$-bit secret, noise rate $\eta$), and have found several allusions to a brute force algorithm that runs in time exponential in $n$ and requires a linear number of samples in $n$. For example, the third slide of this deck or the original BKW paper. That said, I have not been able to find the success probability of this algorithm, nor derive it myself.
LPN challenger:
- upon initialization, chooses random $s \in \mathbb{Z}_2^n$
- when queried, chooses random $a \in \mathbb{Z}_2^n$, computes $c = a \cdot s \mod{2}$ and returns the true $(a, c)$ with probability $1 - \eta$, or the corrupted $(a, 1 \oplus c)$ with probability $\eta$.
Bruteforce algorithm:
- query the LPN challenger for $m$ labelled samples $(x_1, l_1),...,(x_m, l_m) \in \mathbb{Z}_2^n \times \mathbb{Z}_2$
- for each potential secret $s_j \in \mathbb{Z}_2^n$, compute the empirical error rate $r_j = (1/m) (\sum_{i=1}^m (x_i \cdot s_j) + l_i \mod{2})$ (note each term of the sum is computed $\mod{2}$ but the sum itself is computed over the integers)
- output potential secret $s_t$ with empirical error rate $r_t$ closest to the noise rate $\eta$ (i.e. $t = arg\,min_t \lvert r_t - \eta \rvert$)
Intuitively, it seems this algorithm should succeed with probability significantly better than the trivial $\frac{1}{2^n}$ probability of guessing at random. But I'm not really sure how to quantify the success probability here. Any pointers to the literature or direct answers appreciated.
EDIT: I'm not 100% positive the last step of the bruteforce is actually the algorithm referenced in the literature, as the phrases I've seen used are "check which s is the best fit" and "find the one of least empirical error". So if I'm mistaken on the bruteforce algorithm description, let me know.