summaryrefslogtreecommitdiff
path: root/rsa.c
diff options
context:
space:
mode:
authorBen Lindstrom <mouring@eviladmin.org>2001-03-29 00:29:54 +0000
committerBen Lindstrom <mouring@eviladmin.org>2001-03-29 00:29:54 +0000
commitd09fcf5f6e6905ee2f04b81b6ad97e6d244f5c2a (patch)
treea1cd2a026c49189588780449f50d7a0194392a22 /rsa.c
parentc1116608967d75af5466ad487b0fd587450e5c9f (diff)
- markus@cvs.openbsd.org 2001/03/26 23:23:24
[rsa.c rsa.h ssh-agent.c ssh-keygen.c] try to read private f-secure ssh v2 rsa keys.
Diffstat (limited to 'rsa.c')
-rw-r--r--rsa.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/rsa.c b/rsa.c
index 62655314..f69f9960 100644
--- a/rsa.c
+++ b/rsa.c
@@ -60,7 +60,7 @@
*/
#include "includes.h"
-RCSID("$OpenBSD: rsa.c,v 1.21 2001/02/04 15:32:24 stevesk Exp $");
+RCSID("$OpenBSD: rsa.c,v 1.22 2001/03/26 23:23:23 markus Exp $");
#include "rsa.h"
#include "log.h"
@@ -119,3 +119,23 @@ rsa_private_decrypt(BIGNUM *out, BIGNUM *in, RSA *key)
xfree(inbuf);
return len;
}
+
+void
+generate_additional_parameters(RSA *rsa)
+{
+ BIGNUM *aux;
+ BN_CTX *ctx;
+ /* Generate additional parameters */
+ aux = BN_new();
+ ctx = BN_CTX_new();
+
+ BN_sub(aux, rsa->q, BN_value_one());
+ BN_mod(rsa->dmq1, rsa->d, aux, ctx);
+
+ BN_sub(aux, rsa->p, BN_value_one());
+ BN_mod(rsa->dmp1, rsa->d, aux, ctx);
+
+ BN_clear_free(aux);
+ BN_CTX_free(ctx);
+}
+