error correcting codes
basically use a variant of sreed-solomon code
just copycat the similar function in winrar
this algorithm run over the finite field GF(257) and GF(65537)
257 and 65537, as known as the fermat number, can use fft transform for fast calculation
also, this two numbers, with a little modify, can fit byte and word perfect
compile need c++11(at least gcc4.8 or vs2015)
in fact, my english is so badly, I am hardly to tell any more...