]>
git.ipfire.org Git - thirdparty/openssl.git/blob - crypto/dh/dh_locl.h
2 * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
4 * Licensed under the OpenSSL license (the "License"). You may not use
5 * this file except in compliance with the License. You can obtain a copy
6 * in the file LICENSE in the source distribution or at
7 * https://www.openssl.org/source/license.html
10 #include <openssl/dh.h>
14 * This first argument is used to pick up errors when a DH is passed
15 * instead of a EVP_PKEY
21 long length
; /* optional */
22 BIGNUM
*pub_key
; /* g^x % p */
23 BIGNUM
*priv_key
; /* x */
25 BN_MONT_CTX
*method_mont_p
;
26 /* Place holders if we want to do X9.42 DH */
33 CRYPTO_EX_DATA ex_data
;
34 const DH_METHOD
*meth
;
42 int (*generate_key
) (DH
*dh
);
43 int (*compute_key
) (unsigned char *key
, const BIGNUM
*pub_key
, DH
*dh
);
46 int (*bn_mod_exp
) (const DH
*dh
, BIGNUM
*r
, const BIGNUM
*a
,
47 const BIGNUM
*p
, const BIGNUM
*m
, BN_CTX
*ctx
,
50 int (*finish
) (DH
*dh
);
53 /* If this is non-NULL, it will be used to generate parameters */
54 int (*generate_params
) (DH
*dh
, int prime_len
, int generator
,