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

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.