26 #include "libssh/crypto.h" 
   30 #define DH_CLIENT_KEYPAIR 0 
   31 #define DH_SERVER_KEYPAIR 1 
   37 int ssh_dh_get_parameters(
struct dh_ctx *ctx,
 
   38                           const_bignum *modulus, const_bignum *generator);
 
   39 int ssh_dh_set_parameters(
struct dh_ctx *ctx,
 
   40                           const bignum modulus, 
const bignum generator);
 
   42 int ssh_dh_keypair_gen_keys(
struct dh_ctx *ctx, 
int peer);
 
   43 int ssh_dh_keypair_get_keys(
struct dh_ctx *ctx, 
int peer,
 
   44                             const_bignum *priv, const_bignum *pub);
 
   45 int ssh_dh_keypair_set_keys(
struct dh_ctx *ctx, 
int peer,
 
   46                             const bignum priv, 
const bignum pub);
 
   48 int ssh_dh_compute_shared_secret(
struct dh_ctx *ctx, 
int local, 
int remote,
 
   54 int ssh_dh_init(
void);
 
   55 void ssh_dh_finalize(
void);
 
   57 int ssh_dh_import_next_pubkey_blob(
ssh_session session,
 
   61 int ssh_dh_get_current_server_publickey_blob(
ssh_session session,
 
   64 int ssh_dh_get_next_server_publickey_blob(
ssh_session session,
 
   72 int ssh_fallback_group(uint32_t pmax, bignum *p, bignum *g);
 
   73 bool ssh_dh_is_known_group(bignum modulus, bignum generator);