diff options
author | Niels Möller <nisse@lysator.liu.se> | 2012-06-03 22:02:59 +0200 |
---|---|---|
committer | Niels Möller <nisse@lysator.liu.se> | 2012-06-03 22:02:59 +0200 |
commit | adad6eaac2d03fba830eb1630b5458c1ac7f1907 (patch) | |
tree | ea02b675e2cf8f3c6584f35f9f73fd0d072b3428 /pkcs1-rsa-sha256.c | |
parent | 0589865876f8c89047eaee1698071e31956b0480 (diff) | |
download | nettle-adad6eaac2d03fba830eb1630b5458c1ac7f1907.tar.gz |
Changes to pkcs1_signature_prefix interface.
Diffstat (limited to 'pkcs1-rsa-sha256.c')
-rw-r--r-- | pkcs1-rsa-sha256.c | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/pkcs1-rsa-sha256.c b/pkcs1-rsa-sha256.c index a02a3e95..e3f0797d 100644 --- a/pkcs1-rsa-sha256.c +++ b/pkcs1-rsa-sha256.c @@ -60,18 +60,20 @@ sha256_prefix[] = }; int -pkcs1_rsa_sha256_encode(mpz_t m, unsigned size, struct sha256_ctx *hash) +pkcs1_rsa_sha256_encode(mpz_t m, unsigned key_size, struct sha256_ctx *hash) { + uint8_t *p; TMP_DECL(em, uint8_t, NETTLE_MAX_BIGNUM_SIZE); - TMP_ALLOC(em, size); + TMP_ALLOC(em, key_size); - if (pkcs1_signature_prefix(size, em, + p = pkcs1_signature_prefix(key_size, em, sizeof(sha256_prefix), sha256_prefix, - SHA256_DIGEST_SIZE)) + SHA256_DIGEST_SIZE); + if (p) { - sha256_digest(hash, SHA256_DIGEST_SIZE, em + size - SHA256_DIGEST_SIZE); - nettle_mpz_set_str_256_u(m, size, em); + sha256_digest(hash, SHA256_DIGEST_SIZE, p); + nettle_mpz_set_str_256_u(m, key_size, em); return 1; } else @@ -79,18 +81,20 @@ pkcs1_rsa_sha256_encode(mpz_t m, unsigned size, struct sha256_ctx *hash) } int -pkcs1_rsa_sha256_encode_digest(mpz_t m, unsigned size, const uint8_t *digest) +pkcs1_rsa_sha256_encode_digest(mpz_t m, unsigned key_size, const uint8_t *digest) { + uint8_t *p; TMP_DECL(em, uint8_t, NETTLE_MAX_BIGNUM_SIZE); - TMP_ALLOC(em, size); + TMP_ALLOC(em, key_size); - if (pkcs1_signature_prefix(size, em, + p = pkcs1_signature_prefix(key_size, em, sizeof(sha256_prefix), sha256_prefix, - SHA256_DIGEST_SIZE)) + SHA256_DIGEST_SIZE); + if (p) { - memcpy(em + size - SHA256_DIGEST_SIZE, digest, SHA256_DIGEST_SIZE); - nettle_mpz_set_str_256_u(m, size, em); + memcpy(p, digest, SHA256_DIGEST_SIZE); + nettle_mpz_set_str_256_u(m, key_size, em); return 1; } else |