1 #include "tommath_private.h"
2 #ifdef BN_MP_DR_IS_MODULUS_C
3 /* LibTomMath, multiple-precision integer library -- Tom St Denis */
4 /* SPDX-License-Identifier: Unlicense */
6 /* determines if a number is a valid DR modulus */
7 mp_bool
mp_dr_is_modulus(const mp_int
*a
)
11 /* must be at least two digits */
16 /* must be of the form b**k - a [a <= b] so all
17 * but the first digit must be equal to -1 (mod b).
19 for (ix
= 1; ix
< a
->used
; ix
++) {
20 if (a
->dp
[ix
] != MP_MASK
) {