12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- #include <tommath.h>
- #ifdef BN_MP_DR_IS_MODULUS_C
- /* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
- */
- /* determines if a number is a valid DR modulus */
- int mp_dr_is_modulus(mp_int *a)
- {
- int ix;
- /* must be at least two digits */
- if (a->used < 2) {
- return 0;
- }
- /* must be of the form b**k - a [a <= b] so all
- * but the first digit must be equal to -1 (mod b).
- */
- for (ix = 1; ix < a->used; ix++) {
- if (a->dp[ix] != MP_MASK) {
- return 0;
- }
- }
- return 1;
- }
- #endif
- /* $Source: /cvs/libtom/libtommath/bn_mp_dr_is_modulus.c,v $ */
- /* $Revision: 1.3 $ */
- /* $Date: 2006/03/31 14:18:44 $ */
|