Lines Matching refs:rsa
25 int RSA_X931_derive_ex(RSA *rsa, BIGNUM *p1, BIGNUM *p2, BIGNUM *q1,
34 if (!rsa)
49 if (!rsa->e) {
50 rsa->e = BN_dup(e);
51 if (!rsa->e)
54 e = rsa->e;
62 if (Xp && rsa->p == NULL) {
63 rsa->p = BN_new();
64 if (rsa->p == NULL)
67 if (!BN_X931_derive_prime_ex(rsa->p, p1, p2,
72 if (Xq && rsa->q == NULL) {
73 rsa->q = BN_new();
74 if (rsa->q == NULL)
76 if (!BN_X931_derive_prime_ex(rsa->q, q1, q2,
81 if (rsa->p == NULL || rsa->q == NULL) {
93 rsa->n = BN_new();
94 if (rsa->n == NULL)
96 if (!BN_mul(rsa->n, rsa->p, rsa->q, ctx))
100 if (!BN_sub(r1, rsa->p, BN_value_one()))
102 if (!BN_sub(r2, rsa->q, BN_value_one()))
117 rsa->d = BN_mod_inverse(NULL, rsa->e, r0, ctx2); /* d */
118 if (rsa->d == NULL)
122 rsa->dmp1 = BN_new();
123 if (rsa->dmp1 == NULL)
125 if (!BN_mod(rsa->dmp1, rsa->d, r1, ctx))
129 rsa->dmq1 = BN_new();
130 if (rsa->dmq1 == NULL)
132 if (!BN_mod(rsa->dmq1, rsa->d, r2, ctx))
136 rsa->iqmp = BN_mod_inverse(NULL, rsa->q, rsa->p, ctx2);
137 if (rsa->iqmp == NULL)
140 rsa->dirty_cnt++;
151 int RSA_X931_generate_key_ex(RSA *rsa, int bits, const BIGNUM *e,
170 rsa->p = BN_new();
171 rsa->q = BN_new();
172 if (rsa->p == NULL || rsa->q == NULL)
177 if (!BN_X931_generate_prime_ex(rsa->p, NULL, NULL, NULL, NULL, Xp,
181 if (!BN_X931_generate_prime_ex(rsa->q, NULL, NULL, NULL, NULL, Xq,
186 * Since rsa->p and rsa->q are valid this call will just derive remaining
190 if (!RSA_X931_derive_ex(rsa, NULL, NULL, NULL, NULL,
194 rsa->dirty_cnt++;