|
fb305e09
|
2020-08-05T15:18:59
|
|
Additional input checks and a test for b \cong 0 (mod a) in test_mp_sqrtmod_prime
to go along with it.
|
|
ea654566
|
2020-02-23T09:46:12
|
|
Give correct values for invmod with modulus of 1
|
|
1e65c0bf
|
2019-10-11T00:06:45
|
|
Introduction of a fast but slightly over-estimating radix_size
|
|
cd1bf5e2
|
2019-11-22T16:19:11
|
|
regen files
|
|
41eca342
|
2019-11-06T00:13:39
|
|
regen
|
|
53becf65
|
2019-11-06T16:50:31
|
|
regen files
|
|
61ebe7c0
|
2019-11-07T01:00:13
|
|
simplify mod functions
|
|
91d88ce3
|
2019-11-05T20:35:19
|
|
fix generate_def, rename some internal files
|
|
410bf493
|
2019-10-29T20:26:50
|
|
apply a series of simplifications
* this is the final commit of a series of simplifications,
containing only the regenerated files and the explanation in the
commit message
* This is in preparation of the size_t change/a potential representation change to use
full width as in tfm, if a (partial?) merge with tfm is desired.
These changes have their own merits however.
* Remove obfuscating tmpx digit pointers (fewer variables, it is more obvious what is
being manipulated)
* Reduce scope of variables where possible
* Stricter error handling/checking (for example handling in karatsuba
was broken)
* In some cases the result was written even in the case of an error
(e.g. s_mp_is_divisible). This will hide bugs, since the user should
check the return value (enforced by MP_WUR). Furthermore if the user
accesses the non-initialized result, valgrind will complain for
example. Global static analysis like coverity will also detect the issue.
Therefore this improves the status quo.
* Introduce generic, private MP_EXCH macro which can be used to swap values.
* Introduce s_mp_copy_digs/s_mp_zero_digs/s_mp_zero_buf
* Some control flow simplifications, e.g, loops instead of goto
* Renamings of variables/labels for consistency
* Renamings of mul/sqr functions for more consistency, e.g., comba
instead of fast suffix
* I didn't read through some very complex functions.
They are so complex, I am too afraid and lazy to touch them.
Maybe someone resposible wants to simplify them if possible. Hint... Hint...
- mp_prime_strong_lucas_selfridge.c
- s_mp_exptmod.c
- s_mp_exptmod_fast.c
|
|
7afecabd
|
2019-10-24T17:33:38
|
|
regen files
|
|
87b4e517
|
2019-10-23T09:06:04
|
|
move out s_mp_log_pow2, fix limitation of base
|
|
9edd185f
|
2019-10-04T17:41:09
|
|
Addition of fast division (recursive divrem only)
|
|
d8da85a9
|
2019-10-19T19:54:20
|
|
mp_sqrtmod_prime: use mp_set
|
|
f0c83aea
|
2019-10-19T19:25:55
|
|
split mp_log_u32 for more configurability
|
|
e8fc3a58
|
2019-10-19T19:39:29
|
|
removed code needed for MP_8BIT
|
|
7a68f128
|
2019-10-19T16:24:39
|
|
Execute move.sh - Rename files from bn_* to match the function names.
* git blame <renamed-file> is not affected
* git log --follow <renamed-file> can be used to show log across renames
|
|
80f5818e
|
2019-10-16T00:31:43
|
|
Addition of BN_MP_LOG_U32 to tommath_superclass.h
|
|
d4f6b43f
|
2019-10-11T00:29:20
|
|
use of mp_ilogb in mp_radix_size
|
|
b4099e1e
|
2019-10-16T10:28:28
|
|
remove empty bn_deprecated.c file
|
|
45a3bf76
|
2019-10-16T09:21:19
|
|
remove deprecated functions
|
|
cb1b2dc8
|
2019-10-15T14:04:32
|
|
mp_log_u32: return uint32_t
|
|
c9d41fba
|
2019-10-15T10:40:40
|
|
rename mp_ilogb() to mp_log_u32()
|
|
049e2e85
|
2019-10-15T14:02:22
|
|
add back missing symbols
|
|
fe2f91a1
|
2019-10-09T20:22:11
|
|
to_sbin/to_ubin/pack: don't write anything in case of buffer overflow
|
|
b6813a41
|
2019-09-27T03:40:08
|
|
replace mp_export/import by mp_pack/unpack
|
|
d68e2877
|
2019-10-02T05:47:04
|
|
bugfix for an edgecase
|
|
abdb0334
|
2019-09-25T00:29:19
|
|
Refactored functions to read and write binaries and added "maxlen"
|
|
702e5391
|
2019-09-06T10:22:45
|
|
add function pointers to tommath_class.h
|
|
49abba09
|
2019-09-02T18:32:33
|
|
refactor with mp_init_multi
|
|
f0e6ae59
|
2019-09-02T14:36:06
|
|
add `mp_to_radix()`
...a 100% copy&paste of `mp_toradix_n()` besides the changed API signature
|
|
8c1b296e
|
2019-04-08T23:48:39
|
|
add feature detection macro MP_HAS
|
|
ca89e9c0
|
2019-07-03T13:10:05
|
|
rename mp_root/mp_expt to mp_*_u32
|
|
71696549
|
2019-05-29T20:36:18
|
|
deprecate mp_expt_d and mp_n_root in favor of mp_expt and mp_root
|
|
0db64fc8
|
2019-07-03T14:45:14
|
|
Rename bn_get_magxx -> bn_get_mag_uxx. Documentation updated too
|
|
fde85249
|
2019-06-13T16:58:06
|
|
@minad 's suggestions
|
|
db4afb3d
|
2019-06-12T13:11:58
|
|
Provide explicit symbols for bn_xxx_l and bn_xxx_ll functions.
|
|
3ef6efd3
|
2019-06-06T23:01:51
|
|
sort tommath_class.h dependencies: this makes it easier to see changes
|
|
0d06d67e
|
2019-06-06T12:44:36
|
|
generate tommath_class from pre-processed code
|
|
30e8fbbc
|
2019-06-06T12:09:39
|
|
Update makefiles etc
|
|
c7314fa4
|
2019-05-25T06:42:01
|
|
deprecate mp_n_root_ex and mp_expt_d_ex
These functions were introduced to give some timing guarantees.
However the guarantees are too weak to be useful.
The functions seem to be unused essentially by downstream users.
|
|
bcec605a
|
2019-05-22T15:34:49
|
|
deprecate mp_prime_is_divisible and ltm_prime_tab
* it is an implementation detail used for prime testing
* there is upcoming work by @czurnieden regarding a generalised prime sieve
* furthermore remove jacobi test (replaced by kronecker)
|
|
0a9f5e9b
|
2019-05-24T10:21:54
|
|
use u32 i64 suffix
|
|
b58c9966
|
2019-05-23T23:39:47
|
|
use int32 and uint32 instead of sint and uint
|
|
3289c959
|
2019-05-20T10:41:06
|
|
introduce various mp_set_sint/mp_set_uint functions with precise types
|
|
991aea53
|
2019-05-22T08:23:37
|
|
explicit condition
|
|
228e487b
|
2019-05-16T23:51:02
|
|
faster Toom-Cook 3 algorithm
|
|
1af0de1f
|
2019-05-20T19:11:25
|
|
deprecate mp_tc_(and|or|xor) in favor of mp_(and|or|xor)
* same behavior for positive numbers
* generalisation for negative numbers, treating them as two complement
* improve algorithm, iterate once over the digits, manually perform two complement
* simplify mp_add_d, mp_sub_d
* functions are safe in case of a==c or b==c
* renamed mp_tc_div_2d to mp_signed_rsh (signed right shift)
|
|
6552f55f
|
2019-05-20T08:38:25
|
|
handle EOF condition in mp_fread, fix #163
|
|
c1f5b06d
|
2019-05-20T05:36:08
|
|
refactor with mp_init_multi
|
|
f55f0a9e
|
2019-05-18T09:28:33
|
|
fix some usages of enum types
|
|
a8239c24
|
2019-05-13T11:32:42
|
|
deprecate mp_get_bit
The return type of mp_get_bit was imprecise (either mp_err or mp_bool),
therefore this function is deprecated in favor of s_mp_get_bit for now.
If we need s_mp_get_bit to be public, we should add it under a different
name. However since mp_set_bit is not available, I don't think there any
downstream users (ab)using mp_int as bitsets.
|
|
56e7a401
|
2019-05-13T02:46:11
|
|
deprecate mp_jacobi
|
|
75e85a73
|
2019-05-13T11:18:34
|
|
move mp_prime_random_ex to bn_deprecated.c
|
|
2a2e2716
|
2019-05-12T11:33:17
|
|
move jenkins prng to bn_s_mp_rand_jenkins.c
|
|
c8cc3657
|
2019-05-11T09:09:12
|
|
mov s_mp_rand_source_platform to separate file
|
|
0669e92e
|
2019-05-08T20:18:53
|
|
deprecate mp_prime_random_ex in favor of mp_prime_rand
We can use the internal mp_rand generator now, since it generates
numbers which are safe for crypto purposes.
|
|
2a0021a4
|
2019-05-08T14:57:04
|
|
mp_rand: remove superflous mp_clamp
|
|
9ddf1e58
|
2019-05-07T12:26:46
|
|
support custom random data source via mp_rand_source
* deprecate MP_PRNG_ENABLE_LTM_RNG
* custom mp_rand_source is used always if set, which should be more aligned with user expectations
* use custom source in tune.c
* don't call random number generator once per digit, which is slow
|
|
2ea04fb7
|
2019-05-07T10:42:26
|
|
dep.pl: strip comments
|
|
c7596983
|
2019-05-07T10:28:32
|
|
fix dep.pl - use lookahead to only generated dependencies for 'mp_*('
|
|
818d8fb7
|
2019-05-03T17:39:10
|
|
Rework handling of tunable cutoffs
* In the default settings, a cutoff X can be modified at runtime
by adjusting the corresponding X_CUTOFF variable.
* Tunability of the library can be disabled at compile time
by defining the MP_FIXED_CUTOFFS macro.
* There is an additional file tommath_cutoffs.h, which defines
the default cutoffs. These can be adjusted manually or by the
autotuner.
|
|
e05b1e18
|
2019-04-12T19:07:08
|
|
fix includes
as of @czurnieden "there's always leftovers" and he's right
that's a leftover of #127
|
|
fbfcb661
|
2019-04-12T14:56:29
|
|
apply rename
|
|
3afec571
|
2019-04-10T15:19:23
|
|
Re-generate callgraph and tommath_class.h
|
|
35311aea
|
2019-04-03T23:50:57
|
|
added function mp_ilogb
|
|
27ca25cb
|
2019-04-06T18:55:43
|
|
added multiplcation balancing for the Toom-Cook algorithms
|
|
ff561404
|
2019-04-07T15:29:11
|
|
shorter headers
|
|
70a30ae7
|
2019-04-07T02:29:28
|
|
remove footers
|
|
984d3ff6
|
2019-04-01T03:41:26
|
|
changed seed to make nth-root usable
|
|
58e9084e
|
2019-04-06T17:38:41
|
|
run `make new_file`
|
|
769218cc
|
2019-04-03T18:59:09
|
|
additional functions mp_incr and mp_decr
|
|
646ac880
|
2019-04-04T07:55:02
|
|
update callgraph and tommath_class
|
|
b879bd49
|
2018-12-31T12:15:44
|
|
refactor with new macros IS_*
|
|
6ce271c4
|
2018-12-28T09:41:54
|
|
mp_iseven & mp_isodd becomes C functions
|
|
487cbba0
|
2018-12-28T09:34:02
|
|
refactor without macro mp_isneg
|
|
662a1709
|
2019-01-15T18:28:31
|
|
run `make new_file`
|
|
1c8c5348
|
2019-01-15T18:20:24
|
|
Merge pull request #147 from czurnieden/moarvm_workarounds
workaround for the MoarVM problem with MP_GEN_RAND et al.
(cherry picked from commit 11d6e0391421bc996b2cf780f3f4c3fa634001d0)
|
|
c93afda1
|
2019-01-15T17:05:39
|
|
run `make new_file`
|
|
08eb995d
|
2019-01-13T20:21:36
|
|
implemented Steffen Jaeckels superior suggestion regarding MoarVM's problem
|
|
6a9deb79
|
2018-12-26T15:44:26
|
|
fix & run dep.pl
|
|
18355de6
|
2018-12-29T17:56:20
|
|
Update file headers
[skip ci]
|
|
3ec93dab
|
2018-12-12T00:14:05
|
|
bugfix in bn_mp_kronecker.c, cleanup and formatting in div. files
|
|
4f245b04
|
2018-12-02T21:18:32
|
|
Update makefiles etc.
|
|
0493739d
|
2018-12-02T13:10:09
|
|
add missing comments
|
|
adbadc70
|
2018-11-18T01:30:51
|
|
Fix includes
Header files which are located in the same directory that the file from where it is included must be included using `" "`, not `< >`.
Otherwise the compiler (gcc 5) cannot understand `#include <tommath_class.h>` in `/usr/include/tommath/tommath.h`.
|
|
81cdb9ac
|
2018-09-10T18:52:29
|
|
regenerate files
|
|
109bfa57
|
2018-09-10T18:49:10
|
|
regenerate files
|
|
22550d41
|
2018-05-02T22:01:09
|
|
Do not use tommath.h from the system for building
|
|
9034e712
|
2018-05-02T21:43:17
|
|
Do not use installed headers for building
|
|
82a2d385
|
2017-08-30T05:56:38
|
|
refactor indentation of preprocessor directives
|
|
49e54320
|
2017-08-28T16:59:11
|
|
update tommath_class.h
|
|
3ab918e7
|
2017-04-09T01:00:00
|
|
update tommath_class.h
|
|
1f889479
|
2015-04-18T11:03:22
|
|
update makefiles etc.
|
|
d4cccd52
|
2014-12-10T18:59:56
|
|
udpate makefiles etc.
|
|
cf045216
|
2014-12-10T17:21:14
|
|
update makefiles etc.
|
|
d7171985
|
2014-10-18T18:56:56
|
|
update after removing balance multiplication
|
|
b425b0ea
|
2014-10-18T18:54:06
|
|
Revert "balancing multiplication like that in Ruby 1.9"
This reverts commit e68439aae10d003250afa6c1f57025bfee5f82ed.
Conflicts:
bn_mp_balance_mul.c
makefile
|
|
e9b1837c
|
2014-02-13T20:21:18
|
|
mp_expt_d: bring back pre 921be35779f7d71080ad85c27ed58671602d59b3 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
|
|
52cfd5ff
|
2014-02-14T11:26:07
|
|
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 921be35779f7d71080ad85c27ed58671602d59b3
implementation
|
|
c8202864
|
2014-01-22T17:53:34
|
|
add missing updates
|