summaryrefslogtreecommitdiff
path: root/lib/lib5.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/lib5.c')
-rw-r--r--lib/lib5.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/lib5.c b/lib/lib5.c
index f87014c..1eb25e3 100644
--- a/lib/lib5.c
+++ b/lib/lib5.c
@@ -479,7 +479,14 @@ int modular_multiplicative_inverse_bignum_my(BIGNUM *res, BIGNUM *number, BIGNUM
return BN_nnmod(res, tmp.s, modulo, ctx);
}
-int rsa_generate_key_bignum(struct rsa_key_bignum *public, struct rsa_key_bignum *private)
+int rsa_generate_key_bignum(struct rsa_key_bignum *public,
+ struct rsa_key_bignum *private)
+{
+ return __rsa_generate_key_bignum(public, private ,512);
+}
+
+int __rsa_generate_key_bignum(struct rsa_key_bignum *public,
+ struct rsa_key_bignum *private, int bits)
{
// RSA with bignum
// using openssl'S BN
@@ -487,9 +494,9 @@ int rsa_generate_key_bignum(struct rsa_key_bignum *public, struct rsa_key_bignum
// well should check here for error but asusme infinte memory here
BIGNUM *q = BN_new();
- BN_generate_prime_ex(p, 256, 1, NULL, NULL, NULL);
+ BN_generate_prime_ex(p, bits, 1, NULL, NULL, NULL);
do {
- BN_generate_prime_ex(q, 256, 1, NULL, NULL, NULL);
+ BN_generate_prime_ex(q, bits, 1, NULL, NULL, NULL);
} while (!BN_cmp(p, q));
BIGNUM *n = BN_new();