|
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
|
|
cc77fadb
|
2019-11-05T23:11:36
|
|
Merge pull request #444 from minad/lto
add COMPILE_LTO to test link time optimization
|
|
91d88ce3
|
2019-11-05T20:35:19
|
|
fix generate_def, rename some internal files
|
|
74d828d5
|
2019-11-05T20:25:39
|
|
don't use ranlib, `ar s` is equivalent
|
|
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)
|
|
d06e2986
|
2019-10-22T11:47:42
|
|
Merge tag 'v1.2.0' into develop
v1.2.0
|
|
f0c83aea
|
2019-10-19T19:25:55
|
|
split mp_log_u32 for more configurability
|
|
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
|
|
b4099e1e
|
2019-10-16T10:28:28
|
|
remove empty bn_deprecated.c file
|
|
45a3bf76
|
2019-10-16T09:21:19
|
|
remove deprecated functions
|
|
8adc9041
|
2019-10-15T21:09:43
|
|
bump version
|
|
c9d41fba
|
2019-10-15T10:40:40
|
|
rename mp_ilogb() to mp_log_u32()
|
|
b6813a41
|
2019-09-27T03:40:08
|
|
replace mp_export/import by mp_pack/unpack
|
|
abdb0334
|
2019-09-25T00:29:19
|
|
Refactored functions to read and write binaries and added "maxlen"
|
|
bae1045d
|
2019-10-01T11:30:13
|
|
tommath_cutoffs.h is a private header now
... and should be treated as such
|
|
f8d64c64
|
2019-09-10T16:05:27
|
|
create `mtest_opponent` instead of alt version of `test`
|
|
f0e6ae59
|
2019-09-02T14:36:06
|
|
add `mp_to_radix()`
...a 100% copy&paste of `mp_toradix_n()` besides the changed API signature
|
|
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.
|
|
30e8fbbc
|
2019-06-06T12:09:39
|
|
Update makefiles etc
|
|
431ea331
|
2019-05-28T14:23:38
|
|
fix most of the makefiles
[skip ci]
|
|
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)
|
|
3289c959
|
2019-05-20T10:41:06
|
|
introduce various mp_set_sint/mp_set_uint functions with precise types
|
|
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)
|
|
0dfa9da5
|
2019-05-19T12:53:49
|
|
make tommath_class.h and tommath_superclass.h private
These headers are used for configuration during build time.
Therefore they shouldn't be exposed as part of the public API.
|
|
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
|
|
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.
|
|
db76bed2
|
2019-05-04T18:57:07
|
|
added autotuning functionality for the Toom-Cook cut-offs
|
|
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.
|
|
fbfcb661
|
2019-04-12T14:56:29
|
|
apply rename
|
|
5968263b
|
2019-04-10T14:49:59
|
|
Rename bn_error.c to bn_mp_error_to_string.c
|
|
35311aea
|
2019-04-03T23:50:57
|
|
added function mp_ilogb
|
|
27ca25cb
|
2019-04-06T18:55:43
|
|
added multiplcation balancing for the Toom-Cook algorithms
|
|
70a30ae7
|
2019-04-07T02:29:28
|
|
remove footers
|
|
769218cc
|
2019-04-03T18:59:09
|
|
additional functions mp_incr and mp_decr
|
|
cd1570bb
|
2019-03-04T01:02:22
|
|
split test suite
|
|
6ce271c4
|
2018-12-28T09:41:54
|
|
mp_iseven & mp_isodd becomes C functions
|
|
4330991d
|
2019-01-28T20:32:10
|
|
also bump VERSION in makefile.unix
|
|
4f245b04
|
2018-12-02T21:18:32
|
|
Update makefiles etc.
|
|
aa12f353
|
2018-12-02T18:46:35
|
|
properly use test_standalone
|
|
8e4edf76
|
2018-12-02T18:03:07
|
|
drop makefile.bcc+makefile.icc in favour of makefile.unix
|
|
a9cc9d11
|
2018-12-02T13:54:55
|
|
add makefile.unix
|