Commit Graph

272 Commits

Author SHA1 Message Date
Steffen Jaeckel
ae307cd887 fix compiler warning 2014-12-10 16:53:06 +01:00
Moritz Lenz
6df187aea4 Add set_long and get_long functions
They work on platform-dependent long ints
2014-12-10 16:53:06 +01:00
Steffen Jaeckel
a263647f23 add new make target 'test_standalone' 2014-10-18 20:20:30 +02:00
Steffen Jaeckel
d2458e35e1 update README 2014-10-18 20:20:07 +02:00
Andrea Faulds
ef15300cdf initial revision 2014-10-18 20:16:49 +02:00
Steffen Jaeckel
d71719853a update after removing balance multiplication 2014-10-18 18:56:56 +02:00
Steffen Jaeckel
b425b0ea1f Revert "balancing multiplication like that in Ruby 1.9"
This reverts commit e68439aae1.

Conflicts:
	bn_mp_balance_mul.c
	makefile
2014-10-18 18:54:06 +02:00
Steffen Jaeckel
9ca37ca01c mtest vs. test: add possibility to exit testing
'mtest' can now optionally only run a given amount of loops.
the first parameter <n> when invoking 'mtest' is considered to determine
the amount
when <n> is in the range -63..-1: mtest will run 2^-n runs
when <n> is > 0: mtest will run n runs
else: mtest will exit immediately
2014-10-18 18:52:46 +02:00
Steffen Jaeckel
545980169c add target "new_file" to makefile 2014-10-14 14:38:41 +02:00
Steffen Jaeckel
634f96f7c3 mtest: I like predictable random for testing 2014-10-14 14:38:41 +02:00
Steffen Jaeckel
5c5d600a82 demo: calm compiler warnings & improve a bit 2014-10-14 14:38:41 +02:00
Steffen Jaeckel
e581d078f6 mtest: fix compiler warnings 2014-10-14 14:38:41 +02:00
Steffen Jaeckel
410ae3951e trim trailing spaces 2014-10-14 14:38:41 +02:00
Steffen Jaeckel
30fcfec893 update makefiles 2014-10-13 15:50:16 +02:00
Steffen Jaeckel
9bff6bbb57 prepare makefiles for "updatemakes" 2014-10-13 15:49:23 +02:00
Steffen Jaeckel
4f2db5fa8f add "updatemakes" from libtomcrypt 2014-10-13 15:49:02 +02:00
Steffen Jaeckel
da2fc240ef deterministic build of poster.pdf 2014-09-28 14:46:09 +02:00
Steffen Jaeckel
41017efddd deterministic build of bn.pdf 2014-09-28 14:46:00 +02:00
Steffen Jaeckel
61d8c8aa42 Merge branch 'feature/timing_resist' into develop 2014-09-28 13:59:17 +02:00
Steffen Jaeckel
52bb535ff7 demo: test both mp_n_root() implementations 2014-09-28 13:33:59 +02:00
Steffen Jaeckel
52cfd5ff0a mp_n_root: add mp_n_root_ex() with parameter 'fast' for mp_expt_d_ex()
This change is introduced to be able to choose the underlying
implementation of mp_expt_d_ex()

The implementation of the root_n functionality is now implemented in the
mp_n_root_ex() function.

The parameter 'fast' is just passed over to mp_expt_d_ex().

mp_n_root() defaults to the pre 921be35779
implementation
2014-09-28 13:33:59 +02:00
Steffen Jaeckel
e9b1837c8c mp_expt_d: bring back pre 921be35779 state
The implementation of the expt_d functionality is now implemented in the
mp_expt_d_ex() function.

The user can now choose between the old (more timing resistant) version
and the new version by modification of the parameter 'fast'.

mp_expt_d() defaults to the old version
2014-09-28 13:33:59 +02:00
Steffen Jaeckel
8ed6043209 dep.pl: add new type mp_min_u32 2014-09-28 13:33:35 +02:00
Steffen Jaeckel
7ede0852da Merge branch 'fix/x32' into develop 2014-09-28 13:15:28 +02:00
Steffen Jaeckel
759a926cfe minor changes & clean-up & small fixes
gitignore: add libtool output
booker.pl: fix source code parsing and trim trailing spaces
demo/demo: fix compiler warning, add informational output
demo/timing & etc/tune: fix TIMFUNC()
makefile: minor changes
makefile.shared: increase version, add missing mp_balance_mul
tommath: make sure that DIGIT_BIT is correct
2014-09-28 13:12:10 +02:00
Steffen Jaeckel
78b8a772e4 fix compiler warnings with MP_16BIT 2014-09-23 22:55:08 +02:00
Steffen Jaeckel
b0c385afb6 fix x32 compilation
change mp_digit/mp_word to unsigned long long
introduce new internal type mp_min_u32 that is minimum 32 bit wide

