| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| #ifndef NETTLE_DSA_COMPAT_H_INCLUDED |
| #define NETTLE_DSA_COMPAT_H_INCLUDED |
|
|
| #include "dsa.h" |
|
|
| #include "sha1.h" |
| #include "sha2.h" |
|
|
| |
| #define dsa_public_key_init nettle_dsa_public_key_init |
| #define dsa_public_key_clear nettle_dsa_public_key_clear |
| #define dsa_private_key_init nettle_dsa_private_key_init |
| #define dsa_private_key_clear nettle_dsa_private_key_clear |
| #define dsa_sha1_sign nettle_dsa_sha1_sign |
| #define dsa_sha1_verify nettle_dsa_sha1_verify |
| #define dsa_sha256_sign nettle_dsa_sha256_sign |
| #define dsa_sha256_verify nettle_dsa_sha256_verify |
| #define dsa_sha1_sign_digest nettle_dsa_sha1_sign_digest |
| #define dsa_sha1_verify_digest nettle_dsa_sha1_verify_digest |
| #define dsa_sha256_sign_digest nettle_dsa_sha256_sign_digest |
| #define dsa_sha256_verify_digest nettle_dsa_sha256_verify_digest |
| #define dsa_compat_generate_keypair nettle_dsa_compat_generate_keypair |
|
|
| |
| #undef dsa_generate_keypair |
| #define dsa_generate_keypair nettle_dsa_compat_generate_keypair |
|
|
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
|
|
| struct dsa_public_key |
| { |
| |
| |
| |
| |
| mpz_t p; |
| mpz_t q; |
| mpz_t g; |
|
|
| |
| mpz_t y; |
| }; |
|
|
| struct dsa_private_key |
| { |
| |
| |
| mpz_t x; |
| }; |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| |
| void |
| dsa_public_key_init(struct dsa_public_key *key); |
|
|
| |
| void |
| dsa_public_key_clear(struct dsa_public_key *key); |
|
|
|
|
| |
| void |
| dsa_private_key_init(struct dsa_private_key *key); |
|
|
| |
| void |
| dsa_private_key_clear(struct dsa_private_key *key); |
|
|
| int |
| dsa_sha1_sign(const struct dsa_public_key *pub, |
| const struct dsa_private_key *key, |
| void *random_ctx, nettle_random_func *random, |
| struct sha1_ctx *hash, |
| struct dsa_signature *signature); |
|
|
| int |
| dsa_sha256_sign(const struct dsa_public_key *pub, |
| const struct dsa_private_key *key, |
| void *random_ctx, nettle_random_func *random, |
| struct sha256_ctx *hash, |
| struct dsa_signature *signature); |
|
|
| int |
| dsa_sha1_verify(const struct dsa_public_key *key, |
| struct sha1_ctx *hash, |
| const struct dsa_signature *signature); |
|
|
| int |
| dsa_sha256_verify(const struct dsa_public_key *key, |
| struct sha256_ctx *hash, |
| const struct dsa_signature *signature); |
|
|
| int |
| dsa_sha1_sign_digest(const struct dsa_public_key *pub, |
| const struct dsa_private_key *key, |
| void *random_ctx, nettle_random_func *random, |
| const uint8_t *digest, |
| struct dsa_signature *signature); |
| int |
| dsa_sha256_sign_digest(const struct dsa_public_key *pub, |
| const struct dsa_private_key *key, |
| void *random_ctx, nettle_random_func *random, |
| const uint8_t *digest, |
| struct dsa_signature *signature); |
|
|
| int |
| dsa_sha1_verify_digest(const struct dsa_public_key *key, |
| const uint8_t *digest, |
| const struct dsa_signature *signature); |
|
|
| int |
| dsa_sha256_verify_digest(const struct dsa_public_key *key, |
| const uint8_t *digest, |
| const struct dsa_signature *signature); |
|
|
| |
| int |
| dsa_generate_keypair(struct dsa_public_key *pub, |
| struct dsa_private_key *key, |
| |
| void *random_ctx, nettle_random_func *random, |
| void *progress_ctx, nettle_progress_func *progress, |
| unsigned p_bits, unsigned q_bits); |
|
|
| #ifdef __cplusplus |
| } |
| #endif |
|
|
| #endif |
|
|