Commit Graph

53 Commits

Author SHA1 Message Date
12a54416fb
BUILD: ignore -Wunused-function... this is a library 2014-04-22 20:46:13 +02:00
ae01f6e3cf
Merge branch 'poly' 2014-04-22 20:46:13 +02:00
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
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
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
e33bd66d05
BUILD: update Makefile for mem.o 2014-04-22 20:46:12 +02:00
2488e4b33a
MEM: introduce our own ntru_malloc() function
Use this instead of malloc().
2014-04-22 20:46:04 +02:00
565ce61273
POLY: fix syntax error within comment 2014-04-20 16:46:47 +02:00
6f1f1b529c Merge branch 'master' into 'master'
some polishing and build_polynom() function
2014-04-20 13:52:21 +02:00
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
3428dedc2c
BUILD: fix possible linker errors 2014-04-17 17:37:44 +02:00
4bd341e83e
POLY: cleanup pb_inverse_poly_q()
Also avoid side effects.
2014-04-17 17:37:30 +02:00
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
03a05f2dad
DOC: fix doxygen comment in delete_polynom() 2014-04-17 17:35:20 +02:00
2300587fec
POLY: add erase_polynom() function 2014-04-17 17:34:48 +02:00
8ea687bdf5
POLY: use mp_neg() instead of directly modifying struct 2014-04-17 17:33:05 +02:00
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
56b20220ba
POLY: first try of inverting polynomials 2014-04-16 23:23:41 +02:00
2a16102b9f
POLY: rm unnecessary cast 2014-04-16 23:18:38 +02:00
1179082ac1
POLY: fix typo 2014-04-16 23:17:48 +02:00
e4cf4331d9
BUILD: fix linker errors when playing in main.c 2014-04-15 23:11:55 +02:00
cb4d274c58
POLY: fix error messages 2014-04-15 22:54:11 +02:00
df1df23e09
POLY: first try of pb_starmultiply() 2014-04-15 22:50:42 +02:00
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
050dab6243
ALL: set context members to unsigned int 2014-04-15 18:49:33 +02:00
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
b7b4ffbbea
DOC: fix typo 2014-04-15 18:47:58 +02:00
2b8eb4f1fa
BUILD: ignore -Wunused-parameter
Can happen in callback functions and so forth.
2014-04-15 18:47:39 +02:00
91c5ea7b82
RAND: use unsigned long instead of mp_digit
if we use mp_set_int() instead of mp_set(), then we can use
full unsigned long integers instead of single digits. This
seems a lot safer, especially for future versions of the
random algorithm.
2014-04-15 18:21:42 +02:00
783858a52c
POLY: use size_t 2014-04-15 18:20:08 +02:00
5e7c980831
DOC: improve memory handling instructions 2014-04-15 16:56:38 +02:00
3902209626
update .gitignore 2014-04-15 14:27:06 +02:00
cafc977c64
DOC: improve memory management documentation 2014-04-15 14:23:27 +02:00
4a7e50a194
POLY: add delete_polynom() function
This deletes both the internal structure and the pointer.
2014-04-15 14:22:46 +02:00
b33b0c6b1a
DOC: caller has to handle the memory of returned pointers 2014-04-15 14:16:30 +02:00
617e32b9cf
RAND: fix memory leak
pb_init() which is called by init_polynom_size() will call
mp_init_copy() on chara which means that chara being a pointer
itself is useless. We can clear it directly after it has been
copied.
2014-04-15 14:15:41 +02:00
bbe2d89a5b
BUILD: update top-level Makefile 2014-04-15 14:13:03 +02:00
255bc5b769
RAND: close the correct file descriptor 2014-04-15 13:43:03 +02:00
f6e879cba8
LICENSE: fix header 2014-04-15 13:35:04 +02:00
67443f49c0 Merge branch 'master' into 'master'
First try of simple randomization
2014-04-15 13:29:32 +02:00
e84974cb65
LICENSE: add LGPL-2.1 license file 2014-04-14 23:58:19 +02:00
a547d7d49b
BUILD: add target "main" for testing
main.c does not belong in this repository, but
might be used for testing locally.
2014-04-14 23:51:33 +02:00
5df1ebbb45
ALL: prefix external API structs/functions with ntru_ 2014-04-14 23:47:01 +02:00
e8ec6103aa
RAND: make mp_digit get_urnd_int_small() static
Does not seem to qualify for external API function.
2014-04-14 23:45:38 +02:00
2def2061db
DOC: add Doxyfile 2014-04-14 22:50:16 +02:00
565abd95d7
BUILD: add initial Makefiles 2014-04-14 22:29:55 +02:00
ff40048d55
RAND: basic randomization
No sanity checks like minimum number of non-NULL coefficients
for the polynomial.
2014-04-14 22:29:36 +02:00
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
f2d18e788f
ALL: add basic pqc_context struct 2014-04-14 22:26:38 +02:00
4a0c25f9fc
ERR: add basic error macro 2014-04-14 22:25:57 +02:00