Exemplo n.º 1
0
int
rsa_sha1_sign_digest(const struct rsa_private_key *key,
		     const uint8_t *digest,
		     mpz_t s)
{
  if (pkcs1_rsa_sha1_encode_digest(s, key->size, digest))
    {
      rsa_compute_root(key, s, s);
      return 1;
    }
  else
    {
      mpz_set_ui(s, 0);
      return 0;
    }
}
Exemplo n.º 2
0
int
rsa_sha1_verify_digest(const struct rsa_public_key *key,
		       const uint8_t *digest,
		       const mpz_t s)
{
  int res;
  mpz_t m;

  mpz_init(m);
  
  res = (pkcs1_rsa_sha1_encode_digest(m, key->size, digest)
	 && _rsa_verify(key, m, s));
  
  mpz_clear(m);

  return res;
}
Exemplo n.º 3
0
int
rsa_sha1_verify_digest(const struct rsa_public_key *key,
		       const uint8_t *digest,
		       const mpz_t s)
{
  int res;
  mpz_t m;

  assert(key->size >= RSA_MINIMUM_N_OCTETS);
  mpz_init(m);
  
  pkcs1_rsa_sha1_encode_digest(m, key->size - 1, digest);
  res = _rsa_verify(key, m, s);
  
  mpz_clear(m);

  return res;
}