Commit Graph

345 Commits

Author SHA1 Message Date
hasufell f8b1649279 POLY: use mp_neg() instead of directly modifying struct 2014-05-12 20:17:42 +02:00
hasufell 5c85862d12 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-05-12 20:17:42 +02:00
hasufell 85ba70a9c5 POLY: first try of inverting polynomials 2014-05-12 20:17:42 +02:00
hasufell 3184e9093f POLY: rm unnecessary cast 2014-05-12 20:17:42 +02:00
hasufell 3e6345cd47 POLY: fix typo 2014-05-12 20:17:42 +02:00
hasufell 739feea0fe BUILD: fix linker errors when playing in main.c 2014-05-12 20:17:42 +02:00
hasufell c4f6ad4504 POLY: fix error messages 2014-05-12 20:17:42 +02:00
hasufell 2d2ccfbf3f POLY: first try of pb_starmultiply() 2014-05-12 20:17:42 +02:00
hasufell 0d179a0e7d 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-05-12 20:17:42 +02:00
hasufell f8cac1553f ALL: set context members to unsigned int 2014-05-12 20:17:42 +02:00
hasufell fc4ee3b70b 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-05-12 20:17:42 +02:00
hasufell be28e18cfb DOC: fix typo 2014-05-12 20:17:42 +02:00
hasufell 66da54b3a3 BUILD: ignore -Wunused-parameter
Can happen in callback functions and so forth.
2014-05-12 20:17:42 +02:00
hasufell 417ce9c0f2 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.

RAND: merged a conflict
2014-05-12 20:16:25 +02:00
hasufell 0470a5fa6e POLY: use size_t 2014-05-12 20:13:22 +02:00
hasufell 22f713fa98 DOC: improve memory handling instructions 2014-05-12 20:13:22 +02:00
Malte 04d5d6d38f rand:ntru_get_rnd_poly_small: written a function to generate a random polynom
like get_urnd_int_small but with the random source from /dev/random
instead of /dev/urandom
2014-05-12 20:13:22 +02:00
Malte 71b8f4cbeb Added static mp_digit get_rnd_int_small(int *sign)
but it takes about ~40minutes to generate a x^500
polynom with /dev/random.
2014-05-12 20:13:22 +02:00
Christoph Prüßner f8f7634c84 DEC
ntru_decrypt now uses pb_normalize
2014-05-12 13:49:00 +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
Anton Oster 9ff66b8555 ENC: added ecrypt func 2014-05-12 10:33:04 +02:00
Anton Oster e41438476d rename files and write pb_encrypt func 2014-05-08 12:50:30 +02:00
Alexander Rolfes 1412ba0d1a CODE: Fixed missing bracket 2014-05-05 21:56:44 +02:00
Alexander Rolfes 01a08fdafa CODE: Rename of key-Parameters
Renamed private_key and Fp to priv_key and priv_key_inv
2014-05-05 21:53:41 +02:00
Alexander Rolfes dd73a662a0 DOXYGEN: Documentation of ntru_decrypt function
Removed unnecessary comments inside of function and wrote
a Doxygen compliant comment above the function
2014-05-05 21:51:58 +02:00
Alexander Rolfes eb83c04b93 Merge branch 'master' of ssh://gitlab.hasufell.de:22022/Goldi/quantumcrypto
Conflicts:
	src/ntru_decrypt.c
	src/ntru_decrypt.h
2014-05-05 20:32:23 +02:00
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
Alexander Rolfes b4ba4112e5 Revert "first implementation of "pseudocode algorithm" (ms_corourke.pdf)"
This reverts commit ecdc32f5e0.
2014-05-03 13:32:59 +02:00
Alexander Rolfes 916c5f6a96 Merge branch 'master' of ssh://gitlab.hasufell.de:22022/Goldi/quantumcrypto
Fixed .gitignore with .project
2014-05-03 13:22:02 +02:00
Christoph Prüßner 06d359936a deleted .project file 2014-05-03 13:19:25 +02:00
Christoph Prüßner 4d438bb925 changed gitignore 2014-05-03 13:18:15 +02:00
Alexander Rolfes b44a1892a2 Merge branch 'master' of ssh://gitlab.hasufell.de:22022/Goldi/quantumcrypto
Added Basecode for Encryption
2014-05-03 13:15:45 +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
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 8fbcbe4144
POLY: rearrange header declarations 2014-04-30 17:23:39 +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