binary algorithm for modular inversion
[openssl.git] / crypto / bn / bn_mod.c
index 92fe11684c8c914a7a006fc72f5693841c8fcb87..5cf82480d7bafb8e61b52ef62f44118e1acf9d30 100644 (file)
@@ -150,8 +150,8 @@ int BN_mod_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, BN_
 int BN_mod_add_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m)
        {
        if (!BN_add(r, a, b)) return 0;
 int BN_mod_add_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m)
        {
        if (!BN_add(r, a, b)) return 0;
-       if (BN_cmp(r, m) >= 0)
-               return BN_sub(r, r, m);
+       if (BN_ucmp(r, m) >= 0)
+               return BN_usub(r, r, m);
        return 1;
        }
 
        return 1;
        }