Index of /ftp/unpacked/standalone_projects/third_party/heimdal/lib/hcrypto/libtommath

[ICO]NameLast modifiedSizeDescription

[PARENTDIR]Parent Directory  -  
[   ]LICENSE2024-07-16 22:15 1.2K 
[   ]NTMakefile2024-07-16 22:15 6.2K 
[TXT]README.md2024-07-16 22:15 2.1K 
[   ]appveyor.yml2024-07-16 22:15 887  
[   ]astylerc2024-07-16 22:15 529  
[TXT]bn_cutoffs.c2024-07-16 22:15 449  
[TXT]bn_deprecated.c2024-07-16 22:15 7.3K 
[TXT]bn_mp_2expt.c2024-07-16 22:15 749  
[TXT]bn_mp_abs.c2024-07-16 22:15 519  
[TXT]bn_mp_add.c2024-07-16 22:15 1.0K 
[TXT]bn_mp_add_d.c2024-07-16 22:15 1.8K 
[TXT]bn_mp_addmod.c2024-07-16 22:15 512  
[TXT]bn_mp_and.c2024-07-16 22:15 1.4K 
[TXT]bn_mp_clamp.c2024-07-16 22:15 673  
[TXT]bn_mp_clear.c2024-07-16 22:15 502  
[TXT]bn_mp_clear_multi.c2024-07-16 22:15 417  
[TXT]bn_mp_cmp.c2024-07-16 22:15 597  
[TXT]bn_mp_cmp_d.c2024-07-16 22:15 580  
[TXT]bn_mp_cmp_mag.c2024-07-16 22:15 810  
[TXT]bn_mp_cnt_lsb.c2024-07-16 22:15 791  
[TXT]bn_mp_complement.c2024-07-16 22:15 325  
[TXT]bn_mp_copy.c2024-07-16 22:15 900  
[TXT]bn_mp_count_bits.c2024-07-16 22:15 576  
[TXT]bn_mp_decr.c2024-07-16 22:15 790  
[TXT]bn_mp_div.c2024-07-16 22:15 6.9K 
[TXT]bn_mp_div_2.c2024-07-16 22:15 1.0K 
[TXT]bn_mp_div_2d.c2024-07-16 22:15 1.7K 
[TXT]bn_mp_div_3.c2024-07-16 22:15 1.4K 
[TXT]bn_mp_div_d.c2024-07-16 22:15 1.6K 
[TXT]bn_mp_dr_is_modulus.c2024-07-16 22:15 610  
[TXT]bn_mp_dr_reduce.c2024-07-16 22:15 2.0K 
[TXT]bn_mp_dr_setup.c2024-07-16 22:15 467  
[TXT]bn_mp_error_to_string.c2024-07-16 22:15 634  
[TXT]bn_mp_exch.c2024-07-16 22:15 366  
[TXT]bn_mp_expt_u32.c2024-07-16 22:15 878  
[TXT]bn_mp_exptmod.c2024-07-16 22:15 2.2K 
[TXT]bn_mp_exteuclid.c2024-07-16 22:15 2.6K 
[TXT]bn_mp_fread.c2024-07-16 22:15 1.2K 
[TXT]bn_mp_from_sbin.c2024-07-16 22:15 635  
[TXT]bn_mp_from_ubin.c2024-07-16 22:15 876  
[TXT]bn_mp_fwrite.c2024-07-16 22:15 1.0K 
[TXT]bn_mp_gcd.c2024-07-16 22:15 2.1K 
[TXT]bn_mp_get_double.c2024-07-16 22:15 436  
[TXT]bn_mp_get_i32.c2024-07-16 22:15 231  
[TXT]bn_mp_get_i64.c2024-07-16 22:15 231  
[TXT]bn_mp_get_l.c2024-07-16 22:15 228  
[TXT]bn_mp_get_ll.c2024-07-16 22:15 241  
[TXT]bn_mp_get_mag_u32.c2024-07-16 22:15 211  
[TXT]bn_mp_get_mag_u64.c2024-07-16 22:15 211  
[TXT]bn_mp_get_mag_ul.c2024-07-16 22:15 214  
[TXT]bn_mp_get_mag_ull.c2024-07-16 22:15 221  
[TXT]bn_mp_grow.c2024-07-16 22:15 1.1K 
[TXT]bn_mp_incr.c2024-07-16 22:15 718  
[TXT]bn_mp_init.c2024-07-16 22:15 572  
[TXT]bn_mp_init_copy.c2024-07-16 22:15 445  
[TXT]bn_mp_init_i32.c2024-07-16 22:15 217  
[TXT]bn_mp_init_i64.c2024-07-16 22:15 217  
[TXT]bn_mp_init_l.c2024-07-16 22:15 208  
[TXT]bn_mp_init_ll.c2024-07-16 22:15 216  
[TXT]bn_mp_init_multi.c2024-07-16 22:15 1.1K 
[TXT]bn_mp_init_set.c2024-07-16 22:15 360  
[TXT]bn_mp_init_size.c2024-07-16 22:15 536  
[TXT]bn_mp_init_u32.c2024-07-16 22:15 218  
[TXT]bn_mp_init_u64.c2024-07-16 22:15 218  
[TXT]bn_mp_init_ul.c2024-07-16 22:15 220  
[TXT]bn_mp_init_ull.c2024-07-16 22:15 228  
[TXT]bn_mp_invmod.c2024-07-16 22:15 650  
[TXT]bn_mp_is_square.c2024-07-16 22:15 2.8K 
[TXT]bn_mp_iseven.c2024-07-16 22:15 250  
[TXT]bn_mp_isodd.c2024-07-16 22:15 247  
[TXT]bn_mp_kronecker.c2024-07-16 22:15 2.7K 
[TXT]bn_mp_lcm.c2024-07-16 22:15 1.1K 
[TXT]bn_mp_log_u32.c2024-07-16 22:15 4.4K 
[TXT]bn_mp_lshd.c2024-07-16 22:15 1.1K 
[TXT]bn_mp_mod.c2024-07-16 22:15 657  
[TXT]bn_mp_mod_2d.c2024-07-16 22:15 971  
[TXT]bn_mp_mod_d.c2024-07-16 22:15 265  
[TXT]bn_mp_montgomery_calc_normalization.c2024-07-16 22:15 1.1K 
[TXT]bn_mp_montgomery_reduce.c2024-07-16 22:15 2.7K 
[TXT]bn_mp_montgomery_setup.c2024-07-16 22:15 1.1K 
[TXT]bn_mp_mul.c2024-07-16 22:15 2.0K 
[TXT]bn_mp_mul_2.c2024-07-16 22:15 1.4K 
[TXT]bn_mp_mul_2d.c2024-07-16 22:15 1.6K 
[TXT]bn_mp_mul_d.c2024-07-16 22:15 1.4K 
[TXT]bn_mp_mulmod.c2024-07-16 22:15 524  
[TXT]bn_mp_neg.c2024-07-16 22:15 482  
[TXT]bn_mp_or.c2024-07-16 22:15 1.4K 
[TXT]bn_mp_pack.c2024-07-16 22:15 1.7K 
[TXT]bn_mp_pack_count.c2024-07-16 22:15 383  
[TXT]bn_mp_prime_fermat.c2024-07-16 22:15 1.0K 
[TXT]bn_mp_prime_frobenius_underwood.c2024-07-16 22:15 4.4K 
[TXT]bn_mp_prime_is_prime.c2024-07-16 22:15 9.2K 
[TXT]bn_mp_prime_miller_rabin.c2024-07-16 22:15 2.0K 
[TXT]bn_mp_prime_next_prime.c2024-07-16 22:15 3.5K 
[TXT]bn_mp_prime_rabin_miller_trials.c2024-07-16 22:15 1.5K 
[TXT]bn_mp_prime_rand.c2024-07-16 22:15 3.7K 
[TXT]bn_mp_prime_strong_lucas_selfridge.c2024-07-16 22:15 12K 
[TXT]bn_mp_radix_size.c2024-07-16 22:15 1.3K 
[TXT]bn_mp_radix_smap.c2024-07-16 22:15 1.1K 
[TXT]bn_mp_rand.c2024-07-16 22:15 1.0K 
[TXT]bn_mp_read_radix.c2024-07-16 22:15 1.9K 
[TXT]bn_mp_reduce.c2024-07-16 22:15 1.9K 
[TXT]bn_mp_reduce_2k.c2024-07-16 22:15 947  
[TXT]bn_mp_reduce_2k_l.c2024-07-16 22:15 1.0K 
[TXT]bn_mp_reduce_2k_setup.c2024-07-16 22:15 656  
[TXT]bn_mp_reduce_2k_setup_l.c2024-07-16 22:15 578  
[TXT]bn_mp_reduce_is_2k.c2024-07-16 22:15 838  
[TXT]bn_mp_reduce_is_2k_l.c2024-07-16 22:15 683  
[TXT]bn_mp_reduce_setup.c2024-07-16 22:15 498  
[TXT]bn_mp_root_u32.c2024-07-16 22:15 3.8K 
[TXT]bn_mp_rshd.c2024-07-16 22:15 1.1K 
[TXT]bn_mp_sbin_size.c2024-07-16 22:15 289  
[TXT]bn_mp_set.c2024-07-16 22:15 372  
[TXT]bn_mp_set_double.c2024-07-16 22:15 1.3K 
[TXT]bn_mp_set_i32.c2024-07-16 22:15 227  
[TXT]bn_mp_set_i64.c2024-07-16 22:15 227  
[TXT]bn_mp_set_l.c2024-07-16 22:15 224  
[TXT]bn_mp_set_ll.c2024-07-16 22:15 237  
[TXT]bn_mp_set_u32.c2024-07-16 22:15 208  
[TXT]bn_mp_set_u64.c2024-07-16 22:15 208  
[TXT]bn_mp_set_ul.c2024-07-16 22:15 211  
[TXT]bn_mp_set_ull.c2024-07-16 22:15 218  
[TXT]bn_mp_shrink.c2024-07-16 22:15 629  
[TXT]bn_mp_signed_rsh.c2024-07-16 22:15 553  
[TXT]bn_mp_sqr.c2024-07-16 22:15 881  
[TXT]bn_mp_sqrmod.c2024-07-16 22:15 492  
[TXT]bn_mp_sqrt.c2024-07-16 22:15 1.4K 
[TXT]bn_mp_sqrtmod_prime.c2024-07-16 22:15 4.4K 
[TXT]bn_mp_sub.c2024-07-16 22:15 1.2K 
[TXT]bn_mp_sub_d.c2024-07-16 22:15 1.6K 
[TXT]bn_mp_submod.c2024-07-16 22:15 510  
[TXT]bn_mp_to_radix.c2024-07-16 22:15 1.9K 
[TXT]bn_mp_to_sbin.c2024-07-16 22:15 606  
[TXT]bn_mp_to_ubin.c2024-07-16 22:15 877  
[TXT]bn_mp_ubin_size.c2024-07-16 22:15 359  
[TXT]bn_mp_unpack.c2024-07-16 22:15 1.4K 
[TXT]bn_mp_xor.c2024-07-16 22:15 1.4K 
[TXT]bn_mp_zero.c2024-07-16 22:15 287  
[TXT]bn_prime_tab.c2024-07-16 22:15 2.7K 
[TXT]bn_s_mp_add.c2024-07-16 22:15 2.0K 
[TXT]bn_s_mp_balance_mul.c2024-07-16 22:15 2.0K 
[TXT]bn_s_mp_exptmod.c2024-07-16 22:15 5.8K 
[TXT]bn_s_mp_exptmod_fast.c2024-07-16 22:15 7.7K 
[TXT]bn_s_mp_get_bit.c2024-07-16 22:15 521  
[TXT]bn_s_mp_invmod_fast.c2024-07-16 22:15 3.3K 
[TXT]bn_s_mp_invmod_slow.c2024-07-16 22:15 3.7K 
[TXT]bn_s_mp_karatsuba_mul.c2024-07-16 22:15 4.5K 
[TXT]bn_s_mp_karatsuba_sqr.c2024-07-16 22:15 2.6K 
[TXT]bn_s_mp_montgomery_reduce_fast.c2024-07-16 22:15 4.3K 
[TXT]bn_s_mp_mul_digs.c2024-07-16 22:15 2.0K 
[TXT]bn_s_mp_mul_digs_fast.c2024-07-16 22:15 2.3K 
[TXT]bn_s_mp_mul_high_digs.c2024-07-16 22:15 1.7K 
[TXT]bn_s_mp_mul_high_digs_fast.c2024-07-16 22:15 2.1K 
[TXT]bn_s_mp_prime_is_divisible.c2024-07-16 22:15 823  
[TXT]bn_s_mp_rand_jenkins.c2024-07-16 22:15 1.2K 
[TXT]bn_s_mp_rand_platform.c2024-07-16 22:15 4.1K 
[TXT]bn_s_mp_reverse.c2024-07-16 22:15 448  
[TXT]bn_s_mp_sqr.c2024-07-16 22:15 1.9K 
[TXT]bn_s_mp_sqr_fast.c2024-07-16 22:15 2.4K 
[TXT]bn_s_mp_sub.c2024-07-16 22:15 1.7K 
[TXT]bn_s_mp_toom_mul.c2024-07-16 22:15 6.8K 
[TXT]bn_s_mp_toom_sqr.c2024-07-16 22:15 4.4K 
[TXT]changes.txt2024-07-16 22:15 29K 
[DIR]demo/2024-07-16 22:15 -  
[DIR]doc/2024-07-16 22:15 -  
[DIR]etc/2024-07-16 22:15 -  
[TXT]gen.pl2024-07-16 22:15 671  
[TXT]helper.pl2024-07-16 22:15 16K 
[   ]libtommath.pc.in2024-07-16 22:15 271  
[   ]libtommath_VS2008.sln2024-07-16 22:15 1.3K 
[   ]libtommath_VS2008.vcproj2024-07-16 22:15 17K 
[DIR]logs/2024-07-16 22:15 -  
[   ]makefile2024-07-16 22:15 6.4K 
[   ]makefile.mingw2024-07-16 22:15 4.9K 
[   ]makefile.msvc2024-07-16 22:15 5.0K 
[   ]makefile.shared2024-07-16 22:15 4.6K 
[   ]makefile.unix2024-07-16 22:15 4.9K 
[   ]makefile_include.mk2024-07-16 22:15 4.0K 
[DIR]mtest/2024-07-16 22:15 -  
[DIR]pre_gen/2024-07-16 22:15 -  
[TXT]testme.sh2024-07-16 22:15 11K 
[   ]tommath.def2024-07-16 22:15 2.5K 
[TXT]tommath.h2024-07-16 22:15 29K 
[TXT]tommath_class.h2024-07-16 22:15 28K 
[TXT]tommath_cutoffs.h2024-07-16 22:15 517  
[TXT]tommath_private.h2024-07-16 22:15 14K 
[TXT]tommath_superclass.h2024-07-16 22:15 3.2K 

# libtommath

This is the git repository for [LibTomMath](http://www.libtom.net/LibTomMath/), a free open source portable number theoretic multiple-precision integer (MPI) library written entirely in C.

## Build Status

### Travis CI

master: [![Build Status](https://api.travis-ci.org/libtom/libtommath.png?branch=master)](https://travis-ci.org/libtom/libtommath)

develop: [![Build Status](https://api.travis-ci.org/libtom/libtommath.png?branch=develop)](https://travis-ci.org/libtom/libtommath)

### AppVeyor

master: [![Build status](https://ci.appveyor.com/api/projects/status/b80lpolw3i8m6hsh/branch/master?svg=true)](https://ci.appveyor.com/project/libtom/libtommath/branch/master)

develop: [![Build status](https://ci.appveyor.com/api/projects/status/b80lpolw3i8m6hsh/branch/develop?svg=true)](https://ci.appveyor.com/project/libtom/libtommath/branch/develop)

### ABI Laboratory

API/ABI changes: [check here](https://abi-laboratory.pro/tracker/timeline/libtommath/)

## 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.