x32 target is 64 bit arch but has 32 bit wide 'unsigned long'
2014-09-23 22:54:30 +02:00
Steffen Jaeckel
0213986c7b trim trailing spaces/clean up 2014-09-02 02:14:38 +02:00
Steffen Jaeckel
6fc385081e demo: clean-up on exit 2014-02-14 12:59:04 +01:00
Steffen Jaeckel
f47c0f208d demo: allow mp_reduce_2k_l tests to be switched off 2014-02-14 12:58:49 +01:00
Steffen Jaeckel
ca150960c1 demo: fix compiler warnings, return values & output format 2014-02-14 12:57:52 +01:00
Steffen Jaeckel
e098750798 demo: "improve" a bit
allow reproducible testcases

add easy switch to compile either a version for "test vs. mtest" or to
run internal tests
2014-02-14 11:48:34 +01:00
Steffen Jaeckel
d576512c34 mp_balance_mul: fix compiler warnings 2014-02-14 11:33:38 +01:00
Steffen Jaeckel
ddd788a185 trim trailing spaces 2014-02-14 11:30:40 +01:00
Steffen Jaeckel
a4b20be8a2 Merge branch 'ktdreyer/mp_isprime' into develop 2014-01-25 16:31:20 +01:00
Alexander Boström
ba15caa3be Add mp_isneg()
This function originally came from Heimdal's bundled copy of libtommath.

Signed-off-by: Ken Dreyer <ktdreyer@ktdreyer.com>
2014-01-25 16:31:14 +01:00
Steffen Jaeckel
31d69926b1 Merge branch 'ktdreyer/invmod-return' into develop 2014-01-25 16:28:53 +01:00
Alexander Boström
fe695ea122 Avoid consecutive return statements
This change keeps static checkers happy.

This change originally came from Heimdal's bundled copy of
libtommath.

Signed-off-by: Ken Dreyer <ktdreyer@ktdreyer.com>
2014-01-25 16:28:42 +01:00
Steffen Jaeckel
b83a5d4528 Merge branch 'ktdreyer/initialize-variable' into develop 2014-01-25 16:27:42 +01:00
Alexander Boström
1c802697c1 Initialize variable "res" to MP_NO.
This avoids an unitialized variable warning in the compiler.

This change originally came from Heimdal's bundled copy of libtommath.

Signed-off-by: Ken Dreyer <ktdreyer@ktdreyer.com>
2014-01-25 16:27:20 +01:00
Steffen Jaeckel
c82028641f add missing updates 2014-01-22 17:53:34 +01:00
Steffen Jaeckel
c7fc93d002 Merge branch 'lomereiter/master' into develop 2013-11-24 15:38:19 +01:00
lomereiter
e68439aae1 balancing multiplication like that in Ruby 1.9 2013-11-24 15:34:41 +01:00
Steffen Jaeckel
99d700bb7b Merge branch 'ramkumarkoppu/patch-1' into develop 2013-11-24 15:29:54 +01:00
ramkumarkoppu
76fe0008a2 Update bn_mp_init_copy.c
In mp_init_copy(), mp_init() is used to assign the memory with default block size, mp_copy() is used to grow the target mp_int size if it is required and copy the content.

My suggestion is to use mp_init_size() instead of mp_init() inside the mp_init_copy to assign required memory depending on the source mp_int size and then use mp_copy to copy the content. This will avoid the subsequent mp_grow() inside the mp_copy(). 

The associated issue number is 11 in GitHub.
2013-11-24 15:28:50 +01:00
Steffen Jaeckel
750d17cd96 update makefiles 2013-11-24 15:21:39 +01:00
Steffen Jaeckel
bb622822da Merge branch 'ccbrown/master' into develop 2013-11-24 15:20:36 +01:00
Christopher Brown
3e1ae07821 added mp_import / mp_export 2013-11-24 03:59:06 +01:00
Steffen Jaeckel
12caebdc75 update makefile to be able to define a target platform prefix 2013-09-03 12:21:17 +02:00
Steffen Jaeckel
e28c803e87 Fix makefile.shared as proposed in gentoo bug report #376643
c.f. https://bugs.gentoo.org/show_bug.cgi?id=376643
2013-09-03 12:21:16 +02:00