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

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.