lpn 0.2.0

Software to study attacks on the Learning Parity with Noise problem
Documentation
# Attacks on Learning Parity with Noise

This software package allows to construct attacks on LPN.
The `examples/` directory shows many examples of solving algorithms that solve various LPN instances using various (combinations of) reductions and solution-finding algorithms.
It also contains some example programs that try to find covering codes (mainly StGen codes) that have desirable properties.

## Usage

1. Get Rust and Cargo set up. You may need the nightly version (as of September 2018).
2. `cargo run --release --example bkw`

## Source material

Thom Wiggers. Solving LPN using Large Covering Codes. *Master's Thesis* Radboud University, 2018.

See also https://thomwiggers.nl/research/msc-thesis/

## References

* Blum, Kalai and Wasserman. Noise-tolerant learning, the parity problem, and the statistical query model. *Computing, 2000*, ACM, 2013.
* Levieil and Fouque. An improved LPN algorithm. *SCN 2006*, Springer 2018.
* Bogos, Tramer and Vaudenay. On solving LPN using BKW and variants – implementation and analysis. *Cryptography and Communications*, 2016.
* Bogos and Vaudenay. Optimization of LPN solving algorithms. *ASIACRYPT 2015*, Springer, 2016.
* Esser, Kübler and May. LPN Decoded. *CRYPTO 2017*, Springer, 2017.
* Samardjiska and Gligoroski. Approaching Maximum Embedding Efficiency on Small Covers Using Staricase-Generator Codes. *2015 IEEE International Symposium on Information Theory*, 2015.