2a6ad998ce
ENC: cleanup
2014-05-28 19:54:51 +02:00
ecdfbad591
ENC: style fix
2014-05-28 19:44:49 +02:00
f0eefe7885
ENC: fix encryption
...
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.
2014-05-28 19:44:40 +02:00
f17b3fd6d0
ASCII->POLY: use malloc instead of calloc
2014-05-28 19:42:08 +02:00
0c9e53b5fb
ASCII->POLY: cosmetic cleanup
2014-05-28 19:41:51 +02:00
4440322d29
ASCII->POLY: fix broken loop
2014-05-28 19:40:39 +02:00
hasufell
593c24ff90
ASCII->POLY: fix some valgrind warnings
...
Especially uninitalized memory warnings.
2014-05-28 11:20:28 +02:00
bf192a0498
ASCII->POLY: use double base64 encoding for more entropy
2014-05-28 02:04:45 +02:00
51c6537777
BUILD: refactor Makefiles
2014-05-28 01:38:55 +02:00
2ec61bc87e
ALL: improve readability
2014-05-28 01:17:19 +02:00
9f6b7319bb
ASCII->POLY: refactor
...
Use base64 (via glib) instead of plain char cast.
Remove ascii_to_poly() since it's unreliable (we don't
really know how many polynomials we will need
for a string).
2014-05-28 01:09:52 +02:00
8b9134628c
STRING: improve doxygen comment
2014-05-27 01:08:52 +02:00
fd9ac4ecb8
STRING: add prints() for printing
2014-05-27 01:08:42 +02:00
e0b75b98e2
ASCII->POLY: refactor and make more modular
...
Introduced appropriate function for single polynomials
as well.
2014-05-27 01:08:17 +02:00
03d935d088
ASCII->POLY: improve doxygen comments
2014-05-26 21:59:29 +02:00
7e7ee38404
FILE: add missing include
2014-05-26 21:41:19 +02:00
c862c83f1f
FILE: fix/add doxygen comments
2014-05-26 21:39:10 +02:00
b27170d150
FILE: rename parameter
2014-05-26 21:38:54 +02:00
ff3967f932
STRING: provide function for deleting strings
2014-05-26 21:38:39 +02:00
4dbfe1e663
FILE: add file subsystem and move string to ntru_string subs.
2014-05-26 21:30:42 +02:00
7a5b899825
ENC/DEC: allow encryption/decryption of strings
2014-05-26 20:59:12 +02:00
hasufell
fcb07e6d54
ASCII->POLY: readability
2014-05-26 10:56:42 +02:00
hasufell
96a36515ab
ASCII->POLY: fix possible junk data at end of string
2014-05-26 10:56:31 +02:00
e4c5094af9
ALL: improve readability
2014-05-25 23:04:22 +02:00
6aebea2cde
ASCII->POLY: improve readability
2014-05-25 22:50:39 +02:00
4a07ceadcd
ALL: use uint32_t instead of unsigned int
2014-05-25 22:47:54 +02:00
58e6a90881
ASCII->POLY: improve readability
2014-05-25 22:43:59 +02:00
47afca9fe6
ASCII->POLY: rename header guard
2014-05-25 20:57:41 +02:00
566894b230
ASCII->POLY: add file/brief doxygen comment
2014-05-25 20:57:41 +02:00
d6a2269f2f
ASCII->POLY: simplify with macros
2014-05-25 20:57:40 +02:00
1a1f610d38
ASCII->POLY: fix array size
2014-05-25 20:57:40 +02:00
30b917b3be
POLY: free the array pointer as well
2014-05-25 20:57:40 +02:00
4d8b6a78e5
POLY: provide cleanup function for polynomial arrays
2014-05-25 20:57:40 +02:00
7693805741
ASCII->POLY: reimplement
2014-05-25 20:57:32 +02:00
8703e6975e
POLY: fix header inclusion
2014-05-25 19:00:36 +02:00
853fc668f5
MEM: add REALLOC macro
2014-05-25 19:00:10 +02:00
fc1ac808a2
MEM: add ntru_calloc() function
2014-05-25 18:59:58 +02:00
hasufell
d274a1af03
BUILD: fix UNBUNDLE, rm obsolete libtom references
2014-05-25 04:40:49 +02:00
fd0ba50c85
POLY: rework poly_new()
...
Don't allocate anything here, just operate on
the parameters.
2014-05-25 04:16:48 +02:00
aa01859192
KEYGEN: fix missing initialisation
2014-05-25 04:07:51 +02:00
c3eb0e52f4
KEYGEN: add deletion method
2014-05-25 04:06:24 +02:00
3ea4006b1c
DEC: fix memory leak
2014-05-25 04:06:05 +02:00
b71e4b1ce2
POLY: improve inline doc
2014-05-25 03:57:51 +02:00
3905b4aba9
POLY: improve doxygen comments
2014-05-25 03:56:39 +02:00
13b54fa7f5
DOC: add brief/file comments
2014-05-25 02:15:24 +02:00
89447a7abb
POLY: rm obsolete doxygen comment
2014-05-25 01:48:55 +02:00
f3ac38a6c0
POLY: add print functions
2014-05-25 01:40:07 +02:00
bdb12ac175
BUILD: rm obsolete tompoly/tommath references
2014-05-25 01:36:44 +02:00
eb8fa515b4
DOC: fix more doxygen comments
2014-05-25 01:13:34 +02:00
32f2eb2295
KEYGEN: add doxygen comments
2014-05-25 01:11:56 +02:00
dda90cabcf
DEC: use a central lift after we are done
2014-05-25 01:04:30 +02:00
23d95ae992
KEYGEN: fix priv_inv key
2014-05-25 01:04:09 +02:00
8fd5a6c829
ENC: fix encryption
2014-05-25 00:58:34 +02:00
1443b11fa8
KEYGEN: fix keys
2014-05-25 00:58:22 +02:00
805559a8ca
BUILD: add keypair to build
2014-05-25 00:58:01 +02:00
574bbec067
KEYGEN: first implementation
2014-05-24 23:16:26 +02:00
c075f4a0a3
ALL: Convert codebase to flint
...
POLY, ENC, DEC all converted. RAND will have to be revised.
2014-05-24 23:16:25 +02:00
fb7a46c363
ENC: fix indenting level
2014-05-24 23:16:20 +02:00
7b0a1f1920
BUILD: Fix Makefiles for flint
2014-05-24 23:16:13 +02:00
a15ef46ea6
ENC: fixup after merge
2014-05-19 22:26:10 +02:00
cd1611c018
RAND: cleanup after merge
2014-05-19 21:58:56 +02:00
2e222ccad3
Merge branch 'master' of ssh://gitlab.hasufell.de:22022/wiseqube/quantumcrypto
...
Conflicts:
src/poly.h
2014-05-19 21:33:38 +02:00
ceecf68b59
Merge branch 'master' of ssh://gitlab.hasufell.de:22022/malte/quantumcrypto
2014-05-19 21:32:56 +02:00
8fb50d61dd
Merge branch 'master' of ssh://gitlab.hasufell.de:22022/cgawlik/quantumcrypto
2014-05-19 21:30:13 +02:00
malte
b997dc65fd
POLY->ASCII: added inline comments.
2014-05-18 18:28:39 +02:00
malte
3bf66ce274
POLY->ASCII: Added a function to get a string out of a given polynom.
2014-05-18 18:08:36 +02:00
malte
d498ddf1a8
ASCII->POLY: written a function to convert a char* string into a polynom.
...
The function returns a newly allocated poynom of the string size * 7
7 bits per ASCII symbol.
the function need to be warped so the maximal poynom is corresponding to
the NTRU context.
2014-05-18 10:28:25 +02:00
malte
10f6ebc9e6
Merge branch 'master' of ssh://gitlab.hasufell.de:22022/pcq/quantumcrypto
...
Conflicts:
src/poly.c
src/poly.h
src/rand.c
merged with master repo
2014-05-13 16:54:31 +02:00
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
782ccf0524
POLY: improve error handling
2014-05-13 00:20:46 +02:00
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
Malte
7c5d899055
RAND: improve some spelling
2014-05-12 20:35:06 +02:00
Malte
8db6a83ae3
RAND: changed read_int_dev_urandom() to get_int_dev_urandom()
2014-05-12 20:35:06 +02:00
Malte
2f9ebd52f8
RAND: changed read_int_dev_urandom() to get_int_dev_urandom()
2014-05-12 20:35:06 +02:00
Malte
979ae61726
RAND: changed ntru_get_poly_big() to ntru_get_random_poly()
2014-05-12 20:35:06 +02:00
Malte
7c58d847e9
RAND changed c to coefficient
2014-05-12 20:35:06 +02:00
Malte
79a908de00
RAND: changed from ntru_get_poly_small(int length... to ntru_get_random_poly_ternary(size_t length...
2014-05-12 20:35:06 +02:00
Malte
e072eb04e9
RAND: chaged from int check_polynom() to unsigned int check_allowed_zeros()
...
RAND: merged conflict
2014-05-12 20:34:54 +02:00
Malte
a706a23319
RAND: corected spelling
2014-05-12 20:32:34 +02:00
Malte
8f9acfdb9d
RAND: changed from make_big_int() to get_random_bigint()
2014-05-12 20:32:34 +02:00
Malte
2e589f4be7
RAND: removed some doxycomment
2014-05-12 20:32:34 +02:00
Malte
f459f09e57
RAND: changed from make_small_int() to get_random_ternary()
2014-05-12 20:32:34 +02:00
Malte
3fc925c396
RAND: removed camelCase
...
changed from randomDataLen to random_DataLen
2014-05-12 20:32:34 +02:00
hasufell
3109d2aec7
BUILD: remove obsolete object
2014-05-12 20:32:34 +02:00
hasufell
456dff26e0
BUILD: remove non-existing header from build
2014-05-12 20:32:34 +02:00
23573d07c8
DOC: fix doxygen comment in pb_mod2_to_modq()
2014-05-12 20:32:34 +02:00
9520003db1
BUILD: ignore -Wunused-function... this is a library
2014-05-12 20:32:34 +02:00
9ddf9709e2
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-05-12 20:32:34 +02:00
d9584b2e17
POLY: introduce delete_polynom_multi()
...
Just a wrapper around delete_polynom() to handle multiple args.
Must be called with NULL as last argument!
2014-05-12 20:32:34 +02:00
476379b675
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-05-12 20:32:34 +02:00
a4603877f9
BUILD: update Makefile for mem.o
2014-05-12 20:32:34 +02:00
01c301afdd
MEM: introduce our own ntru_malloc() function
...
Use this instead of malloc().
2014-05-12 20:32:34 +02:00
Malte
cb69ea8689
RAND: changed the function declaration to fit the the given needs better.
2014-05-12 20:32:34 +02:00
Malte
4df4a37f9a
RAND: added the missing function declaration and comments.
...
static mp_int *make_big_int(mp_int *upper_bound, mp_int *lower_bound,
mp_digit randim_int)
static int check_polynom(pb_poly *polynom)
needs to be filled with code.
2014-05-12 20:32:34 +02:00
Malte
d871a9104f
RAND: fixed some unnecessary import
2014-05-12 20:32:34 +02:00
Malte
1e586c178c
rand: added some missing void parameter
2014-05-12 20:32:34 +02:00
Malte
626e2fc27a
rand: added a nessary but missing comment on the big int min/max
2014-05-12 20:32:34 +02:00
Malte
0bdddc12e7
rand: Refactoring finished
...
now there are only 4 static functions left:
static mp_digit read_int_dev_random();
static mp_digit read_int_dev_urandom();
static mp_digit make_small_int(mp_digit random_int, int* sign);
static mp_digit make_big_int(mp_digit random_int, int* sign);
Every function is used twice.
the next goal to copy free code is to make a single function
with function pointer out of these 4:
pb_poly *ntru_get_urnd_poly_small(ntru_context *ctx);
pb_poly *ntru_get_rnd_poly_small(ntru_context *ctx);
pb_poly *ntru_get_urnd_poly_big(ntru_context *ctx);
pb_poly *ntru_get_rnd_poly_big(ntru_context *ctx);
But this need to be checkt by a other group member
2014-05-12 20:32:34 +02:00
Malte
21022c9ff8
rand: extractet some double code into new functions
...
this is the first step, in the next one i a going to remove
static mp_digit get_urnd_int_small(int *sign);
static mp_digit get_rnd_int_small(int *sign);
static mp_digit get_urnd_int_big(int *sign);
static mp_digit get_rnd_int_big(int *sign);
RAND: merged a conflict
2014-05-12 20:32:14 +02:00
60dbab44f5
POLY: fix syntax error within comment
...
RAND: merged conflict
2014-05-12 20:29:59 +02:00