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

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.