X-Git-Url: https://git.cryptolib.org/?a=blobdiff_plain;f=dsa%2Fdsa.h;h=69fa32d708bb37f9b71c5ce7961aee1d26b0baa1;hb=2c909fca2a13cd76a526515bda5d0292483d7a55;hp=121341c691664247e66e771f781323f7728770b9;hpb=7b5401ab9ce23a5da1de8b6c7de3a1aa20ac4cf8;p=avr-crypto-lib.git diff --git a/dsa/dsa.h b/dsa/dsa.h index 121341c..69fa32d 100644 --- a/dsa/dsa.h +++ b/dsa/dsa.h @@ -21,8 +21,8 @@ #define DSA_H_ #include -#include "hfal/hfal-basic.h" -#include "bigint/bigint.h" +#include "hfal-basic.h" +#include "bigint.h" typedef struct{ bigint_t p; @@ -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_ */