X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilcmath%2Fsilcmath.h;h=966cd6d9f5ce0e5fca025283993e7ac2225c3de4;hb=9b499de7f8fdbb24c32b8a0a84bb2fbbcdab782a;hp=0c1141ee493d1c102cc402e0d90b8e4ee95afd4b;hpb=3d732816280b8d654fd6c42a8ff55d1e513dbba5;p=crypto.git diff --git a/lib/silcmath/silcmath.h b/lib/silcmath/silcmath.h index 0c1141ee..966cd6d9 100644 --- a/lib/silcmath/silcmath.h +++ b/lib/silcmath/silcmath.h @@ -1,24 +1,23 @@ -/****h* silcmath/silcmath.h - * - * NAME - * - * silcmath.h - * - * COPYRIGHT - * - * Author: Pekka Riikonen - * - * Copyright (C) 1997 - 2000 Pekka Riikonen - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. +/* + + silcmath.h + + Author: Pekka Riikonen + + Copyright (C) 1997 - 2008 Pekka Riikonen + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + +*/ + +/****h* silcmath/SILC Math Interface * * DESCRIPTION * @@ -26,42 +25,47 @@ * prime generation, and conversion routines. See the silcmp.h for the * SILC MP interface. * - */ + ***/ #ifndef SILCMATH_H #define SILCMATH_H -/****f* silcmath/SilcMathAPI/silc_math_gen_prime +#include "silcrng.h" + +/****f* silcmath/silc_math_gen_prime * * SYNOPSIS * - * int silc_math_gen_prime(SilcInt *prime, uint32 bits, int verbose); + * SilcBool silc_math_gen_prime(SilcMPInt *prime, SilcUInt32 bits, + * SilcBool verbose, SilcRng rng); * * DESCRIPTION * - * Find appropriate prime. It generates a number by taking random bytes. - * It then tests the number that it's not divisible by any of the small - * primes and then it performs Fermat's prime test. I thank Rieks Joosten - * (r.joosten@pijnenburg.nl) for such a good help with prime tests. + * Find appropriate prime. It generates a number by taking random bytes. + * It then tests the number that it's not divisible by any of the small + * primes and then it performs Fermat's prime test. * * If argument verbose is TRUE this will display some status information - * about the progress of generation. + * about the progress of generation. If the `rng' is NULL then global + * RNG is used, if non-NULL then `rng' is used to generate the random + * number number. * ***/ -int silc_math_gen_prime(SilcInt *prime, uint32 bits, int verbose); +SilcBool silc_math_gen_prime(SilcMPInt *prime, SilcUInt32 bits, + SilcBool verbose, SilcRng rng); -/****f* silcmath/SilcMathAPI/silc_math_prime_test +/****f* silcmath/silc_math_prime_test * * SYNOPSIS * - * int silc_math_prime_test(SilcInt *p); + * int silc_math_prime_test(SilcMPInt *p); * * DESCRIPTION * - * Performs primality testings for given number. Returns TRUE if the + * Performs primality testings for given number. Returns TRUE if the * number is probably a prime. * ***/ -int silc_math_prime_test(SilcInt *p); +SilcBool silc_math_prime_test(SilcMPInt *p); #endif