Commit Graph

232 Commits

Author SHA1 Message Date
Christoph Prüßner
74a3fa88c7 moved some lines 2014-05-05 13:58:53 +02:00
Christoph Prüßner
4e6bb38260 numerous fixes 2014-05-03 17:18:23 +02:00
Christoph Prüßner
c326654f14 Merge remote-tracking branch 'OberMaster/master' 2014-05-03 16:13:25 +02:00
Christoph Prüßner
5254cf93f3 changed return type of ntru_decrypt, implemented second starmultiply,
fixed numerical operations to mp_operations
2014-05-03 16:02:09 +02:00
Christoph Prüßner
fa97531eac implemented the coefficient shift into a range of -q/2 and q/2 2014-05-03 14:57:05 +02:00
Christoph Prüßner
b4a7870e97 fixed pointer arithmetical mistakes 2014-05-03 14:07:12 +02:00
Christoph Prüßner
7349c7e8be used pb_starmultiply for the first multiplication and added p, q, N 2014-05-03 14:03:03 +02:00
Christoph Prüßner
4de50e2390 removed redundant multiplication functions 2014-05-03 13:51:00 +02:00
Christoph Prüßner
ecdc32f5e0 first implementation of "pseudocode algorithm" (ms_corourke.pdf) 2014-05-02 13:00:00 +02:00
Christoph Prüßner
9cfb19ea78 added commentary and implemented the pseudocode algorithm
(ms_corourke.pdf)
2014-05-02 12:18:33 +02:00
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
8fbcbe4144 POLY: rearrange header declarations 2014-04-30 17:23:39 +02:00
f6b5c8de19 POLY: simplify pb_inverse_poly_q() a bit 2014-04-30 17:23:24 +02:00
8817cd79b2 POLY: use break instead of goto 2014-04-30 17:22:57 +02:00
afa06ce0b9 POLY: remove unused context parameter of build_polynom() 2014-04-30 17:22:25 +02:00
f2b4183c68 POLY: add pb_mp_mul() 2014-04-30 17:19:58 +02:00
9c89b79627 POLY: add init_integers() 2014-04-30 17:18:08 +02:00
12fa21f5b2 POLY: make get_degree() public 2014-04-30 17:16:50 +02:00
942f90a0ef POLY: small cleanup
* rm printf stuff
* rename goto-statements
* improve inline doc
* rm unused variables
2014-04-29 19:59:59 +02:00
c5f540c4aa Merge branch 'master' of ssh://gitlab.hasufell.de:22022/pcq/quantumcrypto into poly
Conflicts:
	src/Makefile
	src/poly.c
	src/poly.h
2014-04-29 14:35:28 +02:00
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
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
Anton Oster
8e49f3aa8b ENC: added defines/includes 2014-04-29 13:16:19 +02:00
C. Gawlik
b00b7125a3 pcq_encrypt.c / .h 2014-04-29 10:32:10 +02:00
hasufell
180d2acc1b BUILD: remove obsolete object 2014-04-28 12:21:20 +02:00
hasufell
7c8a7580f5 BUILD: remove non-existing header from build 2014-04-28 12:19:26 +02:00
Christoph Prüßner
bd3396b225 Merge remote-tracking branch 'OberMaster/master' 2014-04-23 14:03:23 +02:00
Christoph Prüßner
98bdd670d8 added ntru_decrypt function to ntru_decrypt.c 2014-04-23 13:58:57 +02:00
Christoph Prüßner
74ddfe65e7 remodified gitignore and defined function "ntru_decrypt(..)" 2014-04-23 13:45:03 +02:00
Christoph Prüßner
ac004e5cfe Added the following files: ntru_decrypt.(c|h) 2014-04-23 13:19:37 +02:00
12b8b08700 DOC: fix doxygen comment in pb_mod2_to_modq() 2014-04-22 20:47:10 +02:00
2763b22374 BUILD: ignore -Wunused-function... this is a library 2014-04-22 20:47:10 +02:00
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
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
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
f8c3dc9790 BUILD: update Makefile for mem.o 2014-04-22 20:47:09 +02:00
5d875ca847 MEM: introduce our own ntru_malloc() function
Use this instead of malloc().
2014-04-22 20:47:03 +02:00
6b15bd1614 DOC: fix doxygen comment in pb_mod2_to_modq() 2014-04-22 20:46:13 +02:00
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
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