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

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.