Name | Last modified | Size | Description | |
---|---|---|---|---|
Parent Directory | - | |||
LICENSE | 2024-07-16 22:15 | 1.2K | ||
NTMakefile | 2024-07-16 22:15 | 6.2K | ||
README.md | 2024-07-16 22:15 | 2.1K | ||
appveyor.yml | 2024-07-16 22:15 | 887 | ||
astylerc | 2024-07-16 22:15 | 529 | ||
bn_cutoffs.c | 2024-07-16 22:15 | 449 | ||
bn_deprecated.c | 2024-07-16 22:15 | 7.3K | ||
bn_mp_2expt.c | 2024-07-16 22:15 | 749 | ||
bn_mp_abs.c | 2024-07-16 22:15 | 519 | ||
bn_mp_add.c | 2024-07-16 22:15 | 1.0K | ||
bn_mp_add_d.c | 2024-07-16 22:15 | 1.8K | ||
bn_mp_addmod.c | 2024-07-16 22:15 | 512 | ||
bn_mp_and.c | 2024-07-16 22:15 | 1.4K | ||
bn_mp_clamp.c | 2024-07-16 22:15 | 673 | ||
bn_mp_clear.c | 2024-07-16 22:15 | 502 | ||
bn_mp_clear_multi.c | 2024-07-16 22:15 | 417 | ||
bn_mp_cmp.c | 2024-07-16 22:15 | 597 | ||
bn_mp_cmp_d.c | 2024-07-16 22:15 | 580 | ||
bn_mp_cmp_mag.c | 2024-07-16 22:15 | 810 | ||
bn_mp_cnt_lsb.c | 2024-07-16 22:15 | 791 | ||
bn_mp_complement.c | 2024-07-16 22:15 | 325 | ||
bn_mp_copy.c | 2024-07-16 22:15 | 900 | ||
bn_mp_count_bits.c | 2024-07-16 22:15 | 576 | ||
bn_mp_decr.c | 2024-07-16 22:15 | 790 | ||
bn_mp_div.c | 2024-07-16 22:15 | 6.9K | ||
bn_mp_div_2.c | 2024-07-16 22:15 | 1.0K | ||
bn_mp_div_2d.c | 2024-07-16 22:15 | 1.7K | ||
bn_mp_div_3.c | 2024-07-16 22:15 | 1.4K | ||
bn_mp_div_d.c | 2024-07-16 22:15 | 1.6K | ||
bn_mp_dr_is_modulus.c | 2024-07-16 22:15 | 610 | ||
bn_mp_dr_reduce.c | 2024-07-16 22:15 | 2.0K | ||
bn_mp_dr_setup.c | 2024-07-16 22:15 | 467 | ||
bn_mp_error_to_string.c | 2024-07-16 22:15 | 634 | ||
bn_mp_exch.c | 2024-07-16 22:15 | 366 | ||
bn_mp_expt_u32.c | 2024-07-16 22:15 | 878 | ||
bn_mp_exptmod.c | 2024-07-16 22:15 | 2.2K | ||
bn_mp_exteuclid.c | 2024-07-16 22:15 | 2.6K | ||
bn_mp_fread.c | 2024-07-16 22:15 | 1.2K | ||
bn_mp_from_sbin.c | 2024-07-16 22:15 | 635 | ||
bn_mp_from_ubin.c | 2024-07-16 22:15 | 876 | ||
bn_mp_fwrite.c | 2024-07-16 22:15 | 1.0K | ||
bn_mp_gcd.c | 2024-07-16 22:15 | 2.1K | ||
bn_mp_get_double.c | 2024-07-16 22:15 | 436 | ||
bn_mp_get_i32.c | 2024-07-16 22:15 | 231 | ||
bn_mp_get_i64.c | 2024-07-16 22:15 | 231 | ||
bn_mp_get_l.c | 2024-07-16 22:15 | 228 | ||
bn_mp_get_ll.c | 2024-07-16 22:15 | 241 | ||
bn_mp_get_mag_u32.c | 2024-07-16 22:15 | 211 | ||
bn_mp_get_mag_u64.c | 2024-07-16 22:15 | 211 | ||
bn_mp_get_mag_ul.c | 2024-07-16 22:15 | 214 | ||
bn_mp_get_mag_ull.c | 2024-07-16 22:15 | 221 | ||
bn_mp_grow.c | 2024-07-16 22:15 | 1.1K | ||
bn_mp_incr.c | 2024-07-16 22:15 | 718 | ||
bn_mp_init.c | 2024-07-16 22:15 | 572 | ||
bn_mp_init_copy.c | 2024-07-16 22:15 | 445 | ||
bn_mp_init_i32.c | 2024-07-16 22:15 | 217 | ||
bn_mp_init_i64.c | 2024-07-16 22:15 | 217 | ||
bn_mp_init_l.c | 2024-07-16 22:15 | 208 | ||
bn_mp_init_ll.c | 2024-07-16 22:15 | 216 | ||
bn_mp_init_multi.c | 2024-07-16 22:15 | 1.1K | ||
bn_mp_init_set.c | 2024-07-16 22:15 | 360 | ||
bn_mp_init_size.c | 2024-07-16 22:15 | 536 | ||
bn_mp_init_u32.c | 2024-07-16 22:15 | 218 | ||
bn_mp_init_u64.c | 2024-07-16 22:15 | 218 | ||
bn_mp_init_ul.c | 2024-07-16 22:15 | 220 | ||
bn_mp_init_ull.c | 2024-07-16 22:15 | 228 | ||
bn_mp_invmod.c | 2024-07-16 22:15 | 650 | ||
bn_mp_is_square.c | 2024-07-16 22:15 | 2.8K | ||
bn_mp_iseven.c | 2024-07-16 22:15 | 250 | ||
bn_mp_isodd.c | 2024-07-16 22:15 | 247 | ||
bn_mp_kronecker.c | 2024-07-16 22:15 | 2.7K | ||
bn_mp_lcm.c | 2024-07-16 22:15 | 1.1K | ||
bn_mp_log_u32.c | 2024-07-16 22:15 | 4.4K | ||
bn_mp_lshd.c | 2024-07-16 22:15 | 1.1K | ||
bn_mp_mod.c | 2024-07-16 22:15 | 657 | ||
bn_mp_mod_2d.c | 2024-07-16 22:15 | 971 | ||
bn_mp_mod_d.c | 2024-07-16 22:15 | 265 | ||
bn_mp_montgomery_calc_normalization.c | 2024-07-16 22:15 | 1.1K | ||
bn_mp_montgomery_reduce.c | 2024-07-16 22:15 | 2.7K | ||
bn_mp_montgomery_setup.c | 2024-07-16 22:15 | 1.1K | ||
bn_mp_mul.c | 2024-07-16 22:15 | 2.0K | ||
bn_mp_mul_2.c | 2024-07-16 22:15 | 1.4K | ||
bn_mp_mul_2d.c | 2024-07-16 22:15 | 1.6K | ||
bn_mp_mul_d.c | 2024-07-16 22:15 | 1.4K | ||
bn_mp_mulmod.c | 2024-07-16 22:15 | 524 | ||
bn_mp_neg.c | 2024-07-16 22:15 | 482 | ||
bn_mp_or.c | 2024-07-16 22:15 | 1.4K | ||
bn_mp_pack.c | 2024-07-16 22:15 | 1.7K | ||
bn_mp_pack_count.c | 2024-07-16 22:15 | 383 | ||
bn_mp_prime_fermat.c | 2024-07-16 22:15 | 1.0K | ||
bn_mp_prime_frobenius_underwood.c | 2024-07-16 22:15 | 4.4K | ||
bn_mp_prime_is_prime.c | 2024-07-16 22:15 | 9.2K | ||
bn_mp_prime_miller_rabin.c | 2024-07-16 22:15 | 2.0K | ||
bn_mp_prime_next_prime.c | 2024-07-16 22:15 | 3.5K | ||
bn_mp_prime_rabin_miller_trials.c | 2024-07-16 22:15 | 1.5K | ||
bn_mp_prime_rand.c | 2024-07-16 22:15 | 3.7K | ||
bn_mp_prime_strong_lucas_selfridge.c | 2024-07-16 22:15 | 12K | ||
bn_mp_radix_size.c | 2024-07-16 22:15 | 1.3K | ||
bn_mp_radix_smap.c | 2024-07-16 22:15 | 1.1K | ||
bn_mp_rand.c | 2024-07-16 22:15 | 1.0K | ||
bn_mp_read_radix.c | 2024-07-16 22:15 | 1.9K | ||
bn_mp_reduce.c | 2024-07-16 22:15 | 1.9K | ||
bn_mp_reduce_2k.c | 2024-07-16 22:15 | 947 | ||
bn_mp_reduce_2k_l.c | 2024-07-16 22:15 | 1.0K | ||
bn_mp_reduce_2k_setup.c | 2024-07-16 22:15 | 656 | ||
bn_mp_reduce_2k_setup_l.c | 2024-07-16 22:15 | 578 | ||
bn_mp_reduce_is_2k.c | 2024-07-16 22:15 | 838 | ||
bn_mp_reduce_is_2k_l.c | 2024-07-16 22:15 | 683 | ||
bn_mp_reduce_setup.c | 2024-07-16 22:15 | 498 | ||
bn_mp_root_u32.c | 2024-07-16 22:15 | 3.8K | ||
bn_mp_rshd.c | 2024-07-16 22:15 | 1.1K | ||
bn_mp_sbin_size.c | 2024-07-16 22:15 | 289 | ||
bn_mp_set.c | 2024-07-16 22:15 | 372 | ||
bn_mp_set_double.c | 2024-07-16 22:15 | 1.3K | ||
bn_mp_set_i32.c | 2024-07-16 22:15 | 227 | ||
bn_mp_set_i64.c | 2024-07-16 22:15 | 227 | ||
bn_mp_set_l.c | 2024-07-16 22:15 | 224 | ||
bn_mp_set_ll.c | 2024-07-16 22:15 | 237 | ||
bn_mp_set_u32.c | 2024-07-16 22:15 | 208 | ||
bn_mp_set_u64.c | 2024-07-16 22:15 | 208 | ||
bn_mp_set_ul.c | 2024-07-16 22:15 | 211 | ||
bn_mp_set_ull.c | 2024-07-16 22:15 | 218 | ||
bn_mp_shrink.c | 2024-07-16 22:15 | 629 | ||
bn_mp_signed_rsh.c | 2024-07-16 22:15 | 553 | ||
bn_mp_sqr.c | 2024-07-16 22:15 | 881 | ||
bn_mp_sqrmod.c | 2024-07-16 22:15 | 492 | ||
bn_mp_sqrt.c | 2024-07-16 22:15 | 1.4K | ||
bn_mp_sqrtmod_prime.c | 2024-07-16 22:15 | 4.4K | ||
bn_mp_sub.c | 2024-07-16 22:15 | 1.2K | ||
bn_mp_sub_d.c | 2024-07-16 22:15 | 1.6K | ||
bn_mp_submod.c | 2024-07-16 22:15 | 510 | ||
bn_mp_to_radix.c | 2024-07-16 22:15 | 1.9K | ||
bn_mp_to_sbin.c | 2024-07-16 22:15 | 606 | ||
bn_mp_to_ubin.c | 2024-07-16 22:15 | 877 | ||
bn_mp_ubin_size.c | 2024-07-16 22:15 | 359 | ||
bn_mp_unpack.c | 2024-07-16 22:15 | 1.4K | ||
bn_mp_xor.c | 2024-07-16 22:15 | 1.4K | ||
bn_mp_zero.c | 2024-07-16 22:15 | 287 | ||
bn_prime_tab.c | 2024-07-16 22:15 | 2.7K | ||
bn_s_mp_add.c | 2024-07-16 22:15 | 2.0K | ||
bn_s_mp_balance_mul.c | 2024-07-16 22:15 | 2.0K | ||
bn_s_mp_exptmod.c | 2024-07-16 22:15 | 5.8K | ||
bn_s_mp_exptmod_fast.c | 2024-07-16 22:15 | 7.7K | ||
bn_s_mp_get_bit.c | 2024-07-16 22:15 | 521 | ||
bn_s_mp_invmod_fast.c | 2024-07-16 22:15 | 3.3K | ||
bn_s_mp_invmod_slow.c | 2024-07-16 22:15 | 3.7K | ||
bn_s_mp_karatsuba_mul.c | 2024-07-16 22:15 | 4.5K | ||
bn_s_mp_karatsuba_sqr.c | 2024-07-16 22:15 | 2.6K | ||
bn_s_mp_montgomery_reduce_fast.c | 2024-07-16 22:15 | 4.3K | ||
bn_s_mp_mul_digs.c | 2024-07-16 22:15 | 2.0K | ||
bn_s_mp_mul_digs_fast.c | 2024-07-16 22:15 | 2.3K | ||
bn_s_mp_mul_high_digs.c | 2024-07-16 22:15 | 1.7K | ||
bn_s_mp_mul_high_digs_fast.c | 2024-07-16 22:15 | 2.1K | ||
bn_s_mp_prime_is_divisible.c | 2024-07-16 22:15 | 823 | ||
bn_s_mp_rand_jenkins.c | 2024-07-16 22:15 | 1.2K | ||
bn_s_mp_rand_platform.c | 2024-07-16 22:15 | 4.1K | ||
bn_s_mp_reverse.c | 2024-07-16 22:15 | 448 | ||
bn_s_mp_sqr.c | 2024-07-16 22:15 | 1.9K | ||
bn_s_mp_sqr_fast.c | 2024-07-16 22:15 | 2.4K | ||
bn_s_mp_sub.c | 2024-07-16 22:15 | 1.7K | ||
bn_s_mp_toom_mul.c | 2024-07-16 22:15 | 6.8K | ||
bn_s_mp_toom_sqr.c | 2024-07-16 22:15 | 4.4K | ||
changes.txt | 2024-07-16 22:15 | 29K | ||
demo/ | 2024-07-16 22:15 | - | ||
doc/ | 2024-07-16 22:15 | - | ||
etc/ | 2024-07-16 22:15 | - | ||
gen.pl | 2024-07-16 22:15 | 671 | ||
helper.pl | 2024-07-16 22:15 | 16K | ||
libtommath.pc.in | 2024-07-16 22:15 | 271 | ||
libtommath_VS2008.sln | 2024-07-16 22:15 | 1.3K | ||
libtommath_VS2008.vcproj | 2024-07-16 22:15 | 17K | ||
logs/ | 2024-07-16 22:15 | - | ||
makefile | 2024-07-16 22:15 | 6.4K | ||
makefile.mingw | 2024-07-16 22:15 | 4.9K | ||
makefile.msvc | 2024-07-16 22:15 | 5.0K | ||
makefile.shared | 2024-07-16 22:15 | 4.6K | ||
makefile.unix | 2024-07-16 22:15 | 4.9K | ||
makefile_include.mk | 2024-07-16 22:15 | 4.0K | ||
mtest/ | 2024-07-16 22:15 | - | ||
pre_gen/ | 2024-07-16 22:15 | - | ||
testme.sh | 2024-07-16 22:15 | 11K | ||
tommath.def | 2024-07-16 22:15 | 2.5K | ||
tommath.h | 2024-07-16 22:15 | 29K | ||
tommath_class.h | 2024-07-16 22:15 | 28K | ||
tommath_cutoffs.h | 2024-07-16 22:15 | 517 | ||
tommath_private.h | 2024-07-16 22:15 | 14K | ||
tommath_superclass.h | 2024-07-16 22:15 | 3.2K | ||
# libtommath This is the git repository for [LibTomMath](http://www.libtom.net/LibTomMath/), a free open source portable number theoretic multiple-precision integer (MPI) library written entirely in C. ## Build Status ### Travis CI master: [![Build Status](https://api.travis-ci.org/libtom/libtommath.png?branch=master)](https://travis-ci.org/libtom/libtommath) develop: [![Build Status](https://api.travis-ci.org/libtom/libtommath.png?branch=develop)](https://travis-ci.org/libtom/libtommath) ### AppVeyor master: [![Build status](https://ci.appveyor.com/api/projects/status/b80lpolw3i8m6hsh/branch/master?svg=true)](https://ci.appveyor.com/project/libtom/libtommath/branch/master) develop: [![Build status](https://ci.appveyor.com/api/projects/status/b80lpolw3i8m6hsh/branch/develop?svg=true)](https://ci.appveyor.com/project/libtom/libtommath/branch/develop) ### ABI Laboratory API/ABI changes: [check here](https://abi-laboratory.pro/tracker/timeline/libtommath/) ## Summary The `develop` branch contains the in-development version. Stable releases are tagged. Documentation is built from the LaTeX file `bn.tex`. There is also limited documentation in `tommath.h`. There is also a document, `tommath.pdf`, which describes the goals of the project and many of the algorithms used. The project can be build by using `make`. Along with the usual `make`, `make clean` and `make install`, there are several other build targets, see the makefile for details. There are also makefiles for certain specific platforms. ## Testing Tests are located in `demo/` and can be built in two flavors. * `make test` creates a stand-alone test binary that executes several test routines. * `make mtest_opponent` creates a test binary that is intended to be run against `mtest`. `mtest` can be built with `make mtest` and test execution is done like `./mtest/mtest | ./mtest_opponent`. `mtest` is creating test vectors using an alternative MPI library and `test` is consuming these vectors to verify correct behavior of ltm ## Building and Installing Building is straightforward for GNU Linux only, the section "Building LibTomMath" in the documentation in `doc/bn.pdf` has the details.