Lines Matching refs:ctx
23 static int bn_x931_derive_pi(BIGNUM *pi, const BIGNUM *Xpi, BN_CTX *ctx,
35 is_prime = BN_check_prime(pi, ctx, cb);
55 const BIGNUM *Xp2, const BIGNUM *e, BN_CTX *ctx,
66 BN_CTX_start(ctx);
68 p1 = BN_CTX_get(ctx);
71 p2 = BN_CTX_get(ctx);
73 t = BN_CTX_get(ctx);
75 p1p2 = BN_CTX_get(ctx);
77 pm1 = BN_CTX_get(ctx);
82 if (!bn_x931_derive_pi(p1, Xp1, ctx, cb))
85 if (!bn_x931_derive_pi(p2, Xp2, ctx, cb))
88 if (!BN_mul(p1p2, p1, p2, ctx))
93 if (!BN_mod_inverse(p, p2, p1, ctx))
96 if (!BN_mul(p, p, p2, ctx))
99 if (!BN_mod_inverse(t, p1, p2, ctx))
102 if (!BN_mul(t, t, p1, ctx))
113 if (!BN_mod_sub(p, p, Xp, p1p2, ctx))
128 if (!BN_gcd(t, pm1, e, ctx))
136 int r = BN_check_prime(p, ctx, cb);
152 BN_CTX_end(ctx);
162 int BN_X931_generate_Xpq(BIGNUM *Xp, BIGNUM *Xq, int nbits, BN_CTX *ctx)
179 ctx))
182 BN_CTX_start(ctx);
183 t = BN_CTX_get(ctx);
189 ctx))
199 BN_CTX_end(ctx);
207 BN_CTX_end(ctx);
222 const BIGNUM *e, BN_CTX *ctx, BN_GENCB *cb)
226 BN_CTX_start(ctx);
228 Xp1 = BN_CTX_get(ctx);
230 Xp2 = BN_CTX_get(ctx);
234 if (!BN_priv_rand_ex(Xp1, 101, BN_RAND_TOP_ONE, BN_RAND_BOTTOM_ANY, 0, ctx))
236 if (!BN_priv_rand_ex(Xp2, 101, BN_RAND_TOP_ONE, BN_RAND_BOTTOM_ANY, 0, ctx))
238 if (!BN_X931_derive_prime_ex(p, p1, p2, Xp, Xp1, Xp2, e, ctx, cb))
244 BN_CTX_end(ctx);