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

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.