Commit Graph

47 Commits

Author SHA1 Message Date
Alexander Rolfes dd68d1a094 Merge branch 'master' of ssh://gitlab.hasufell.de:22022/pcq/quantumcrypto
Conflicts:
	src/poly.h solved
	src/ntru_decrypt.c fixed

ntru_decrypt.c used changed function heading
2014-05-13 09:51:47 +02:00
hasufell 782ccf0524
POLY: improve error handling 2014-05-13 00:20:46 +02:00
hasufell 30e18177e8
POLY: allow signed int in MP_SET_INT
Now you can pass MP_SET_INT(&foo, -1) without having
to call mp_neg() later etc.
2014-05-13 00:12:03 +02:00
Christoph Prüßner 4030335661 POLY: implemented pb_normalize
normalizes a polynom by defining a numerical range
for each factor of a polynom.
2014-05-12 13:46:59 +02:00
hasufell e29064a666
POLY: fix pb_inverse_poly_p and convert to pb_mp_mul()
Was still using the old build_polynom() API.
2014-04-30 17:29:16 +02:00
hasufell f6b5c8de19
POLY: simplify pb_inverse_poly_q() a bit 2014-04-30 17:23:24 +02:00
hasufell 8817cd79b2
POLY: use break instead of goto 2014-04-30 17:22:57 +02:00
hasufell afa06ce0b9
POLY: remove unused context parameter of build_polynom() 2014-04-30 17:22:25 +02:00
hasufell f2b4183c68
POLY: add pb_mp_mul() 2014-04-30 17:19:58 +02:00
hasufell 9c89b79627
POLY: add init_integers() 2014-04-30 17:18:08 +02:00
hasufell 12fa21f5b2
POLY: make get_degree() public 2014-04-30 17:16:50 +02:00
hasufell 942f90a0ef
POLY: small cleanup
* rm printf stuff
* rename goto-statements
* improve inline doc
* rm unused variables
2014-04-29 19:59:59 +02:00
hasufell 4d5f44c900
POLY: first try of implementing pb_inverse_poly_p()
This ends up as an infinite loop though.
2014-04-29 14:27:52 +02:00
hasufell 777a086c53
DOC: improve inline comments in pb_inverse_poly_q()
These should also match the actual mathematical computations.
2014-04-29 14:27:15 +02:00
hasufell 12b8b08700
DOC: fix doxygen comment in pb_mod2_to_modq() 2014-04-22 20:47:10 +02:00
hasufell abd2727215
POLY: add pb_mod2_to_modq()
This should make pb_inverse_poly_q() a bit more readable.
TODO: make the algorithm more descriptive in general.
2014-04-22 20:47:10 +02:00
hasufell 6c0f94435e
POLY: introduce delete_polynom_multi()
Just a wrapper around delete_polynom() to handle multiple args.
Must be called with NULL as last argument!
2014-04-22 20:47:10 +02:00
hasufell 5459f94937
POLY: use our MACROS for error handling
All mp_* and pb_* functions that return an error code
should only be called via a MACRO which handles the error.
2014-04-22 20:47:10 +02:00
hasufell 5d875ca847
MEM: introduce our own ntru_malloc() function
Use this instead of malloc().
2014-04-22 20:47:03 +02:00
hasufell 6b15bd1614
DOC: fix doxygen comment in pb_mod2_to_modq() 2014-04-22 20:46:13 +02:00
hasufell ae01f6e3cf
Merge branch 'poly' 2014-04-22 20:46:13 +02:00
hasufell 1231328e51
POLY: add pb_mod2_to_modq()
This should make pb_inverse_poly_q() a bit more readable.
TODO: make the algorithm more descriptive in general.
2014-04-22 20:46:13 +02:00
hasufell 320af3c617
POLY: introduce delete_polynom_multi()
Just a wrapper around delete_polynom() to handle multiple args.
Must be called with NULL as last argument!
2014-04-22 20:46:12 +02:00
hasufell 6594a022fe
POLY: use our MACROS for error handling
All mp_* and pb_* functions that return an error code
should only be called via a MACRO which handles the error.
2014-04-22 20:46:12 +02:00
hasufell 2488e4b33a
MEM: introduce our own ntru_malloc() function
Use this instead of malloc().
2014-04-22 20:46:04 +02:00
hasufell 565ce61273
POLY: fix syntax error within comment 2014-04-20 16:46:47 +02:00
hasufell 302cd5e4d8
POLY: fix pb_inverse_poly_q()
Should be correct now. Had to add get_degree(), because
pb_clamp() in conjunction with pb_cmp() does not give
expected results, see https://github.com/libtom/libtompoly/issues/3
...so don't use it.
2014-04-17 23:43:29 +02:00
hasufell 4bd341e83e
POLY: cleanup pb_inverse_poly_q()
Also avoid side effects.
2014-04-17 17:37:30 +02:00
hasufell cc82e4e3bd
POLY: cleanup pb_starmultiply()
* avoid side effects
* use MP_DIV instead of MP_MOD
* move mp_modulus initialization to outer scope
2014-04-17 17:36:57 +02:00
hasufell 03a05f2dad
DOC: fix doxygen comment in delete_polynom() 2014-04-17 17:35:20 +02:00
hasufell 2300587fec
POLY: add erase_polynom() function 2014-04-17 17:34:48 +02:00
hasufell 8ea687bdf5
POLY: use mp_neg() instead of directly modifying struct 2014-04-17 17:33:05 +02:00
hasufell a49a5d2e8c
POLY: improve error handling
Use MP_ADD, MP_MUL, PB_ADD, PB_MUL etc instead of the mp_add,...
functions to make use of error handling.
2014-04-17 02:09:49 +02:00
hasufell 56b20220ba
POLY: first try of inverting polynomials 2014-04-16 23:23:41 +02:00
hasufell 2a16102b9f
POLY: rm unnecessary cast 2014-04-16 23:18:38 +02:00
hasufell 1179082ac1
POLY: fix typo 2014-04-16 23:17:48 +02:00
hasufell cb4d274c58
POLY: fix error messages 2014-04-15 22:54:11 +02:00
hasufell df1df23e09
POLY: first try of pb_starmultiply() 2014-04-15 22:50:42 +02:00
hasufell abf047a264
POLY: don't clamp polyonmial in build_polynom()
Otherwise we might hit problems when using this as an
out-polynom in a arithmetic functions. The caller can clamp
it himself, if he needs so.
2014-04-15 22:50:11 +02:00
hasufell e60d9c9bac
POLY: add build_polynom() method
We can build a polynom via an array of integers or just an empty
one, so that it is initialized and properly allocated.
2014-04-15 18:49:17 +02:00
hasufell b7b4ffbbea
DOC: fix typo 2014-04-15 18:47:58 +02:00
hasufell 783858a52c
POLY: use size_t 2014-04-15 18:20:08 +02:00
hasufell 5e7c980831
DOC: improve memory handling instructions 2014-04-15 16:56:38 +02:00
hasufell 4a7e50a194
POLY: add delete_polynom() function
This deletes both the internal structure and the pointer.
2014-04-15 14:22:46 +02:00
hasufell b33b0c6b1a
DOC: caller has to handle the memory of returned pointers 2014-04-15 14:16:30 +02:00
hasufell f6e879cba8
LICENSE: fix header 2014-04-15 13:35:04 +02:00
hasufell 2029e91c47
POLY: add basic polynomial wrappers
Also provide a draw_polynomial function for human readable
output of the polynomial.
2014-04-14 22:28:35 +02:00