X-Git-Url: https://git.cryptolib.org/avr-crypto-lib.git?a=blobdiff_plain;f=dsa%2Fdsa.h;h=69fa32d708bb37f9b71c5ce7961aee1d26b0baa1;hb=3a9f9d918fb95474996af535c225a7e187d88372;hp=6a894f6c8e0d487b164c6d7efb208efa1e971b5b;hpb=b8d6b2bd3ddea45506f584c7d44fe5fff0557ed1;p=avr-crypto-lib.git diff --git a/dsa/dsa.h b/dsa/dsa.h index 6a894f6..69fa32d 100644 --- a/dsa/dsa.h +++ b/dsa/dsa.h @@ -32,6 +32,7 @@ typedef struct{ typedef bigint_t dsa_pubkey_t; typedef bigint_t dsa_privkey_t; + typedef struct{ bigint_t r; bigint_t s; @@ -43,17 +44,19 @@ typedef struct{ dsa_domainparameters_t domain; } dsa_ctx_t; +typedef uint8_t(*rand_func_ptr_t)(void); + #define DSA_SIGNATURE_OK 1 #define DSA_SIGNATURE_FAIL 0 -uint8_t dsa_sign_bigint(dsa_signature_t* s, const bigint_t* m, - const dsa_ctx_t* ctx, const bigint_t* k); -uint8_t dsa_sign_message(dsa_signature_t* s, const void* m, uint16_t m_len_b, - const hfdesc_t* hash_desc, const dsa_ctx_t* ctx, - const uint8_t(*rand_in)(void)); -uint8_t dsa_verify_bigint(const dsa_signature_t* s, const bigint_t* m, - const dsa_ctx_t* ctx); -uint8_t dsa_verify_message(const dsa_signature_t* s, const void* m, uint16_t m_len_b, - const hfdesc_t* hash_desc, const dsa_ctx_t* ctx); +uint8_t dsa_sign_bigint(dsa_signature_t *s, const bigint_t *m, + const dsa_ctx_t *ctx, const bigint_t *k); +uint8_t dsa_sign_message(dsa_signature_t *s, const void *m, uint16_t m_len_b, + const hfdesc_t *hash_desc, const dsa_ctx_t *ctx, + const rand_func_ptr_t rand_in); +uint8_t dsa_verify_bigint(const dsa_signature_t *s, const bigint_t *m, + const dsa_ctx_t *ctx); +uint8_t dsa_verify_message(const dsa_signature_t *s, const void *m, uint16_t m_len_b, + const hfdesc_t *hash_desc, const dsa_ctx_t *ctx); #endif /* DSA_H_ */