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

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.