Lines Matching refs:rsa
22 static int rsa_builtin_keygen(RSA *rsa, int bits, int primes, BIGNUM *e_value,
32 int RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e_value, BN_GENCB *cb) in RSA_generate_key_ex() argument
34 if (rsa->meth->rsa_keygen != NULL) in RSA_generate_key_ex()
35 return rsa->meth->rsa_keygen(rsa, bits, e_value, cb); in RSA_generate_key_ex()
37 return RSA_generate_multi_prime_key(rsa, bits, RSA_DEFAULT_PRIME_NUM, in RSA_generate_key_ex()
41 int RSA_generate_multi_prime_key(RSA *rsa, int bits, int primes, in RSA_generate_multi_prime_key() argument
45 if (rsa->meth->rsa_multi_prime_keygen != NULL) { in RSA_generate_multi_prime_key()
46 return rsa->meth->rsa_multi_prime_keygen(rsa, bits, primes, in RSA_generate_multi_prime_key()
48 } else if (rsa->meth->rsa_keygen != NULL) { in RSA_generate_multi_prime_key()
56 return rsa->meth->rsa_keygen(rsa, bits, e_value, cb); in RSA_generate_multi_prime_key()
61 return rsa_builtin_keygen(rsa, bits, primes, e_value, cb); in RSA_generate_multi_prime_key()
64 static int rsa_builtin_keygen(RSA *rsa, int bits, int primes, BIGNUM *e_value, in rsa_builtin_keygen() argument
106 if (!rsa->n && ((rsa->n = BN_new()) == NULL)) in rsa_builtin_keygen()
108 if (!rsa->d && ((rsa->d = BN_secure_new()) == NULL)) in rsa_builtin_keygen()
110 if (!rsa->e && ((rsa->e = BN_new()) == NULL)) in rsa_builtin_keygen()
112 if (!rsa->p && ((rsa->p = BN_secure_new()) == NULL)) in rsa_builtin_keygen()
114 if (!rsa->q && ((rsa->q = BN_secure_new()) == NULL)) in rsa_builtin_keygen()
116 if (!rsa->dmp1 && ((rsa->dmp1 = BN_secure_new()) == NULL)) in rsa_builtin_keygen()
118 if (!rsa->dmq1 && ((rsa->dmq1 = BN_secure_new()) == NULL)) in rsa_builtin_keygen()
120 if (!rsa->iqmp && ((rsa->iqmp = BN_secure_new()) == NULL)) in rsa_builtin_keygen()
125 rsa->version = RSA_ASN1_VERSION_MULTI; in rsa_builtin_keygen()
129 if (rsa->prime_infos != NULL) { in rsa_builtin_keygen()
131 sk_RSA_PRIME_INFO_pop_free(rsa->prime_infos, rsa_multip_info_free); in rsa_builtin_keygen()
133 rsa->prime_infos = prime_infos; in rsa_builtin_keygen()
144 if (BN_copy(rsa->e, e_value) == NULL) in rsa_builtin_keygen()
153 prime = rsa->p; in rsa_builtin_keygen()
155 prime = rsa->q; in rsa_builtin_keygen()
177 prev_prime = rsa->p; in rsa_builtin_keygen()
179 prev_prime = rsa->q; in rsa_builtin_keygen()
193 if (BN_mod_inverse(r1, r2, rsa->e, ctx) != NULL) { in rsa_builtin_keygen()
214 if (!BN_mul(r1, rsa->p, rsa->q, ctx)) in rsa_builtin_keygen()
218 if (!BN_mul(r1, rsa->n, prime, ctx)) in rsa_builtin_keygen()
278 if (i > 1 && BN_copy(pinfo->pp, rsa->n) == NULL) in rsa_builtin_keygen()
280 if (BN_copy(rsa->n, r1) == NULL) in rsa_builtin_keygen()
286 if (BN_cmp(rsa->p, rsa->q) < 0) { in rsa_builtin_keygen()
287 tmp = rsa->p; in rsa_builtin_keygen()
288 rsa->p = rsa->q; in rsa_builtin_keygen()
289 rsa->q = tmp; in rsa_builtin_keygen()
295 if (!BN_sub(r1, rsa->p, BN_value_one())) in rsa_builtin_keygen()
298 if (!BN_sub(r2, rsa->q, BN_value_one())) in rsa_builtin_keygen()
320 if (!BN_mod_inverse(rsa->d, rsa->e, pr0, ctx)) { in rsa_builtin_keygen()
334 BN_with_flags(d, rsa->d, BN_FLG_CONSTTIME); in rsa_builtin_keygen()
337 if (!BN_mod(rsa->dmp1, d, r1, ctx) in rsa_builtin_keygen()
338 || !BN_mod(rsa->dmq1, d, r2, ctx)) { in rsa_builtin_keygen()
362 BN_with_flags(p, rsa->p, BN_FLG_CONSTTIME); in rsa_builtin_keygen()
365 if (!BN_mod_inverse(rsa->iqmp, rsa->q, p, ctx)) { in rsa_builtin_keygen()