5 Author: Pekka Riikonen <priikone@silcnet.org>
7 Copyright (C) 1997 - 2008 Pekka Riikonen
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; version 2 of the License.
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
20 /****h* silcmath/Math Interface
24 * SILC Math interface includes various utility functions such as
25 * prime generation, and conversion routines. See the silcmp.h for the
35 /****f* silcmath/silc_math_gen_prime
39 * SilcBool silc_math_gen_prime(SilcMPInt *prime, SilcUInt32 bits,
40 * SilcBool verbose, SilcRng rng);
44 * Find appropriate prime. It generates a number by taking random bytes.
45 * It then tests the number that it's not divisible by any of the small
46 * primes and then it performs Fermat's prime test.
48 * If argument verbose is TRUE this will display some status information
49 * about the progress of generation. If the `rng' is NULL then global
50 * RNG is used, if non-NULL then `rng' is used to generate the random
54 SilcBool silc_math_gen_prime(SilcMPInt *prime, SilcUInt32 bits,
55 SilcBool verbose, SilcRng rng);
57 /****f* silcmath/silc_math_prime_test
61 * int silc_math_prime_test(SilcMPInt *p);
65 * Performs primality testings for given number. Returns TRUE if the
66 * number is probably a prime.
69 SilcBool silc_math_prime_test(SilcMPInt *p);