ganlubbq / isd-2

Implementation of some information-set decoding algorithms

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ISD algorithms

Two differents algorithms are implemented :

  • Prange [Prange], using Canteaut en Chabaud improvements [CC]
  • Stern [Stern], also using Canteaut and Chabaud improvements [CC] , and some ideas of Bernstein, Lange and Peters [BLP]

Both of them are implemented with AVX-512 support.

Usage

Compilation

3 targets : debug, run, avx.

  • debug : no avx512, debug stuff on, optimizations off
  • run: no avx512, optimisations on
  • avx: avx512 on, optimizations on

Use make <target> to compile the target you want.

Credits

Bibliography

[Prange] Prange, E.: The use of information sets in decoding cyclic codes. IRE Transactions IT-8(1962) S5–S9

[CC] Canteaut, A., Chabaud, F.: A new algorithm for finding minimum-weight words in a linear code: Application to McEliece’s cryptosystem and to narrow-sense BCH codes of length 511. IEEE Transactions on Information Theory44(1) (January 1998) 367–378

[Stern] Jacques Stern. A method for finding codewords of small weight. Coding theory and applications, volume 388 of Lecture Notes in Computer Science, 1989.

[BLP] Daniel J. Bernstein, Tanja Lange, Christiane Peters: Attacking and defending the McEliece cryptosystem, 2008.

About

Implementation of some information-set decoding algorithms

License:GNU General Public License v2.0


Languages

Language:C 79.5%Language:Python 16.5%Language:Sage 2.5%Language:Makefile 0.9%Language:Shell 0.5%