Lines Matching refs:ctx
27 BN_MONT_CTX *mont, BN_CTX *ctx)
29 int ret = bn_mul_mont_fixed_top(r, a, b, mont, ctx);
38 BN_MONT_CTX *mont, BN_CTX *ctx)
60 BN_CTX_start(ctx);
61 tmp = BN_CTX_get(ctx);
67 if (!bn_sqr_fixed_top(tmp, a, ctx))
70 if (!bn_mul_fixed_top(tmp, a, b, ctx))
78 if (!BN_from_montgomery(r, tmp, mont, ctx))
83 BN_CTX_end(ctx);
163 BN_CTX *ctx)
167 retn = bn_from_mont_fixed_top(ret, a, mont, ctx);
175 BN_CTX *ctx)
181 BN_CTX_start(ctx);
182 if ((t = BN_CTX_get(ctx)) && BN_copy(t, a)) {
185 BN_CTX_end(ctx);
189 BN_CTX_start(ctx);
190 t1 = BN_CTX_get(ctx);
191 t2 = BN_CTX_get(ctx);
199 if (!BN_mul(t2, t1, &mont->Ni, ctx))
203 if (!BN_mul(t1, t2, &mont->N, ctx))
217 BN_CTX_end(ctx);
223 BN_CTX *ctx)
225 return bn_mul_mont_fixed_top(r, a, &(mont->RR), mont, ctx);
242 void BN_MONT_CTX_init(BN_MONT_CTX *ctx)
244 ctx->ri = 0;
245 bn_init(&ctx->RR);
246 bn_init(&ctx->N);
247 bn_init(&ctx->Ni);
248 ctx->n0[0] = ctx->n0[1] = 0;
249 ctx->flags = 0;
263 int BN_MONT_CTX_set(BN_MONT_CTX *mont, const BIGNUM *mod, BN_CTX *ctx)
271 BN_CTX_start(ctx);
272 if ((Ri = BN_CTX_get(ctx)) == NULL)
316 else if ((BN_mod_inverse(Ri, R, &tmod, ctx)) == NULL)
333 if (!BN_div(Ri, NULL, Ri, &tmod, ctx))
351 else if ((BN_mod_inverse(Ri, R, &tmod, ctx)) == NULL)
363 if (!BN_div(Ri, NULL, Ri, &tmod, ctx))
379 if ((BN_mod_inverse(Ri, R, &mont->N, ctx)) == NULL)
388 if (!BN_div(&(mont->Ni), NULL, Ri, &mont->N, ctx))
397 if (!BN_mod(&(mont->RR), &(mont->RR), &(mont->N), ctx))
407 BN_CTX_end(ctx);
429 const BIGNUM *mod, BN_CTX *ctx)
451 if (!BN_MONT_CTX_set(ret, mod, ctx)) {