diff options
author | Niels Möller <nisse@lysator.liu.se> | 2010-03-23 16:40:24 +0100 |
---|---|---|
committer | Niels Möller <nisse@lysator.liu.se> | 2010-03-23 16:40:24 +0100 |
commit | 3eebb3fd42b8122565a6b675c1f0d04d901cef94 (patch) | |
tree | 289afcb035a9f4521db9e66103edea1351b64ad2 /rsa.h | |
parent | d93024e9118da4ddd8e9252e4c169ab344c1333e (diff) | |
download | nettle-3eebb3fd42b8122565a6b675c1f0d04d901cef94.tar.gz |
* Makefile.in (hogweed_SOURCES): Added pkcs1-rsa-sha512.c,
rsa-sha512-sign.c and rsa-sha512-verify.c.
* rsa.h: Added prototypes for sha512-related functions.
(RSA_MINIMUM_N_OCTETS, RSA_MINIMUM_N_BITS): Increased.
* pkcs1.h: Added prototypes for sha512-related functions.
* rsa-sha512-verify.c: New file.
* rsa-sha512-sign.c: New file.
* pkcs1-rsa-sha512.c: New file.
Rev: nettle/ChangeLog:1.52
Rev: nettle/Makefile.in:1.16
Rev: nettle/pkcs1-rsa-sha512.c:1.1
Rev: nettle/pkcs1.h:1.2
Rev: nettle/rsa-sha512-sign.c:1.1
Rev: nettle/rsa-sha512-verify.c:1.1
Rev: nettle/rsa.h:1.3
Diffstat (limited to 'rsa.h')
-rw-r--r-- | rsa.h | 35 |
1 files changed, 30 insertions, 5 deletions
@@ -52,12 +52,16 @@ extern "C" { #define rsa_sha1_verify nettle_rsa_sha1_verify #define rsa_sha256_sign nettle_rsa_sha256_sign #define rsa_sha256_verify nettle_rsa_sha256_verify +#define rsa_sha512_sign nettle_rsa_sha512_sign +#define rsa_sha512_verify nettle_rsa_sha512_verify #define rsa_md5_sign_digest nettle_rsa_md5_sign_digest #define rsa_md5_verify_digest nettle_rsa_md5_verify_digest #define rsa_sha1_sign_digest nettle_rsa_sha1_sign_digest #define rsa_sha1_verify_digest nettle_rsa_sha1_verify_digest #define rsa_sha256_sign_digest nettle_rsa_sha256_sign_digest #define rsa_sha256_verify_digest nettle_rsa_sha256_verify_digest +#define rsa_sha512_sign_digest nettle_rsa_sha512_sign_digest +#define rsa_sha512_verify_digest nettle_rsa_sha512_verify_digest #define rsa_encrypt nettle_rsa_encrypt #define rsa_decrypt nettle_rsa_decrypt #define rsa_compute_root nettle_rsa_compute_root @@ -75,12 +79,13 @@ extern "C" { /* For PKCS#1 to make sense, the size of the modulo, in octets, must * be at least 11 + the length of the DER-encoded Digest Info. * - * And a DigestInfo is 34 octets for md5, 35 octets for sha1, and 51 - * octets for sha256. 62 octets is 496 bits, and as the upper 7 bits - * may be zero, the smallest useful size of n is 489 bits. */ + * And a DigestInfo is 34 octets for md5, 35 octets for sha1, 51 + * octets for sha256, and 83 octetss for sha512. 94 octets is 752 + * bits, and as the upper 7 bits may be zero, the smallest useful size + * of n is 745 bits. */ -#define RSA_MINIMUM_N_OCTETS 62 -#define RSA_MINIMUM_N_BITS 489 +#define RSA_MINIMUM_N_OCTETS 94 +#define RSA_MINIMUM_N_BITS (8*RSA_MINIMUM_N_OCTETS - 7) struct rsa_public_key { @@ -194,6 +199,16 @@ rsa_sha256_verify(const struct rsa_public_key *key, struct sha256_ctx *hash, const mpz_t signature); +void +rsa_sha512_sign(const struct rsa_private_key *key, + struct sha512_ctx *hash, + mpz_t signature); + +int +rsa_sha512_verify(const struct rsa_public_key *key, + struct sha512_ctx *hash, + const mpz_t signature); + /* Variants taking the digest as argument. */ void rsa_md5_sign_digest(const struct rsa_private_key *key, @@ -225,6 +240,16 @@ rsa_sha256_verify_digest(const struct rsa_public_key *key, const uint8_t *digest, const mpz_t signature); +void +rsa_sha512_sign_digest(const struct rsa_private_key *key, + const uint8_t *digest, + mpz_t s); + +int +rsa_sha512_verify_digest(const struct rsa_public_key *key, + const uint8_t *digest, + const mpz_t signature); + /* RSA encryption, using PKCS#1 */ /* These functions uses the v1.5 padding. What should the v2 (OAEP) |