]> de.git.xonotic.org Git - xonotic/d0_blind_id.git/blobdiff - d0_bignum-openssl.c
also support signing
[xonotic/d0_blind_id.git] / d0_bignum-openssl.c
index 44ad26aef4c29c8f63cd59ca256b82356207332f..0830ab23369333cbbf88b7ad7e86fa51f37cec7d 100644 (file)
@@ -49,8 +49,6 @@
 // for stupid OpenSSL versions in Mac OS X
 #ifndef BN_is_negative
 #define BN_is_negative(a) ((a)->neg != 0)
-#endif
-#ifndef BN_set_negative
 #define BN_set_negative(a,n) ((a)->neg = ((n) && !BN_is_zero(a)))
 #endif
 
@@ -295,6 +293,13 @@ d0_bignum_t *d0_bignum_mod_add(d0_bignum_t *r, const d0_bignum_t *a, const d0_bi
        return r;
 }
 
+d0_bignum_t *d0_bignum_mod_sub(d0_bignum_t *r, const d0_bignum_t *a, const d0_bignum_t *b, const d0_bignum_t *m)
+{
+       if(!r) r = d0_bignum_new(); if(!r) return NULL;
+       BN_mod_sub(&r->z, &a->z, &b->z, &m->z, ctx);
+       return r;
+}
+
 d0_bignum_t *d0_bignum_mod_mul(d0_bignum_t *r, const d0_bignum_t *a, const d0_bignum_t *b, const d0_bignum_t *m)
 {
        if(!r) r = d0_bignum_new(); if(!r) return NULL;