f0eefe788532d17a9de5f71231d2eeeb3053dcf8
In some very rare cases such as the polynom 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1 the encryption->decryption cycle caused an incorrect result. This wasn't reproducible for all polynomials, just for some. Implementing the algorithm manually instead of using the shortcut through fmpz_poly_add(out, out, tmp_poly_msg); fmpz_poly_mod_unsigned(out, ctx->q); seems to have solved the issue. Still unknown what happened there.
Description
Languages
C
94.3%
Makefile
3.8%
Objective-C
1.4%
Shell
0.5%