X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=d0_bignum-openssl.c;h=0830ab23369333cbbf88b7ad7e86fa51f37cec7d;hb=d52aaed83bdc76a965c3bf3ba9036436f45ba8a9;hp=44ad26aef4c29c8f63cd59ca256b82356207332f;hpb=10108bd663f37d3dfd1bf569247193b0bdfc7504;p=xonotic%2Fd0_blind_id.git diff --git a/d0_bignum-openssl.c b/d0_bignum-openssl.c index 44ad26a..0830ab2 100644 --- a/d0_bignum-openssl.c +++ b/d0_bignum-openssl.c @@ -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;