Folus Wen 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
..
LICENSE 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
Makefile.in 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
README.md 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
astylerc 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_cutoffs.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_deprecated.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_2expt.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_abs.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_add.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_add_d.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_addmod.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_and.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_clamp.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_clear.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_clear_multi.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_cmp.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_cmp_d.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_cmp_mag.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_cnt_lsb.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_complement.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_copy.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_count_bits.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_decr.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_div.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_div_2.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_div_2d.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_div_3.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_div_d.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_dr_is_modulus.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_dr_reduce.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_dr_setup.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_error_to_string.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_exch.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_expt_u32.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_exptmod.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_exteuclid.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_fread.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_from_sbin.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_from_ubin.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_fwrite.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_gcd.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_get_i32.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_get_i64.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_get_l.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_get_ll.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_get_mag_u32.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_get_mag_u64.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_get_mag_ul.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_get_mag_ull.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_grow.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_incr.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_init.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_init_copy.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_init_i32.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_init_i64.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_init_l.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_init_ll.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_init_multi.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_init_set.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_init_size.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_init_u32.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_init_u64.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_init_ul.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_init_ull.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_invmod.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_is_square.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_iseven.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_isodd.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_kronecker.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_lcm.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_log_u32.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_lshd.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_mod.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_mod_2d.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_mod_d.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_montgomery_calc_normalization.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_montgomery_reduce.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_montgomery_setup.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_mul.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_mul_2.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_mul_2d.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_mul_d.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_mulmod.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_neg.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_or.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_pack.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_pack_count.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_prime_fermat.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_prime_frobenius_underwood.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_prime_is_prime.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_prime_miller_rabin.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_prime_next_prime.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_prime_rabin_miller_trials.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_prime_rand.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_prime_strong_lucas_selfridge.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_radix_size.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_radix_smap.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_rand.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_read_radix.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_reduce.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_reduce_2k.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_reduce_2k_l.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_reduce_2k_setup.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_reduce_2k_setup_l.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_reduce_is_2k.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_reduce_is_2k_l.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_reduce_setup.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_root_u32.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_rshd.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_sbin_size.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_set.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_set_i32.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_set_i64.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_set_l.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_set_ll.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_set_u32.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_set_u64.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_set_ul.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_set_ull.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_shrink.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_signed_rsh.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_sqr.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_sqrmod.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_sqrt.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_sqrtmod_prime.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_sub.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_sub_d.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_submod.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_to_radix.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_to_sbin.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_to_ubin.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_ubin_size.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_unpack.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_xor.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_mp_zero.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_prime_tab.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_s_mp_add.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_s_mp_balance_mul.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_s_mp_exptmod.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_s_mp_exptmod_fast.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_s_mp_get_bit.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_s_mp_invmod_fast.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_s_mp_invmod_slow.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_s_mp_karatsuba_mul.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_s_mp_karatsuba_sqr.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_s_mp_montgomery_reduce_fast.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_s_mp_mul_digs.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_s_mp_mul_digs_fast.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_s_mp_mul_high_digs.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_s_mp_mul_high_digs_fast.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_s_mp_prime_is_divisible.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_s_mp_rand_jenkins.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_s_mp_rand_platform.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_s_mp_reverse.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_s_mp_sqr.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_s_mp_sqr_fast.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_s_mp_sub.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_s_mp_toom_mul.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
bn_s_mp_toom_sqr.c 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
changes.txt 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
gen.pl 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
helper.pl 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
makefile_include.mk 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
testme.sh 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
tommath.h 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
tommath_class.h 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
tommath_cutoffs.h 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
tommath_private.h 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan
tommath_superclass.h 3c1544b7f9 [Improve][GPL][Dropbear] 2 år sedan

README.md

libtommath

This is the git repository for LibTomMath, a free open source portable number theoretic multiple-precision integer (MPI) library written entirely in C.

Build Status

Travis CI

master: Build Status

develop: Build Status

AppVeyor

master: Build status

develop: Build status

ABI Laboratory

API/ABI changes: check here

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.