|
1e65c0bf
|
2019-10-11T00:06:45
|
|
Introduction of a fast but slightly over-estimating radix_size
|
|
b800b761
|
2019-11-22T16:04:48
|
|
remove *_ll* setters/getters
* they are non standard
* they are incompatible with older compilers
* u64/i64 functions should be used instead
* these functions should be deprecated again in 1.x
|
|
f6a7bedb
|
2019-10-29T20:52:29
|
|
suffix _u32 -> _n of mp_(expt|log|root) functions, use int for now
|
|
4f00e75b
|
2019-11-06T16:51:51
|
|
make mp_div_3 private
|
|
0fa802f2
|
2019-11-06T16:49:59
|
|
make mp_sqr private (optimization of mp_mul)
|
|
146becbd
|
2019-10-31T19:26:55
|
|
literal suffix
|
|
5c335f84
|
2019-10-30T17:26:27
|
|
rename mul/sqr functions for consistency, comba instead of fast suffix
|
|
e60149de
|
2019-10-29T20:26:25
|
|
simplifications: replace mp_mod_d by macro
|
|
b9977adf
|
2019-10-29T08:44:51
|
|
use uint8_t instead of unsigned char
|
|
8456782c
|
2019-10-29T15:40:47
|
|
don't allow disabling of WUR checks
|
|
e95dd24e
|
2019-10-27T21:34:23
|
|
introduce MP_NO_DEPRECATED_PRAGMA
|
|
b250ec44
|
2019-10-29T13:24:34
|
|
clean-up test.c
* no more `MP_WUR` in test.c
* clean-up console output
|
|
cf004265
|
2019-10-27T08:54:09
|
|
define mp_isodd in terms of mp_iseven
|
|
17a846f2
|
2019-10-26T19:33:36
|
|
add "make c99" to convert back
|
|
bf9507a9
|
2019-10-24T22:02:29
|
|
replace mp_bool by stdbool
* This gives the advantage that static analysis **understands** bool,
but complains about using an enum type instead of bool.
* If stdbool.h is not desired, true/false/bool can be replaced using sed
as in the no-stdint-h branch.
* We already include stdint.h and stdbool.h is not more harmful than
this header
|
|
27e142bc
|
2019-10-24T17:52:03
|
|
remove unnecessary == MP_YES/MP_NO comparisons
|
|
eb70378b
|
2019-10-23T20:06:33
|
|
mp_iseven/mp_isodd should be inline
|
|
f21ea6ce
|
2019-10-23T20:06:08
|
|
add fast path to mp_add_d and mp_sub_d
|
|
14642642
|
2019-10-22T18:01:08
|
|
add prefix to cutoff variables
|
|
00b263f3
|
2019-10-22T17:52:26
|
|
remove private_mp_word
|
|
31e64aa6
|
2019-10-22T15:04:36
|
|
mp_prime_next_prime: use mp_bool for bbs_style
|
|
a29aa59b
|
2019-10-21T19:12:22
|
|
use size_t for mp_radix_size
|
|
f8e9bd27
|
2019-10-20T15:38:32
|
|
Merge pull request #387 from fperrad/20191019_lint
some linting
(cherry picked from commit 8095b3b61240628f052153d6c37539955632564e)
|
|
5c6391dd
|
2019-10-19T18:35:57
|
|
remove some MP_8BIT remnants
|
|
b34aac09
|
2019-10-19T16:24:55
|
|
remove extraneous comma
|
|
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
|
|
36fca2f9
|
2019-09-09T02:58:18
|
|
remove support for 8-bit (MP_8BIT)
|
|
45a3bf76
|
2019-10-16T09:21:19
|
|
remove deprecated functions
|
|
fce429d0
|
2019-07-24T15:54:01
|
|
tommath.h: do not expose limits.h
|
|
55431084
|
2019-10-16T09:26:04
|
|
tommath.h: use enums
|
|
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()
|
|
e3eb13e4
|
2019-10-10T20:25:56
|
|
use same parameter name as in the prototype
|
|
fe2f91a1
|
2019-10-09T20:22:11
|
|
to_sbin/to_ubin/pack: don't write anything in case of buffer overflow
|
|
6e3dae56
|
2019-10-08T21:47:57
|
|
add MP_BUF error
|
|
b6813a41
|
2019-09-27T03:40:08
|
|
replace mp_export/import by mp_pack/unpack
|
|
71d1b7b9
|
2019-09-08T23:29:44
|
|
make mp_to_radix return the count of characters of the converted number
|
|
abdb0334
|
2019-09-25T00:29:19
|
|
Refactored functions to read and write binaries and added "maxlen"
|
|
6b0caef4
|
2019-09-09T15:55:45
|
|
add message that MP-8BIT is deprecated
|
|
bbe268eb
|
2019-09-03T10:53:40
|
|
Fix deprecation messages and unnecessary includes
|
|
684426b6
|
2019-09-02T14:40:10
|
|
add new conversion macros
|
|
f0e6ae59
|
2019-09-02T14:36:06
|
|
add `mp_to_radix()`
...a 100% copy&paste of `mp_toradix_n()` besides the changed API signature
|
|
625defdc
|
2019-05-31T11:31:53
|
|
fix gcc version check for deprecations
|
|
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
|
|
6c35dd7e
|
2019-07-15T12:15:10
|
|
Import stddef in tommath.h
At least here (compiling for WebAssembly
(`wasm32-unknown-unknown-wasm`), I need this, otherwise `size_t` is not
available.
|
|
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.
|
|
a911999d
|
2019-05-28T14:26:41
|
|
Better interoperability between MSVC and mingw-w64, 3
|
|
ab309de0
|
2019-06-05T14:50:12
|
|
Fix MSVC warning: bn_mp_rand.c(9): warning C4028: formal parameter 1 different from declaration
|
|
f5b6cd07
|
2019-04-26T14:38:54
|
|
Fix building on HP-UX 11.11 / PA-RISC
$ perl -v
This is perl 5, version 28, subversion 2 (v5.28.2) built for PA-RISC2.0-thread-multi-LP64
$ perl Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for CryptX
Writing MYMETA.yml and MYMETA.json
$ make
:
:
gcc64 -Iltm -Iltc/headers -DLTC_SOURCE -DLTC_NO_TEST -DLTC_NO_PROTOTYPES -DLTM_DESC -D_POSIX_C_SOURCE=199506L -D_REENTRANT -mpa-risc-2-0 -fPIC -D_HPUX_SOURCE -fwrapv -fno-strict-aliasing -pipe -I/usr/local/pa20_64/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -fPIC -g -O -DARGTYPE=4 -c ltc/math/ltm_desc.c -o ltc/math/ltm_desc.o
In file included from ltc/math/ltm_desc.c:15:0:
ltm/tommath.h:74:1: error: unable to emulate 'TI'
make[1]: *** [ltc/math/ltm_desc.o] Error 1
make[1]: Leaving directory `/data/cpan-build/CryptX-0.063-0/src'
make: *** [src/liballinone.a] Error 2
$ gcc64 --version
gcc64 (GCC) 4.6.1
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ perl -V:cppsymbols
cppsymbols='_FILE_OFFSET_BITS=64 _HPUX_SOURCE=1 _LARGEFILE_SOURCE=1 _LFS64_LARGEFILE=1 _LFS_LARGEFILE=1 _LP64=1 _PA_RISC2_0=1 _POSIX_C_SOURCE=199506L _PROTOTYPES= _REENTRANT=1 _XOPEN_SOURCE_EXTENDED=1 _XPG4= _XPG4_EXTENDED= __BYTE_ORDER__=4321 __ELF__=1 __GNUC_MINOR__=6 __GNUC__=4 __LP64__=1 __PIC__=2 __STDC_EXT__=1 __STDC__=1 __hp9000s700=1 __hp9000s700__=1 __hp9000s800=1 __hp9000s800__=1 __hppa=1 __hppa__=1 __hpux=1 __hpux__=1 __pic__=2 __unix=1 __unix__=1';
|
|
0ebc4f92
|
2019-06-05T09:20:25
|
|
fix MP_DEPRECATED for non-gcc, -clang or -msvc
|
|
25ff85d2
|
2019-05-23T18:00:21
|
|
move cast inside macro
|
|
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.
|
|
4b475aca
|
2019-05-26T09:29:58
|
|
fixes for msvc
|
|
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)
|
|
c7a7bd47
|
2019-05-23T16:37:34
|
|
MP_PREC is an internal macro, it should be defined in tommath_private.h
|
|
b0938d70
|
2019-05-24T11:48:27
|
|
remove obsolete comment
|
|
9f607dd5
|
2019-05-23T17:00:47
|
|
disallow defining MP_DIGIT_BIT, only allow MP_8/16/31/32/64BIT
|
|
0a9f5e9b
|
2019-05-24T10:21:54
|
|
use u32 i64 suffix
|
|
d7e1cb4a
|
2019-05-24T00:15:11
|
|
another proposal: use _ul and _l for the long macros
|
|
b58c9966
|
2019-05-23T23:39:47
|
|
use int32 and uint32 instead of sint and uint
|
|
d7959854
|
2019-05-23T11:12:30
|
|
improve comment in tommath.h, extend .gitignore
|
|
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.
|
|
0b840b78
|
2019-05-17T20:53:24
|
|
make mp_word private
mp_word is an internal type and it is problematic if it is exposed
in the public api. See for example #216 - MSVC does not support 128 bit
mp_words. But it is perfectly ok to use those internally in the library,
as long as the library is compiled with GCC.
|
|
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
|
|
89bac3a7
|
2019-05-13T15:06:54
|
|
deprecate MP_RANGE
|
|
4534056c
|
2019-05-13T00:22:18
|
|
use enums mp_err, mp_ord, mp_bool, mp_sign
* MP_USE_ENUMS enables enums
* Wc++-compat catches some implicit conversions if MP_USE_ENUMS is defined
* 100% backwards compatible API/ABI if MP_USE_ENUMS is not defined
|
|
38116079
|
2019-05-13T17:51:07
|
|
literal suffix
|
|
2d508723
|
2019-05-13T17:36:12
|
|
const parameter
|
|
7365442a
|
2019-05-10T23:59:46
|
|
No grow necessary in mp_set_int* functions
* mp_set_int* always return MP_OKAY
* remove return checks for mp_set_int*
* introduce MP_MIN_PREC
|
|
adf9605d
|
2019-05-09T03:28:49
|
|
add warn_unused_result, found one missing check!
|
|
cc703a84
|
2019-05-11T12:09:59
|
|
add missing parameter name in prototype
|
|
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.
|
|
e05215a8
|
2019-05-09T04:06:12
|
|
deprecate old macros, deprecate mp_rand_digit
|
|
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
|
|
290c28c1
|
2019-05-07T09:49:26
|
|
deprecate PRIME_SIZE in favor of MP_PRIME_SIZE
|
|
44d03a6f
|
2019-05-07T09:45:38
|
|
deprecate LTM_PRIME_* macros in favor of MP_PRIME_*
|
|
e2ee39b5
|
2019-04-26T12:39:26
|
|
deprecate ltm_prime_callback
|
|
80f5fac5
|
2019-04-26T12:35:39
|
|
rename LTM_NO_FILE to MP_NO_FILE
|
|
0337d48b
|
2019-04-25T19:35:19
|
|
add MP_NULL_TERMINATED
|
|
250751be
|
2019-05-07T09:32:59
|
|
tommath.h: do not expose stdlib.h
|
|
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.
|
|
90eccd57
|
2019-04-25T15:36:35
|
|
prefix private macros by PRIVATE_
|
|
632601f4
|
2019-04-13T17:34:11
|
|
MP_WARRAY is an internal macro
|
|
e45f75fd
|
2019-04-13T08:46:57
|
|
deprecate DIGIT_BIT, use MP_DIGIT_BIT
|
|
a8c76138
|
2019-04-12T21:15:56
|
|
deprecate macros in tommath.h
* move MP_DEPRECATED to tommath.h since we need it later
* add MP_DEPRECATED_PRAGMA
|
|
87292ed1
|
2019-04-09T12:19:40
|
|
move mp_balance_mul to tommath_private.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
|
|
5da4e0ac
|
2019-04-04T23:06:00
|
|
remove unnecessary size_t casts, fix Wconversion/Wsign-conversion issues
Wconversion and Wsign-conversion is still not activated by default,
since there are many issues in demo.c.
|
|
769218cc
|
2019-04-03T18:59:09
|
|
additional functions mp_incr and mp_decr
|
|
a3076677
|
2019-03-28T16:18:41
|
|
previous commit removed a little bit too much
|
|
ef07da5b
|
2019-03-28T16:13:37
|
|
mp_min_u32 is not used anywhere anymore, so it can be removed
|