diff options
| author | Benedict <benedict@0xb8000.de> | 2016-12-19 20:07:21 +0100 |
|---|---|---|
| committer | Benedict <benedict@0xb8000.de> | 2017-02-21 13:00:26 +0100 |
| commit | 773f26c5006f389dab09a53955be0eb5bb3cefe5 (patch) | |
| tree | ba6772896b1c82728c4d9746c5d5be35972604ec /lib | |
| parent | 530fcd5aaf841210a9d2d189f551c309970916e9 (diff) | |
lib5: added bits parameter to rsa_generate_key()
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/lib5.c | 13 | ||||
| -rw-r--r-- | lib/lib5.h | 1 |
2 files changed, 11 insertions, 3 deletions
@@ -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(); @@ -97,6 +97,7 @@ int modulo(int a, int b); void extended_euclid_algo(int a, int b, struct extended_euclid *e); void extended_euclid_algo_bignum(BIGNUM *a, BIGNUM *b, struct extended_euclid_bignum *e); 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, int bits); int free_rsa_key_bignum(struct rsa_key_bignum *t); int modular_multiplicative_inverse_bignum_my(BIGNUM *res, BIGNUM *number, BIGNUM *modulo); int modular_multiplicative_inverse(int number, int _modulo); |
