"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "rsa-sec-decrypt.c" between
nettle-3.7.2.tar.gz and nettle-3.7.3.tar.gz

About: Nettle is a low-level cryptographic library.

rsa-sec-decrypt.c  (nettle-3.7.2):rsa-sec-decrypt.c  (nettle-3.7.3)
skipping to change at line 58 skipping to change at line 58
rsa_sec_decrypt(const struct rsa_public_key *pub, rsa_sec_decrypt(const struct rsa_public_key *pub,
const struct rsa_private_key *key, const struct rsa_private_key *key,
void *random_ctx, nettle_random_func *random, void *random_ctx, nettle_random_func *random,
size_t length, uint8_t *message, size_t length, uint8_t *message,
const mpz_t gibberish) const mpz_t gibberish)
{ {
TMP_GMP_DECL (m, mp_limb_t); TMP_GMP_DECL (m, mp_limb_t);
TMP_GMP_DECL (em, uint8_t); TMP_GMP_DECL (em, uint8_t);
int res; int res;
/* First check that input is in range. */
if (mpz_sgn (gibberish) < 0 || mpz_cmp (gibberish, pub->n) >= 0)
return 0;
TMP_GMP_ALLOC (m, mpz_size(pub->n)); TMP_GMP_ALLOC (m, mpz_size(pub->n));
TMP_GMP_ALLOC (em, key->size); TMP_GMP_ALLOC (em, key->size);
res = _rsa_sec_compute_root_tr (pub, key, random_ctx, random, m, /* We need a copy because m can be shorter than key_size,
mpz_limbs_read(gibberish), * but _rsa_sec_compute_root_tr expect all inputs to be
mpz_size(gibberish)); * normalized to a key_size long buffer length */
mpz_limbs_copy(m, gibberish, mpz_size(pub->n));
res = _rsa_sec_compute_root_tr (pub, key, random_ctx, random, m, m);
mpn_get_base256 (em, key->size, m, mpz_size(pub->n)); mpn_get_base256 (em, key->size, m, mpz_size(pub->n));
res &= _pkcs1_sec_decrypt (length, message, key->size, em); res &= _pkcs1_sec_decrypt (length, message, key->size, em);
TMP_GMP_FREE (em); TMP_GMP_FREE (em);
TMP_GMP_FREE (m); TMP_GMP_FREE (m);
return res; return res;
} }
 End of changes. 2 change blocks. 
3 lines changed or deleted 10 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)