summaryrefslogtreecommitdiff
path: root/lib/lib5.h
diff options
context:
space:
mode:
authorBenedict <benedict@0xb8000.de>2016-12-09 18:28:21 +0100
committerBenedict <benedict@0xb8000.de>2017-02-21 13:00:26 +0100
commit6e5aaceed5c89e323acc1ce701f8cdf573058c46 (patch)
tree852da958ee723254f8e00601c55de52300791174 /lib/lib5.h
parentc735b384e726558608b5442bd42f0df7a7e2daf6 (diff)
dh: added a dh bignum implementation based on openssl
Diffstat (limited to 'lib/lib5.h')
-rw-r--r--lib/lib5.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/lib5.h b/lib/lib5.h
index d78da21..da3868d 100644
--- a/lib/lib5.h
+++ b/lib/lib5.h
@@ -19,6 +19,17 @@ struct dh_param {
mpz_t s2;
};
+struct dh_param_bignum {
+ BIGNUM *A;
+ BIGNUM *B;
+ BIGNUM *a;
+ BIGNUM *b;
+ BIGNUM *p;
+ BIGNUM *g;
+ BIGNUM *s1;
+ BIGNUM *s2;
+};
+
// global openssl context for auxaliry results
BN_CTX *ctx;
BIO *out;
@@ -55,6 +66,11 @@ void dh_generate_secret_keys(struct dh_param *dh);
void dh_generate_public_keys(struct dh_param *dh);
void dh_get_session_key(struct dh_param *dh);
void do_dh_key_exchange(struct dh_param *dh);
+void dh_init_bignum(struct dh_param_bignum *dh);
+void dh_generate_secret_keys_bignum(struct dh_param_bignum *dh);
+void dh_generate_public_keys_bignum(struct dh_param_bignum *dh);
+void dh_get_session_key_bignum(struct dh_param_bignum *dh);
+void do_dh_key_exchange_bignum(struct dh_param_bignum *dh);
void sha1_key_from_dh(struct dh_param *dh, unsigned char *key);
void dh_mitm(struct dh_param *dh);
int rsa_decrypt_bignum(BIGNUM *message, BIGNUM *res, struct rsa_key_bignum *private);