diff options
author | Niels Möller <nisse@lysator.liu.se> | 2018-12-26 17:49:31 +0100 |
---|---|---|
committer | Niels Möller <nisse@lysator.liu.se> | 2018-12-26 17:49:31 +0100 |
commit | 1eb23ca50b6cc4f46abf44d48d6be816c34d566c (patch) | |
tree | c2d8ebffe858c5c5e131dababf5d8b7a47c8ed95 | |
parent | 1cc82bbb8b23f79b7f3097e8143fc2f705237ace (diff) | |
download | nettle-1eb23ca50b6cc4f46abf44d48d6be816c34d566c.tar.gz |
In openssl benchmarks, use RSA_generate_key_ex.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | examples/hogweed-benchmark.c | 34 |
2 files changed, 22 insertions, 17 deletions
@@ -1,5 +1,10 @@ 2018-12-26 Niels Möller <nisse@lysator.liu.se> + * examples/hogweed-benchmark.c (make_openssl_rsa_ctx): New helper + function. Call openssl's RSA_generate_key_ex rather then the + deprecated RSA_generate_key. + (bench_openssl_rsa_init, bench_openssl_rsa_tr_init): Use it. + * eccdata.c (ecc_pippenger_precompute): Check that table size is at least 2. Intended to silence warning from the clang static analyzer. diff --git a/examples/hogweed-benchmark.c b/examples/hogweed-benchmark.c index a4a56882..accdf87e 100644 --- a/examples/hogweed-benchmark.c +++ b/examples/hogweed-benchmark.c @@ -59,6 +59,7 @@ #if WITH_OPENSSL #include <openssl/rsa.h> +#include <openssl/bn.h> #include <openssl/ec.h> #include <openssl/ecdsa.h> #include <openssl/objects.h> @@ -532,41 +533,40 @@ struct openssl_rsa_ctx uint8_t *digest; }; -static void * -bench_openssl_rsa_init (unsigned size) +static struct openssl_rsa_ctx* +make_openssl_rsa_ctx (unsigned size) { struct openssl_rsa_ctx *ctx = xalloc (sizeof (*ctx)); - - ctx->key = RSA_generate_key (size, 65537, NULL, NULL); + BIGNUM *e = BN_new(); + BN_set_word(e, 65537); + ctx->key = RSA_new(); + RSA_generate_key_ex (ctx->key, size, e, NULL); ctx->ref = xalloc (RSA_size (ctx->key)); ctx->signature = xalloc (RSA_size (ctx->key)); ctx->digest = hash_string (&nettle_sha1, "foo"); - RSA_blinding_off(ctx->key); if (! RSA_sign (NID_sha1, ctx->digest, SHA1_DIGEST_SIZE, ctx->ref, &ctx->siglen, ctx->key)) die ("OpenSSL RSA_sign failed.\n"); + BN_free(e); return ctx; } static void * -bench_openssl_rsa_tr_init (unsigned size) +bench_openssl_rsa_init (unsigned size) { - struct openssl_rsa_ctx *ctx = xalloc (sizeof (*ctx)); - - ctx->key = RSA_generate_key (size, 65537, NULL, NULL); - ctx->ref = xalloc (RSA_size (ctx->key)); - ctx->signature = xalloc (RSA_size (ctx->key)); - ctx->digest = hash_string (&nettle_sha1, "foo"); - - if (! RSA_sign (NID_sha1, ctx->digest, SHA1_DIGEST_SIZE, - ctx->ref, &ctx->siglen, ctx->key)) - die ("OpenSSL RSA_sign failed.\n"); - + struct openssl_rsa_ctx *ctx = make_openssl_rsa_ctx (size); + RSA_blinding_off(ctx->key); return ctx; } +static void * +bench_openssl_rsa_tr_init (unsigned size) +{ + return make_openssl_rsa_ctx (size); +} + static void bench_openssl_rsa_sign (void *p) { |